 Källkoden för /anders.enges/xml/xml2.asp
 Källkoden för /anders.enges/xml/xml2.asp 
<!--#include file="../inc/navstuff.asp" -->
<h4>XML filens uppbyggnad -tags (noder)</h4>
<p>En xml fil som används för att uttrycka samma produktinformation 
    som ASCII filen i föregående kapitel kan tänkas se ut på följande 
    sätt</p>
    <%  show "xml2.xml" %>
    <p>En van HTML kodare känner delvis igen sig, såtillvida att XML 
        är ett tag-baserat system. Dokumentet har alltid en <b>rot </b>nod, i 
        detta fall <b>products</b> som alla andra element måste finnas under. 
        Jämför gärna med HTML systemet som har en rotnod som heter 
        <b>html</b>. Till skillnad från HTML så har dock XML inga speciella 
        regler för vad tagsen skall heta. Detta kan vid första anbllicken 
        verka som en mardröm för den som haft svårt att lära 
        sig de vanligaste HTML tagsen - XML är alltså ett system där 
        man kan hitta på siina egna tags vartefter. Fullt så illa är 
        det dock inte som vi skall se senare...</p>
  
<h4>XML filens uppbyggnad -attribut</h4>
<p>Ovanstående fil innehåller inte mer information än motsvarande 
    ASCII fil. En orsak till detta är att den inte innehåller några 
    attribut (metadata - data om datat). Nedan kommer en variant där vi förutom 
    tagsen har gett dessa attribut. För priset finns det ett valuta-attribut, 
    för antal vinns det ett attribut som beskriver måttenheten.</p>
    <%  show "xml2_2.xml" %>    
<p>Troligtvis sitter nu någon och suckar: "Inte nog med att man kan hitta 
    på egna tags - man får hitta på sina egna attribut dessutom - vilken 
    mardröm!" Fullt så illa är det inte.</p>
<h4>En till många relationer i en XML fil</h4>
<p>En XML fil kan även uttrycka en till många relationer utan problem. 
    Se nedanstående kodfragment ur en XML fil:</p>
    
<%  show "xml2_3.xml" %>    
<p>Vi ser tydligt en till många relationen - en skiva har många låtar</p>
<p>Datat består av en rot: <b>records<br>
    </b>En <b>records</b> fil består av ett antal <b>record </b>noder<br>
    En <b>record </b>nod betår av en <b>artist</b> nod, en <b>title</b> nod 
    och en <b>songs</b> nod<br>
    En <b>songs </b>nod består av ett antal <b>song</b> noder<br>
    En song nod har ett attribut (<b>length</b>) som säger hur lång låten 
    är</p>
<h4>Noder eller attribut?</h4>
<p>Det är inte alltid givet vad som är noder och vad som är atribut. 
    Nedan kommer en annan variant på samma tema som ovanstående:</p>
  
<%  show "xml2_4.xml" %>        
<p>En tumregel man kan använda är att om det bara finns några 
    få alternativ, t.ex. FIM eler EUR, så kan man sätta dessa som 
    attribut eftersom detta förenklar valideringen av XML filen. </p>
<p>Om Det finns många olika alternativ kan man görna tänka sig: 
    <br>
    "Är detta ett <b>datavvärde </b>eller en <b>förklaring</b> 
    till ett datavärde?". <br>
    Om svaret är en förklaring sätter man detta som attribut i annat 
    fall som en nod i XML filen.</p>
<p> </p> 
    <!--#include file="../inc/footer.asp" -->