Källkoden för /anders.enges/xml/xml3.asp
<!--#include file="../inc/navstuff.asp" -->
<h4>XML filens struktur</h4>
<p>Det finns ett antal regler som en XML fil måste följa:</p>

  
<h4>Alla tag måste avslutas. </h4>
<p>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 /></p>
<p>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 <b>featuring</b> noden har ett värde i skivfilen måste
   det i så fall skrivas ut. Det finns två sätt att avsluta tomma
   tags:</p>
<p>Långa versionen</p>
<%  show "xml3_1.xml" %>  
<p>Om du tittar på koden i IE, kan du se att den automatiskt omvandlat koden till kortare formen.</p>
   <p>Kortare version</p>
  
<%  show "xml3_2.xml" %>  
<h4>Filen måste vara "well-formed"</h4>
<p>Om vi jämför med html så kan vi konstatera att följande
   konstruktion inte är well-formed:<br>
   <b><b><i>En bold och italic text</b></i></b><br>
   eftersom tagsen inte avslutas i omvänd ordning till hur de börjades.<br>
   Denna konstruktion är däremot well-formed:<br>
   <b><b><i>En bold och italic text</i></b> </b><br>
   <br>
</p>
<p>Nedan är ett fragment av en fil som inte är well-formed (observera
   hur song och title tagsen matchar varandra):
<%  show "xml3_3.xml" %>  

<h4>Det måste finnas en (och endast en) rot nod</h4>
<p>Varje fil måste ha en s.k. <b>rot</b> nod, som startar och avslutar hela
   filen. I skivexemplet är <records> noden rotnod, och i produktexemplet
   är det <products></p>
<p>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.</p>
<p>En vanlig (men inte obligatorisk) PI är <br>
   <?xml version="1.0"?> <br>
   som säger åt XML parsern vilken XML version som används.</p>
<h4>Attributen måste omslutas med " (citationstecken)</h4>
<p>Om man använder attribut måste dessa vara "quoted", d.v.s
   följande är inte korrekt:</p>
<p><song length=5.44>XXX</song></p>
<p>medan detta är</p>
<p><song length=<b>"5.44"</b>>XXX</song></p>
<p><i>Ovanstående är egentligen inte sant, men du får ett betydligt enklare liv om du tror att det är sant...</i></p>
<h4>Skriv helst tags mm på engelska</h4>
<p>Jo, jag vet att vi lever på 21 århundradet och att det var decennier
   sedan datorerna var sjubitars, men...</p>
<p>...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...</p>
<p>Innehållet (datat) i flerna kan dock vara internationellt om vi ser till
   att skriva följande PI i början av filen<br>
   <b><?xml version="1.0" encoding="iso-8859-1" ?> </b></p>
   <!--#include file="../inc/footer.asp" -->