ConvertToXML and ConvertFromXML Nodes

ConvertToXML nodes convert non-XML input (like a CSV file or an EDI message type) to XML; ConvertFromXML nodes convert XML input to a non-XML format. Both nodes use Stylus Studio built-in adapters or user-defined converters to convert input.

Figure 424. ConvertToXML Node in retrieveData.pipeline

Specifying an Adapter URL

Both ConvertToXML and ConvertFromXML nodes are defined by specifying an adapter URL that evaluates to either a

  • Stylus Studio built-in adapter ( adapter:CSV or adapter:EDI, for example) or a
  • User-defined converter ( adapter:file:///c:/XMLconverters/myConverter.conv, for example)

You can manually type a URL in the node's Adapter URL property, but the adapter URL syntax can be complex, and it is easy to make errors or to leave settings that you might wish to use unspecified. For example, a completely specified adapter URL for a CSV adapter might look like this:

adapter:CSV:newline=cr:sep=|:first=yes:number=yes:collapse=yes

The recommended way to specify an adapter URL is to select the built-in adapter or user-defined converter from the Select XML Converter dialog box, which you display by clicking the Adapter URL field, and then clicking the more button ( ) when it appears.:

Figure 425. Select XML Converter Dialog Box

The value in the URL field changes when you select an adapter. Properties and their settings (like newline=cr in Figure 425) are displayed only if you change a default value.

Creating a ConvertToXML Node

You can create a ConvertToXML node manually, by dragging the ConvertToXML icon from the Toolbox pane and dropping it on the XML pipeline canvas. See Create a ConvertToXML Node for order.edi for a description of this procedure.

ConvertToXML nodes are created automatically if an adapter URL has been used as a data source for another document represented in the XML pipeline, or if you drag a converted document from the Project window and drop it on the canvas. The Extract full order information XQuery node in the order.pipeline uses two non-XML data sources that convert text and EDI message types to XML for processing. When this XQuery is added to an XML pipeline, its data sources, represented as ConvertToXML nodes, also appear in the XML pipeline.

Input Port

ConvertToXML and ConvertFromXML nodes have a single input port that you use to specify the file to be converted to XML (or vice versa). You can specify a default value, or the value can be dynamic (the output from another node in the XML pipeline, for example).

Output Ports

ConvertToXML and ConvertFromXML nodes have a single output port, used to specify what to do with the result of the transformation. You can

  • Use the Copy to URL property to write the output to a file system
  • Pipe the output to another node (like an XQuery transformation, for example)
  • Or both

For More Information

To learn more about Stylus Studio built-in adapters and converter technology, see Chapter 3Converting Non-XML Files to XML.

 
Free Stylus Studio XML Training:
W3C Member