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:

  • You can code events in data entry or data reporting applications to export selected data values, or the entire contents of a DataWindow object, to a structured XML document. The structure of the XML document can be customized for use by other internal or external applications, processes, or systems.

  • You can add a method to a custom class user object that uses DataStore objects for server-side database processing or middle-tier management of a client-side DataWindow object. The method would export data to XML, which could then be processed by a different component or subsystem, such as an Enterprise JavaBeans component or a Web service.

XML 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 Using PowerBuilder 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.