XML schema overview

The TADDM XML schema flattens the hierarchical structure of the Common Data Model into an XML document, with most contained objects embedded within the document.

TADDM API methods return an XML document containing a list of objects specified by the Model Query Language (MQL) query, where applicable. This document is larger than the original data but is easier to search using tools such as XQuery or XPath.

The TADDM SDK represents the dependencies between objects using independent dependency objects, which connect providers with dependent services using object IDs.

When formatting XML documents for use with the TADDM SDK, keep in mind the following considerations:
  • XML is a hierarchical model and does not permit cycles.
  • The property_nameX is a ModelObject.
  • The abbreviated_searched_class_name is the searched class name and not the actual class name.
  • The xsi:type and GUID are XML attributes, and are not represented as separate elements.
  • Array: When the element is part of an array, N is its index.

The following table describes the XML document structure:

Table 1. XML document structure
XML Description
<?xml version="1.0" encoding="UTF-8"?>

Header

  <results
    xmlns="urn:www-collation-com:1.0"
    xmlns:coll="urn:www-collation-com:1.0"
    xmlns:xsi="http://www.w3.org/2001/
      XMLSchemainstance"
    xsi:schemaLocation=
      "urn:www-collation-com:1.0
    urn:www-collation-com:1.0/results.xsd">

Top-level result node, including the XML namespace specification

    <abbreviated_searched_class_name
      xsi:type="full class name"
      array="N"
      LINK="guid"
      lastModified="Last Modified Time in ms"
      guid="unique model object id">

Class attributes, such as last modified time and unique object ID

      <property_name1>"text value"
        </property_name1>
      ...
      <property_nameX
        xsi:type="full class name"
        guid="unique model object id">
        <property_name1>"text
        value"</property_name1>
        ...
        <property_nameN>"text
        value"</property_nameN>
      <property_nameX/>
      ...
      <property_nameN>"text value"
        </property_nameN>
      <property_nameQ/>

Attribute values and embedded objects

    </abbreviated_searched_class_name>

End of values

</results>

End of results