 Källkoden för /anders.enges/xml/xml3.asp
 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" -->