Minimal XML

Process Leaves

 

Public Description (Wiki Format)

 

What is it?

Minimal XML is a way of using XML which assures greater chance of data interoperability. It is valid XML in every way. But MInXML does not allow all of the mode of use that XML by itself affords. MInXML is limited to just those things needed to accomplish data storage and exchange.

Goal of Minimal XML

The goal is quite simple: carry data from one place to another, or from one time to another, accurately, reliably, and in a way that is resilient in the face of continual versioning of the file format. XML can be used for many things, and this is one of them.

Assumptions

  • The data being carried is located by some form of identifier or address.
  • Once a location (address) for data is defined, the meaning of that location remains consistent in all future versions of the file.
  • New locations can be added into the file with the understanding that older readers of the file format will ignore those extra tags.

Location, location, location

Data is identified by an address to a location. The following two XML fragments are equivalent. Fragment 1:

  <car id="99712">
    <make>Honda</make>
    <model>Accord</model>
    <color>Baby Blue</color>
  </car>
and fragment 2:
  <car id="99712">
    <model>Accord</model>
    <color>Baby Blue</color>
    <make>Honda</make>
  </car>

The difference is that the sub elements (make, color, and model) are in different orders. A program reading this does not really care about the order of these tags. The car, has a color of "Baby Blue" regardless of whether that is the first, second, or third tag within the car structure.

The reason that the order does not matter is that the elements are accessed by name (address) not by position. In Minimal XML, position does not matter, and that is find for most uses of transporting data from on place to another.

Choose: data or container

A given tag can either hold text data, or it can hold other tags, but never both. May uses of XML imply this without making it a requirement. in the above examples, model, color, and make are tags that hold data. They are allowed to have any string (normal XML encoding) but can not have any sub tags. The tag "car" is however a container, and the only thing of significance that it contains is other tags. In reality, there is white space (carriage returns and tabs) between the tags. This white space allows for "formatting" of the file, that is putting each data tag on it's own line, and indenting them to help show the structure. Those white space characters help to make the file more readable, but must not have any significance on the data itself.

Leaflets (Leaflet)

 

Public Links (Link Format)