Try OpenEdge Now
skip to main content
Working with XML
Reading and Writing XML Data from Temp-Tables and ProDataSets : Introduction


The XML features of temp-tables and ProDataSets allow you to take advantage of their rich relational features while providing a standards-based method for sharing data and schema with remote clients. These XML features include the following:
*Read XML data, XML Schema, or both to populate an empty temp-table or ProDataSet.
*Read XML data, XML Schema, or both into temp-tables and ProdataSets that already contain data and schema. For ProDataSets, the XML document can also contain before-image information.
*Write XML data, XML Schema, or both from a temp-table or ProDataSet to XML documents. XML Schema is written using the XML Schema Definition language (XSD). If ProDataSet temp-table buffers have before-image information, that information can also be written.
*Perform round-trip XML write/reads. ABL temp-table and ProDataSets are feature-rich and their definitions cannot be completely represented by basic XSD. ABL adds ABL-specific attributes to the XML Schema it writes so that temp-tables and ProDataSets can be fully restored when the XML Schemas are read back into the temp-table or ProDataSet objects.
The XML features are available as attributes and methods on:
*Temp-table objects
*Temp-table buffer objects
*ProDataSet objects
Note: The AVM can also serialize data from these ABL data objects to and from JSON (JavaScript Object Notation). For more information on this feature, see OpenEdge Development: Working with JSON.
During an XML read, only the XML elements and attributes relevant to ABL temp-tables and ProDataSets are used. If the source XML contains extra information and you subsequently write the XML document from ABL, it might differ from the original XML in the following ways:
*Original formatting (white space, line indents, line breaks) is ignored
*Elements or attributes that are not relevant for ABL are ignored
Note: If preserving the original XML data is important to your application, you may want to use the ABL DOM or SAX interfaces for more control over your read and write operations.
* Use cases
* Other XML features