logo   XML - Om XML.




x

XML (eXtended Markup Language) er betegnelsen for et filformat til lagring / overførsel af data.


Opbygningen af en XML-fil er baseret på tags, der kan være placeret:
- efter hinanden
eller
- indlejret i hinanden.


XML-filer skal overholde denne syntaks:


  • De skal indledes med en 'XML-deklaration'.
  • Al opbygning efter deklarationen sker i to typer 'elementer':
    - <element></element>
    - <element />.
  • Alle element navne er brugerbestemte. Men:
    - helst kun: a-z, A-Z og 0-9 eller tegn som '.', ',', '_', '-'.
    Må ikke starte med tal, punktum eller komma eller 'xml'
    - må ikke indeholde mellemrum
  • Der skal være et ydre 'rod-element. Omkranser alle data efter deklarationen.
  • Element navne er case-sensitive.
  • Elementer skal åbnes og lukkes i korrekt rækkefølge.
  • Elementer kan indeholde 'attributter' - yderligere information om elementet. Deres værdi skal være placeret i anførselstegn.
  • Der kan være flere attributter i et element.
  • Der er ingen regel for om noget skal være en attribut eller et element.
  • Udover roden kan der også være andre 'datatomme' elementer - især omkring element med 'nedbrydelige' dele.




XML deklaration


Alle XML-filer skal begynde med en XML-deklaration. Udover start- og slut tag kan den bestå af 1 - 3 dele, hvoraf de to sidste (især den sidste) er optionelle:

<?xml
    version="version_number"
    encoding="karakter sæt"
    standalone="status"
?>


<?xml version="1.0" encoding="UTF-8" standalone="no" ?>


Anførselstegnene kan være enkelte eller dobbelte.




Forskellige opbygninger


Den samme information kan lagres i en xml-fil på (mindst) tre forskellige måder:


<note date="2008-01-10">
    <to>Tove</to>
    <from>Jani</from>
    <heading>Reminder</heading>
    <body>Don't forget me this weekend!</body>
</note>
Anvendelse af attribut
<note>
    <date>2008-01-10</date>
    <to>Tove</to>
    <from>Jani</from>
    <heading>Reminder</heading>
    <body>Don't forget me this weekend!</body>
</note>
Alle data i elementer - ikke alle er nedbrudt til laveste niveau
<note>
   <date>
      <year>2008</year>
      <month>01</month>
      <day>10</day>
   </date>
   <to>Tove</to>
   <from>Jani</from>
   <heading>Reminder</heading>
   <body>Don't forget me this weekend!</body>
</note>
Alle data - ned til mindste naturlige enhed er indlagt i hvert sit element.
Denne metode er at foretrække.




Niveauopdeling





Validering


XML-filer kan valideres flere forskellige steder; bl.a:

x

x

x

x

x

x

x

#########################

Udover den første linie i en XML-fil:


<?xml version="1.0" encoding="UTF-8" ?>


opbygges en XML-fil af to slags tags:


  • Container tags
    <startdel>
    .
    .
    .
    </slutdel>

  • Data tags
    <startdel>....</slutdel>


Et container tag kan indeholde andre container tags og data tags.


En ganske simpel fil kan opbygges således:


<?xml version="1.0" encoding="UTF-8" ?>
<startdel niv 1>
   <startdel niv 2>
      <startdel niv 3>....</slutdel niv 3>
      <startdel niv 3>....</slutdel niv 3>
      <startdel niv 3>
         <startdel niv 4>....</slutdel niv 4>
         <startdel niv 4>....</slutdel niv 4>
      </slutdel niv 3>
      <startdel niv 3>....</slutdel niv 3>
      <startdel niv 3>....</slutdel niv 3>
   </slutdel niv 2>
</slutdel niv 1>


I PHP anvendes objektet "DOMDocument" til at opbygge XML-filer. En simpel fil involverer følgende kode:


W3C administrerer standarden for XML x.





















x
x