Beruflich Dokumente
Kultur Dokumente
XML
Grundaufbau
Auszeichnungssprache
Die Buchstabenfolge XML ist ein Akronym der Worte Extensible Markup Language, was ins Deutsche bersetzt nichts anderes heist, als erweiterbare Auszeichnungssprache. Eine Auszeichnungssprache dient zur Beschreibung des Inhalts eines Dokuments. Ursprnglich dienten die Auszeichnungen im Text als Anweisungen fr die Setzer im Drucksatz.
XML
www.jenskaesbauer.de
XML
Grundaufbau
Herkunft
SGML
HTML
XML
XHTML
XML wurde 1989 als Vereinfachung von SGML zum ersten mal als eigenstndige Spezikation verffentlicht. Aufgrund der Flexibilitt von XML bildete sich schnell eine Vielzahl an Derivaten. Spter wurde versucht mit XHTML eine Zusammenfhrung von HTML und XML fr ein barrierefreieres Internet zu erreichen. Dies hat sich jedoch nie richtig durchgesetzt.
XML
www.jenskaesbauer.de
XML
Grundaufbau
Hauptaufgaben
- Darstellung hierarchisch strukturierter Daten. - Ermglichen des plattform- und implementationsunabhngigen Austausches von Daten.
Grundgedanke Vorteile
- Nur ein Datenbestand, viele Prsentationsmglichkeiten. - Plattform- und Softwareunabhngig. - Flexibilitt fr nahezu jedes Einsatzgebiet.
XML
www.jenskaesbauer.de
XML
Grundaufbau
XML - Baumstruktur I
Adressdaten
Theo, Loge, Gottesacker, 23, 08156, St. Gotthard, Schweiz Otto, Normal, Rudolf-Diesel-Weg, 23, 04711, Toyo, Japan ...
liegen oftmals in wenig strukturierter Form vor. Da sich die Art der einzelnen Daten in jedem Datensatz jedoch wiederholt kann man sich eine einfache Baumstruktur bauen:
Adressdaten | Kunde | | |
XML
www.jenskaesbauer.de
Immer wiederkehrende Datenstze bilden die Basis fr unsere Baumstruktur. Wenn man das Prinzip dahinter einmal verstanden hat, dann ist es auch ein Leichtes daraus eine XML Datei zu erstellen.
XML
Grundaufbau
XML - Baumstruktur II
Adressdaten | Kunde | | |
<Adressdaten> <Kunde> Vorname Name Adresse | | | | | <Vorname>Theo</Vorname> <Name>Loge</Name> <Adresse> Strae Hausnummer Postleitzahl Ort Land <Strae>Gottesacker</Strae> <Hausnummer>23</Hausnummer> <Postleitzahl>08156</Postleitzahl> <Ort>St. Gotthard</Ort> <Land>Schweiz</Land>
</Adresse> Die Baumstruktur und die Struktur eines XML Dokuments h</Kunde> neln sich stark. Wenn man die einem vorliegenden Daten ein- </Adressdaten> mal in eine Baumstruktur gebracht hat, ist es bis zur fertigen XML Struktur nicht mehr weit.
XML
www.jenskaesbauer.de
XML
Grundaufbau
Ein XML-Dokument ist laut der Spezikation des W3C dann gltig (valide), wenn es
wohlgeformt ist, einen Verweis auf eine DTD oder XML Schema hat UND sich an die Anweisungen der DTD hlt!
XML
www.jenskaesbauer.de
XML
Grundaufbau
Syntax I
Prolog: <?xml version=1.0 encoding=UTF-8 standalone=no ?> Denition des Stylesheets: <?xml-stylesheet href=beispiel.css type=text/css?> Interne DTD oder Verweis auf die externe DTD: <!DOCTYPE test [ <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT ... ]> oder <!DOCTYPE test SYSTEM test.dtd>
XML
www.jenskaesbauer.de
XML
Grundaufbau
Syntax II
Wurzelelement ffnen: <test1> Unterelemente: <testA>Inhalt</testA> <testB></testB> <testC /> Wurzelelement schlieen: </test1> (Element mit Inhalt) (Leeres Element Version 1) (Leeres Element Version 2)
XML hat eine sehr einfache Syntax, was es natrlichermaen unheimlich exibel und fr viele Bereiche Interessant macht. Dafr ist die Erstellung der DTD umso komplexer und aufwndiger.
XML
www.jenskaesbauer.de
XML
Grundaufbau
Um ein XML-Dokument validieren zu knnen bedarf es einer DTD. Diese kann, wie vorne im Text bereits beschrieben, entweder im Text, oder ausgelagert in einer zweiten Datei angegeben werden. Eine externe DTD wird im Endeffekt wie eine XML-Datei beschrieben. Es fehlen lediglich die tatschlichen XML-Daten: <?xml version=1.0 encoding=UTF-8?> <!DOCTYPE test [ <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT ... ]>
Eine interne DTD sieht genauso aus. Sie wird an der Stelle eingefgt, an der in der XML - Datei der Verweis auf die externe DTD stehen wrde, also zwischen Prolog und dem Wurzelelement der XML-Baumstruktur. Auf die erste Zeile der externen DTD wird dann allerdings verzichtet.
XML
www.jenskaesbauer.de
XML
Grundaufbau
Fgt man ein * an den Unterelement-Namen an, so kann dieses Unterelement beliebig oft angegeben werden.
Fgt man ein + an, so muss dieses Unterelement mindestens einmal im bergeordneten Element eingebunden werden.
Die Zusatzzeichen knnen auch innerhalb eines Elements, welches weitere Unterelemente enthalten soll kombiniert werden: <!ELEMENT test1 (sub_test1?,(sub_test2|sub_test3)*)>
XML
www.jenskaesbauer.de
XML
Grundaufbau
Attribute
Attribute knnen entweder direkt als Attribut eines Elements, oder als Attributslisten, hnlich einer Auswahlliste, angegeben werden: Attribut eines Elements: <!ELEMENT test1 #PCDATA defaultwert>
XML
www.jenskaesbauer.de
XML
Grundaufbau
Attributtypen
Der Vollstndigkeit halber sind hier die mglichen Attributtypen und deren Bedeutung aufgefhrt: CDATA = Beliebiger Text ID = Ein eindeutiger XML Bezeichner (muss mit Buchstabe, Unterstrich oder Doppelpunkt beginnen) IDREF = Ein Bezug auf eine im Dokument vorkommende ID (darf fter vorkommen) IDREFS = Mehrere durch Leerschritte getrente IDREF-Bezeichner ENTITY = Name einer in der DTD denierten unparsed Entity ENTITIES = Mehrere, durch Leerschritte getrennte, Unparsed Entity Namen NMTOKEN = Ein Namens-Token. Erlaubte Zeichen: A..Z, a..z, 0..9, Punkt, Bindestrich, Underscore, Doppelpunkt, Mittelpunkt NMTOKENS = Mehrere durch Leerschritte getrennte NMTOKEN (enumeration) = Durch |-Symbole getrennte NMTOKEN, in runde Klammern gesetzt
NOTATION = Durch |-Symbole getrennte Aufzhlung von in der DTD deklarierten Notations-Namen. Diese Notationen werden benutzt, um den Inhalt des Elements zu interpretieren.
XML
www.jenskaesbauer.de
XML
Grundaufbau
XML
www.jenskaesbauer.de
XML
Grundaufbau
XML
www.jenskaesbauer.de
XML
Grundaufbau
Die XML-Datei mit dem Namen personenliste.xml <?xml version=1.0 encoding=UTF-8?> <!DOCTYPE PersListe SYSTEM person.dtd> <PersListe> <PERSON geschlecht=m> <VORNAME>Hans</VORNAME> <VORNAME>Peter</VORNAME> <VORNAME>Egon</VORNAME> <NACHNAME>Mustermann</NACHNAME> <ADRESSE> <STRASSE>Mustergasse</STRASSE> <HAUSNUMMER>1</HAUSNUMMER> <PLZ>0815</PLZ> <ORT>Musterstadt</ORT> </ADRESSE> </PERSON> <PERSON geschlecht=w> <VORNAME>Erika</VORNAME> <NACHNAME>Mustermann</NACHNAME> <ADRESSE> <STRASSE>Mustergasse</STRASSE> <HAUSNUMMER>1</HAUSNUMMER> <PLZ>0815</PLZ> <ORT>Musterstadt</ORT> </ADRESSE> </PERSON> </PersListe>
XML
www.jenskaesbauer.de
XML
Grundaufbau
weiterfhrende Informationen
Weitere Informationen rund um das Thema XML ndet ihr auf den folgenden Websiten, auf denen wir uns viel Wissen rund um dieses Thema zusammengesammelt haben. Diese Zusammenstellung erhebt keinen Anspruch auf vollstndigkeit und soll bestenfalls Ausgangspunkte fr die weitere Recherche liefern.
http://de.wikipedia.org/wiki/Extensible_Markup_Language (de) http://de.selfhtml.org/xml/ (de) http://www.selfxml.de/ (de) http://www.w3.org/XML/ (en) http://www.xml.com/ (en)
XML
www.jenskaesbauer.de
XML
Grundaufbau
Vielen Dank
XML
www.jenskaesbauer.de