XML - Om XML.
![x](xml-element.png)
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](/felles/ikoner/rodfir.gif)
![x](/felles/ikoner/rodfir.gif)
![x](/felles/ikoner/rodfir.gif)
![x](/felles/ikoner/rodfir.gif)
![x](/felles/ikoner/rodfir.gif)
![x](/felles/ikoner/rodfir.gif)
![x](/felles/ikoner/rodfir.gif)
#########################
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
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 .
|