XML: Unterschied zwischen den Versionen
BunzA (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Kowa (Diskussion | Beiträge) |
||
(9 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
=Definition= | |||
Die '''Extensible Markup Language''' wurde von der „XML Activity“ des [http://www.w3.org W3C] entwickelt. Als eine von SGML abgeleitete Auszeichnungssprache bietet sie die Möglichkeit, weitere Auszeichnungssprachen zu definieren. | Die '''Extensible Markup Language''' wurde von der „XML Activity“ des [http://www.w3.org W3C] entwickelt. Als eine von SGML abgeleitete Auszeichnungssprache bietet sie die Möglichkeit, weitere Auszeichnungssprachen zu definieren. | ||
= Sprachelemente = | |||
Mit XML werden Informationen in einer Baum-Struktur gespeichert. | Mit XML werden Informationen in einer Baum-Struktur gespeichert. | ||
Zeile 17: | Zeile 19: | ||
* Ausführungsanweisungen (engl.: Processing Instructions, PIs) | * Ausführungsanweisungen (engl.: Processing Instructions, PIs) | ||
= Schemas = | |||
Die Struktur des XML-Dokuments kann durch Schemasprachen definiert werden. Hier kann man festlegen, in welcher Reihenfolge und welcher Verschachtelung die Elemente auftreteen, welche Attribute sie beinhalten und welche Inhalte die Text-Knoten annehmen dürfen. Hierzu kann beispielsweise '''DTD''' (Dokument Type Definition) oder das jüngere und flexiblere [www.w3.org/XML/Schema XML Schema] verwendet werden. | Die Struktur des XML-Dokuments kann durch Schemasprachen definiert werden. Hier kann man festlegen, in welcher Reihenfolge und welcher Verschachtelung die Elemente auftreteen, welche Attribute sie beinhalten und welche Inhalte die Text-Knoten annehmen dürfen. Hierzu kann beispielsweise '''DTD''' (Dokument Type Definition) oder das jüngere und flexiblere [www.w3.org/XML/Schema XML Schema] verwendet werden. | ||
Zeile 43: | Zeile 27: | ||
In einem XML Schema können weit mehr Eigenschaften einex XML-Dokuments als in DTDs festgelegt werden. XML Schema kennt mehrere Datentypen (z.B.: <code>date</code>, <code>string</code>, <code>integer</code>), es können jedoch auch neue Datentypen definiert und diese wiederverwendet werden Auch das Ertellen von Patterns für die möglichen Werte der Text-Knoten ist möglich. XML-Schema-Dokumente werden selbst in einer XML-Syntax geschrieben. | In einem XML Schema können weit mehr Eigenschaften einex XML-Dokuments als in DTDs festgelegt werden. XML Schema kennt mehrere Datentypen (z.B.: <code>date</code>, <code>string</code>, <code>integer</code>), es können jedoch auch neue Datentypen definiert und diese wiederverwendet werden Auch das Ertellen von Patterns für die möglichen Werte der Text-Knoten ist möglich. XML-Schema-Dokumente werden selbst in einer XML-Syntax geschrieben. | ||
= Wohlgeformtheit = | |||
Zwar bietet XML dem Programmeirer sehr viel Spielruam, jedoch müssen bestimmte Regeln eingehalten werden. Diese Regeln definieren die '''Wohlgeformtheit''' eines XML-Dokuments: | Zwar bietet XML dem Programmeirer sehr viel Spielruam, jedoch müssen bestimmte Regeln eingehalten werden. Diese Regeln definieren die '''Wohlgeformtheit''' eines XML-Dokuments: | ||
Zeile 57: | Zeile 41: | ||
* die Struktur des Dokument wird durch DTD definiert und eingebunden), oder das Attribut <code>standalone</code> erhält im Prolog den Wert <code>yes</code> | * die Struktur des Dokument wird durch DTD definiert und eingebunden), oder das Attribut <code>standalone</code> erhält im Prolog den Wert <code>yes</code> | ||
= Die XML-Familie = | |||
* '''[[XML Schema]]''' zur Definition des Dokumenten-Baums | * '''[[XML Schema]]''' zur Definition des Dokumenten-Baums | ||
Zeile 66: | Zeile 50: | ||
* '''[[XQuery]]''' zur Abfrage von XML-Datenbanken | * '''[[XQuery]]''' zur Abfrage von XML-Datenbanken | ||
== Quellen | == Beispiel == | ||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> | |||
<books> | |||
<book id="1"> | |||
<authors> | |||
<author title="Dr."> | |||
<firstname>John</firstname> | |||
<lastname>Smith</lastname> | |||
</author> | |||
</authors> | |||
<title>1st Book</title> | |||
<subtitle>This is my first book</subtitle> | |||
<location>London</location> | |||
<year>2006</year> | |||
</book> | |||
</books> | |||
= Quellen = | |||
* [http://www.w3.org/XML http://www.w3.org/XML] | * [http://www.w3.org/XML http://www.w3.org/XML] | ||
* [http://www.jeckle.de/vorlesung/xml/script.html http://www.jeckle.de/vorlesung/xml/script.html] | * [http://www.jeckle.de/vorlesung/xml/script.html http://www.jeckle.de/vorlesung/xml/script.html] | ||
* [http://de.wikipedia.org/wiki/Xml http://de.wikipedia.org/wiki/Xml] | * [http://de.wikipedia.org/wiki/Xml http://de.wikipedia.org/wiki/Xml] | ||
[[Kategorie:XML]] | |||
[[Kategorie:Glossar]] | |||
{{{{SITENAME}}-konformer Artikel}} | |||
{{Quellenangaben verbessern | |||
| Formatierung = true | |||
}} |
Aktuelle Version vom 10. Januar 2007, 18:06 Uhr
Definition
Die Extensible Markup Language wurde von der „XML Activity“ des W3C entwickelt. Als eine von SGML abgeleitete Auszeichnungssprache bietet sie die Möglichkeit, weitere Auszeichnungssprachen zu definieren.
Sprachelemente
Mit XML werden Informationen in einer Baum-Struktur gespeichert.
Ein Vorteil dieser Auszeichnungssprache ist, dass für die Baum-Struktur keine festen Element- oder Attributnamen, wie beipielsweise in HTML, vorgegeben sind. Das bedeutet, der Programmierer kann sein Dokument nach eine eigenen der Situation angepassten Muster entwerfen. Vor allem durch die Möglichkeit, Elemente und Attribute selbst zu benennen, wird die spätere Lesbarkeit der Dokumente erhöht.
Jedes XML-Dokument beginnt mit einem so genannten Prolog. In diesem muss die XML-Version angegeben, eventuell können auch der verwendete Zeichensatz oder die Art des Dokuments angegeben werden.
Der XML-Baum kann die folgenden Knotentypen beinhalten:
- Kommentare (z.B.:
- Elemente (z.B.:
<element>...</element>
oder<element />
für ein leeres Element) - Attribute (z.B.:
<element attribute="value" />
) - Text (z.B.:
<element attribute="text">text</element>
) - Ausführungsanweisungen (engl.: Processing Instructions, PIs)
Schemas
Die Struktur des XML-Dokuments kann durch Schemasprachen definiert werden. Hier kann man festlegen, in welcher Reihenfolge und welcher Verschachtelung die Elemente auftreteen, welche Attribute sie beinhalten und welche Inhalte die Text-Knoten annehmen dürfen. Hierzu kann beispielsweise DTD (Dokument Type Definition) oder das jüngere und flexiblere [www.w3.org/XML/Schema XML Schema] verwendet werden.
In einer DTD wird Abfolge und Verschachtelung der Elemente anhand regulärer Ausdrücke dargestellt. Es können Entitäten definiert und Wertelisten für Attribute vorgegeben werden.
In einem XML Schema können weit mehr Eigenschaften einex XML-Dokuments als in DTDs festgelegt werden. XML Schema kennt mehrere Datentypen (z.B.: date
, string
, integer
), es können jedoch auch neue Datentypen definiert und diese wiederverwendet werden Auch das Ertellen von Patterns für die möglichen Werte der Text-Knoten ist möglich. XML-Schema-Dokumente werden selbst in einer XML-Syntax geschrieben.
Wohlgeformtheit
Zwar bietet XML dem Programmeirer sehr viel Spielruam, jedoch müssen bestimmte Regeln eingehalten werden. Diese Regeln definieren die Wohlgeformtheit eines XML-Dokuments:
- der XML-Baum enthält genau ein Wurzelelement (vgl.:
<books>...</books>
) - Tags müssen immer geschlossen werden (z.B.:
<book>...</book>
oder<location />
) - Tags dürfen sich nicht überlappen (z.B.:
<a1><b1></a1><b1>
nicht erlaubt, erlaubt:<a1><b1></b1></a1>
) - Die Werte von Attributen müssen stets in Anführungszeichen stehen (z.B.:
<elem attr="value" />
oder<elem attr='value'" />
) - Attribute dürfen nicht mehrmals in einem Element vorkommen (z.B.
<elem attr="value" attr="value" />
nicht erlaubt) - Kommentare werden durch
beendet
- Kommentare und PIs dürfen nicht innerhalb von Tags statttfinden
- Sonderzeichen (
<
,&
) dürfen nicht in Text-Knoten verwendet werden - die Struktur des Dokument wird durch DTD definiert und eingebunden), oder das Attribut
standalone
erhält im Prolog den Wertyes
Die XML-Familie
- XML Schema zur Definition des Dokumenten-Baums
- XLink zum Einfügen von Hyperlinks in XML-Dateien
- XPointer um auf Daten innerhalb eines XML-Dokuments zu zeigen
- XSLT zum Transformieren von XML-Dokumenten
- XPath für die Navigation innerhalb eines XML-Dokuments
- XQuery zur Abfrage von XML-Datenbanken
Beispiel
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <books> <book id="1"> <authors> <author title="Dr."> <firstname>John</firstname> <lastname>Smith</lastname> </author> </authors> <title>1st Book</title> <subtitle>This is my first book</subtitle> <location>London</location> <year>2006</year> </book> </books>
Quellen
- http://www.w3.org/XML
- http://www.jeckle.de/vorlesung/xml/script.html
- http://de.wikipedia.org/wiki/Xml
Bitte die Regeln der GlossarWiki-Quellenformatierung beachten.