XML Data Exchange Overview

XML (eXtensible Markup Language) is a standard text formatting language derived from SGML (the Standard Generalized Markup Language, ISO 8879). It was originally designed to represent documents for electronic publishing, but it has been adapted to represent structured data for storage and transmission on networks. Details about XML can be found at http://www.w3.org/XML. The complete specifications for XML can be found at http://www.w3.org/XML/Core/#Publications.

The GPL implementation of XML is primarily intended to simplify the storage and bi-directional exchange of structured data between a host computer and a Guidance Controller. For example, the information contained in both simple and complex data structures (such as GPL Objects) can be easily and efficiently converted to an XML text file. This file can be stored in flash or transmitted to a host computer where it can be decoded using standard XML tools. Conversely, an XML file generated on a host computer can be read by GPL and converted to a tree of information that is readily accessible by a GPL application program. This data can be used to reconstruct application specific Objects or other data structures.

Given the intended use of XML, the GPL implementation does not include the extensive support required for general document specification and editing. In particular, it has only limited support for namespaces and entities.

The GPL methods and properties for handling XML are layered on top of the open-source libxml2 library, available at http://xmlsoft.org. Links to documentation for this library may be found at that website.

The XML text file contains 7-bit ASCII or UTF-8 characters that encode the data. Symbols and strings enclosed in < > have special meaning to XML.

The following lines illustrate some sample XML text:

<?xml version="1.0"?>
<procedureControl cellId="TestCell">
<command>start</command>
</procedureControl>

The first line contains a comment indicating the XML version. The next line begins an entity named procedureControl that has an attribute named cellId with a value of "TestCell". It is followed by a nested entity named command with the value of "start". The final line ends the procedureControlentity. Entities and attributes are part of the Document Object Model described in the next section.