Class XmlNavigateCommand

java.lang.Object
com.streamconverter.command.AbstractStreamCommand
com.streamconverter.command.impl.xml.XmlNavigateCommand
All Implemented Interfaces:
IStreamCommand

XML Navigate Command for applying transformations to XML data.

This command navigates through XML structures and applies transformations using rules while preserving the overall XML structure. It identifies specific elements using TreePath slash-delimited path expressions (e.g., product/name) and applies IRule transformations to the text content of matching nodes.

The full XML event stream — including the XML declaration, all elements, attributes, and text nodes — is written to the output. Only character data at nodes whose path exactly matches the configured TreePath is transformed by the rule; all other events are passed through unchanged.

  • Method Details

    • create

      public static XmlNavigateCommand create(TreePath treePath, IRule rule)
      Factory method for creating an XML navigation command with TreePath and rule.
      Parameters:
      treePath - the TreePath to select elements
      rule - the transformation rule to apply to selected elements
      Returns:
      an XmlNavigateCommand that transforms the specified TreePath elements with the given rule
      Throws:
      IllegalArgumentException - if treePath or rule is null
    • execute

      public void execute(InputStream inputStream, OutputStream outputStream) throws IOException
      Description copied from class: AbstractStreamCommand
      Executes the command on the provided input stream and writes the result to the output stream.
      Specified by:
      execute in interface IStreamCommand
      Specified by:
      execute in class AbstractStreamCommand
      Parameters:
      inputStream - The input stream to read data from.
      outputStream - The output stream to write data to.
      Throws:
      IOException - If an I/O error occurs during the execution of the command.