XMLGrundernaXML filerMer om XML filer
[ Hem ] Allmänt ASP XML SQL ADO HTML CSS VB Java Design Karta
Grunderna XSL Dynamiska sidor XML i praktiken

Mer om XML filer

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 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

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

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" ?>

  XML filerDatat i XML
Grunderna
XML filer
Mer om XML filer
Datat i XML
Validering
DTD
Studera själv på nätet
Mer om ELEMENT
Mer om ENTITY
Mer om ATTLIST
Rekursivt data
Övningar
Som nästa...


Top
< XML filer Datat i XML>
© Anders Enges, Vörå 2002  | 29.09.01 19:02 Visa asp koden