В XML файл описваш списъци/йерархии от структури за данни както и техните данни. Това е най-простият вариант:
GeSHi (XML):
<?xml version="1.0" encoding="utf-8"?>
<Address>
<Recipient>Mr. Walter C. Brown</Recipient>
<House>49</House>
<Street>Featherstone Street</Street>
<Town>LONDON</Town>
<PostCode>EC1Y 8SY</PostCode>
<Country>UK</Country>
</Address>
Би могъл в XML файла да укажеш каква "XML schema" ще се използва:
GeSHi (XML):
<?xml version="1.0" encoding="utf-8"?>
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Address">
<xs:complexType>
<xs:sequence>
<xs:element name="Recipient" type="xs:string" />
<xs:element name="House" type="xs:string" />
<xs:element name="Street" type="xs:string" />
<xs:element name="Town" type="xs:string" />
<xs:element name="County" type="xs:string" minOccurs="0" />
<xs:element name="PostCode" type="xs:string" />
<xs:element name="Country">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="FR" />
<xs:enumeration value="DE" />
<xs:enumeration value="ES" />
<xs:enumeration value="UK" />
<xs:enumeration value="US" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
В "XML schema"-та се дефинират правила и ограничения за създаване на даден тип XML документ и неговите елементи (
http://en.wikipedia.org/wiki/XML_schema ). Ето някои готови такива:
http://en.wikipedia.org/wiki/List_of_XML_schemasСлед като си създал XML файл можеш да го "претърсваш" за информация с XPath (
http://en.wikipedia.org/wiki/XPath ), чрез сравнително прост език:
GeSHi (XML):
*[@color]
ще намери всички елементи, които имат атрибут "color". (
http://www.w3schools.com/XPath/xpath_examples.asp ).
За обхождане на "колекции от елементи" можеш да използваш XQuery:
http://en.wikipedia.org/wiki/XQuery#ExamplesНе на последно място, можеш да трансформираш данните и структурите от този XML в друг структурен формат - прим. ХТМЛ (което е също XML със зададена схема), друг XML, прост текст и т.н. За трансформацията се използва XSLT -
http://en.wikipedia.org/wiki/XSLT .