XML

XML ist die Abkürzung von eXtensible Markup Language.
Mit XML lassen sich Daten strukturiert darstellen.
Die Darstellung der Beispiele variiert je nach Browser-Version.

Beispiel 1

buch1.xml ansehen
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/css" href="buch1.css" ?>
 
<!doctype buecher SYSTEM "buecher.dtd">
 
<buecher>
<buch>
<titel>Ich bin ein Berliner</titel>
<autor>John F. Kennedy</autor>
<seiten>133</seiten>
<preis>12,80 Euro</preis>
</buch>
<buch>
<titel>Ich bin ein Ostfriese</titel>
<autor>Otto Waalkes</autor>
<seiten>333</seiten>
<preis>120,80 Euro</preis>
</buch>
</buecher>
Document Type Definition (DTD) für Beispiel 1 und 2
buecher.dtd:
<!ELEMENT buecher (buch)>
<!ELEMENT buch (titel, autor, seiten, preis)>
<!ELEMENT titel (#PCDATA)>
<!ELEMENT autor (#PCDATA)>
<!ELEMENT seiten (#PCDATA)>
<!ELEMENT preis (#PCDATA)>
Die Darstellung kann mit Cascading Style Sheets aufbereitet werden.
buch1.css:
titel { display:block; font-size:20pt; color:red; margin-top:20px; }
autor, seiten, preis { display:block; font-size:14pt; color:blue; margin-left:24px; }

Beispiel 2

Eine tabellarische Darstellung ist mit eXtensible Style Sheets möglich.
buch2.xml ansehen
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="buch2.xsl" ?>
 
<!doctype buecher SYSTEM "buecher.dtd">
 
<buecher>
<buch>
<titel>Ich bin ein Berliner</titel>
<autor>John F. Kennedy</autor>
<seiten>133</seiten>
<preis>12,80 Euro</preis>
</buch>
<buch>
<titel>Ich bin ein Ostfriese</titel>
<autor>Otto Waalkes</autor>
<seiten>333</seiten>
<preis>120,80 Euro</preis>
</buch>
</buecher>
Die Aufbereitung der Datensätze zu einer Tabelle erfolgt mit HTML-Syntax.
buch2.xsl:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 
<xsl:template match="/">
 
<html>
<head>
 
<title>
XML: Tabelle
</title>
 
</head>
<body>
 
<h1 style="margin-left:150px; margin-top:20px; margin-bottom:40px;">
XML: Tabelle
</h1>
 
<table title="XML: Tabelle" border="3"
style="color:#000000; background-color:#FAFAD2; border-spacing:0px;">
 
<tr style="text-align:center">
<td width="150">Titel</td>
<td width="150">Autor</td>
<td width="150">Seiten</td>
<td width="150">Preis</td>
</tr>
 
<xsl:for-each select="buecher/buch">
<tr>
<td><xsl:value-of select="titel"/></td>
<td><xsl:value-of select="autor"/></td>
<td style="text-align:center"><xsl:value-of select="seiten"/></td>
<td style="text-align:right"><xsl:value-of select="preis"/></td>
</tr>
</xsl:for-each>
 
</table>
 
</body>
</html>
 
</xsl:template>
</xsl:stylesheet>

Beispiel 3

Die Daten-Felder können auch in einer XSD-Datei definiert werden.
ist die Abkürzung von XML Schema Definition.
buch3.xml ansehen
<?xml version="1.0" encoding="UTF-8"?>
 
<buecher xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="buecher.xsd">
<buch>
<titel>Ich bin ein Berliner</titel>
<autor>John F. Kennedy</autor>
<seiten>133</seiten>
<preis>12,80 Euro</preis>
</buch>
<buch>
<titel>Ich bin ein Ostfriese</titel>
<autor>Otto Waalkes</autor>
<seiten>333</seiten>
<preis>120,80 Euro</preis>
</buch>
</buecher>
buecher.xsd:
<?xml version="1.0" encoding="UTF-16"?>
 
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element nillable="true" name="buecher">
<xsd:complexType>
<xsd:sequence minOccurs="0">
<xsd:element minOccurs="0" maxOccurs="unbounded" nillable="true" name="buch" form="unqualified">
<xsd:complexType>
<xsd:sequence minOccurs="0">
<xsd:element minOccurs="0" nillable="true" type="xsd:string" name="Titel" form="unqualified"/>
<xsd:element minOccurs="0" nillable="true" type="xsd:string" name="Autor" form="unqualified"/>
<xsd:element minOccurs="0" nillable="true" type="xsd:integer" name="Seiten" form="unqualified"/>
<xsd:element minOccurs="0" nillable="true" type="xsd:string" name="Preis" form="unqualified"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>