Simple XML

From HandWiki

Simple XML is a variation of XML containing only elements. All attributes are converted into elements. Not having attributes or other xml elements such as the XML declaration / DTDs allows the use of simple and fast parsers. This format is also compatible with mainstream XML parsers.

Structure

For example:

<Agenda>
    <type>gardening</type>
    <Activity>
      <type>Watering</type>
      <golf-course>
        <time>6:00</time> 
      </golf-course>
      <yard>
        <time>7:00</time>
      </yard>
    </Activity>
    <Activity> 
      <type>cooking</type>
      <lunch> 
        <time>12:00</time>
      </lunch>
    </Activity>
  </Agenda>

would represent:

<?xml version="1.0" encoding="UTF-8"?>
  <Agenda type="gardening">
    <Activity type="Watering">
      <golf-course time="6:00"/>
      <yard time="7:00"/>
    </Activity>
    <Activity type="cooking">
      <lunch time="12:00"/>
    </Activity>
  </Agenda>

Validation

Simple XML uses a simple XPath list for validation. The XML snippet above for example, would be represented by:

 /Agenda/type|(Activity/type|(*/time))

or a bit more human readable as:

 /Agenda/type
 /Agenda/Activity/type
 /Agenda/Activity/*/time

This allows the XML to be processed as a stream (without creating an object model in memory) with fast validation.

References

  1. http://www.w3.org/XML/simple-XML.html