Az XML dokumentum szerkezete a következő:
Elsőként az XML deklaráció jön, benne az XML verzióval és a karakterkódolással.
Ezután az u.n. gyökér (root) elem köverkezik.
Majd a gyerek (child) elemek sorozata. A gyerek felett a szülő (parent), mellette a testvér (sibling) elemek vannak.
<?xml version="1.0" encoding="ISO-8859-2"?> <book> <bookinfo> <title>Dokumentumkezelés</title> </bookinfo> <chapter id="markup"> <title>Markup nyelvek</title> <para> A <emphasis>markup</emphasis> nyelvek arra szolgálnak, hogy a </para> </chapter> </book>
Az XML deklarációnak nincsen záró tag-ja. Az XML deklaráció nem része magának az XML dokumentumnak.
Az XML tag-ek megkülönböztetik a kis- és nagybetűket! Ezért a kezdő és zárótagokat pontosan ugyanúgy kell megadni.
<Ezhibas>Mert a kezdőtag nagybetűvel, a zárótag kisbetűvel kezdődik</ezhibas> <Ezjo>Mert <ezjo>azonos betűvel</ezjo> kezdődnek</Ezjo>
A dokumentumoknak pontosan egy gyökér (root) eleme kell legyen.
<root> <child>gyerek elem</child> <child>ismétlődhet</child> </root> <root> Ez hiba: gyökér elem nem ismétlődhet </root>
Az XML tag-eknek taratlmazhatnak attribútumokat, de azok értékeit mindig szigorúan zárójelezni kell.
<?xml version="1.0" encoding="ISO-8859-2"?> <note date="12/11/2002" id="1"> <to>Pista</to> <from>Jani</from> </note>
A HTML-lel szemben, az XML-ben az üreshelyek megőrződnek. Az alábbi két mondat ekvivalens HTML-ben, de eltérő XML-ben:
<message>Jó napot kívánok!</message> <message>Jó napot kívánok!</message>
Számos DOS/Windows alkalmazás a sorok végét a CR LF karakterpárral jelöli. A UNIX világban csak a LF, a Macintosh alkalmazásoknál a CR alkalmatos. Az XML alkalmazásokban a sor végét a LF karakter jelöli.
XML elem (element)-nek nevezünk mindent, egy kezdő tagtól a záró tagig. Az elemeknek attribútumai lehetnek és tartalma (content) van. A tartalom lehet elem, egyszerű, vagy vegyes. Speciálisan a tartalom lehet üres is. Az attribútiumok mindig string tipusúak.
Az elemek nevei nem tartalmazhatnak üreshelyeket, kettőspontot, és nem kezdődhetnek számokkal, írásjelekkel, valamint az xml szó kis és nagybetűs alakjaival.