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.