XML support in the DataWindow painter

PowerBuilder supports both the export and import of XML in DataStore and DataWindow objects using XML template objects. You construct XML templates for export and import graphically in the Export/Import Template view for XML. Each template you create is encapsulated in the DataWindow object. A template enables you to specify the XML logical structure of how the row data iterates inside the root element of the XML document.

The possible uses of this feature include the following:

NoteXML services In addition to the support for XML in the DataWindow painter, PowerBuilder also provides the PowerBuilder Document Object Model (PBDOM). For more information, see the chapter on XML services in Application Techniques.

Export templates

An XML export template lets you customize the XML that is generated.

You can specify optional XML and document type declarations that precede the root element in the exported XML, as well as the logical structure and nesting level of iterative DataWindow row data inside the root element. The children of the root element can contain elements, character references, and processing instructions as well as the row data, using explicit markup. For more information, see “Header and Detail sections”.

If the exported XML is used by different applications or processes, you can define a separate export template for each use.

Import templates

You need to create an import template if you want to import data that does not match the DataWindow column definition or is associated with a schema, or if you want to import attribute values.

Only the mapping of column names to element and attribute names is used for import. All other information in the template is ignored.

Validating XML

XML export and import do not validate the data after export or before import. You can use the XMLParseFile and XMLParseString functions to validate an XML file or string against a DTD or XML schema before proceeding with additional processing. If no DTD or schema is included or referenced, XMLParseFile and XMLParseString check whether the content is well-formed XML.