XML filens struktur
Det finns ett antal regler som en XML fil måste följa:
  
Alla tag måste avslutas. 
I HTML finns det tag som inte har ett slut, t.ex. <br>. Detta går 
  inte för sig i XML (och XHTML); om en tag inte har något innehåll 
  och slut måste den i alla fall avslutas. I XHTML betyder detta att <br> 
  måste skrivas som <br />
Om valideringen kräver att det finns en viss nod, men vi inte har data 
  till denna måste den i alla fall skrivas in. Om vi har en validering som 
  kräver att featuring noden har ett värde i skivfilen måste 
  det i så fall skrivas ut. Det finns två sätt att avsluta tomma 
  tags:
Långa versionen
xml3_1.xml
<?xml version="1.0"?>  
<records>
  	<record>
    		<artist>Santana</artist>
    		<title>Supernatural</title>
    		<songs>
      			<song>
        				<length>5.51</length>
        				<title>(Da Le) Taleo</title>
        				<featuring></featuring> 
      			</song>
      			<song>
        				<length>5.48</length>
        				<title>Love Of My Life</title>
        				<featuring>Dave Metthews </featuring> 
      			</song>
    		</songs>
  	</record> 
</records>
 Om du har IE 5.0 eller nyare kan du klicka här för att se filen i praktiken
Om du har IE 5.0 eller nyare kan du klicka här för att se filen i praktiken
  
Om du tittar på koden i IE, kan du se att den automatiskt omvandlat koden till kortare formen.
  
  Kortare version
  
xml3_2.xml
<?xml version="1.0"?>  
<records>
  	<record>
    		<artist>Santana</artist>
    		<title>Supernatural</title>
    		<songs>
      			<song>
        				<length>5.51</length>
        				<title>(Da Le) Taleo</title>
        				<featuring />
      			</song>
      			<song>
        				<length>5.48</length>
        				<title>Love Of My Life</title>
        				<featuring>Dave Metthews </featuring> 
      			</song>
    		</songs>
  	</record> 
</records>
 Om du har IE 5.0 eller nyare kan du klicka här för att se filen i praktiken
Om du har IE 5.0 eller nyare kan du klicka här för att se filen i praktiken
  
Filen måste vara "well-formed"
Om vi jämför med html så kan vi konstatera att följande 
  konstruktion inte är well-formed:
  <b><i>En bold och italic text</b></i>
  eftersom tagsen inte avslutas i omvänd ordning till hur de börjades.
  Denna konstruktion är däremot well-formed:
  <b><i>En bold och italic text</i></b> 
  
Nedan är ett fragment av en fil som inte är well-formed (observera 
  hur song och title tagsen matchar varandra): 
xml3_3.xml
<?xml version="1.0"?>  
<records>
  	<record>
    		<artist>Santana</artist>
    		<title>Supernatural</title>
    		<song>
      			<length>5.51</length>
      			<title>
        				(Da Le) Taleo
      			</song>
    		</title>
  	</record> 
</records>
 Om du har IE 5.0 eller nyare kan du klicka här för att se filen i praktiken
Om du har IE 5.0 eller nyare kan du klicka här för att se filen i praktiken
  
Det måste finnas en (och endast en) rot nod
Varje fil måste ha en s.k. rot nod, som startar och avslutar hela 
  filen. I skivexemplet är <records> noden rotnod, och i produktexemplet 
  är det <products>
Rot noden måste omsluta alla andra noder och det får bara finnas 
  en. Jämför gärna med HTML:s <html> tag som omsluter hela 
  sidans kod.Efter rotnodens avslutningstag får det inte finnas något 
  data och före starttaggen får det bara finnas s.k. "preprocessing 
  instructions" (PI), t.ex. teckenuppsättning.
En vanlig (men inte obligatorisk) PI är 
  <?xml version="1.0"?> 
  som säger åt XML parsern vilken XML version som används.
Attributen måste omslutas med " (citationstecken)
Om man använder attribut måste dessa vara "quoted", d.v.s 
  följande är inte korrekt:
<song length=5.44>XXX</song>
medan detta är
<song length="5.44">XXX</song>
Ovanstående är egentligen inte sant, men du får ett betydligt enklare liv om du tror att det är sant...
Skriv helst tags mm på engelska
Jo, jag vet att vi lever på 21 århundradet och att det var decennier 
  sedan datorerna var sjubitars, men...
...jänkarna har alldrig fattat varför någon vill sätta 
  prickar och bollar ovanför bokstäverna så det så. Vi får 
  leva med det...
Innehållet (datat) i flerna kan dock vara internationellt om vi ser till 
  att skriva följande PI i början av filen
  <?xml version="1.0" encoding="iso-8859-1" ?>