Einführung in XML. DTD und XSD Flashcards
Die Sprache XML ist ein Abkömmling der Sprache … .
SGML
Was ist der Unterschied zwischen HTML und XML?
Während aber HTML nur eine feste Menge von Tags benutzt, entfällt diese Einschränkung in XML. Hier können beliebige Tags definiert werden, wobei allerdings in einer konkreten Anwendung die benutzbaren Tags und die Art ihrer Anwendung durch eine sogenannte Dokumententyp-Definition eingeschränkt sein können.
Was ist XML?
Damit ist XML eine sogenannte Meta-Auszeichnungssprache, mit der andere Auszeichnungssprachen definiert werden können.
XML beinhaltet eine … , durch welche die Syntax eines XML-Dokumentes strikt definiert wird.
Grammatik
Wer prüft die Einhaltung der Grammatik eines XML Dokuments?
Parser
XML-Dokumente, die der Grammatik genügen, heißen … .
wohlgeformt
Ein wohlgeformtes XML-Dokument, das mit einem Dokumentenmodell verknüpft ist und dem Schema genügt, heißt … .
gültig
Was prüft ein validierender Parser?
Prüft die Einhaltung des Dokumentenmodells, also die Strukturbeschreibung mittels DTD oder XML-Schema
Anhand dieser allgemeinen Eigenschaften von XML kann hier nun ein Unterschied zu HTML deutlich gemacht werden:
XML ist nicht vorrangig eine Sprache zur Darstellung von Dokumenten in Webbrowsern. Mithilfe eines XML-Dokumentes können vielmehr beliebige, u. U. auch (multi-)mediale Inhalte inklusive Faktendaten in eine bezüglich ihrer Struktur oder anderer Eigenschaften annotierte Form überführt werden.
Die Extensible Stylesheet Language – kurz XSL – ist eine Formatsprache, welche aus drei Teilen besteht:
- XML Path Language – kurz XPath – für die exakte Adressierung der einzelnen Baumbestandteile (aktuelle Version seit 2014 ist XPath 3.0),
- XSL Transformations – kurz XSLT – für die Umwandlung eines XML-Dokuments in ein anderes XML-Format oder ein anderes Format (aktuelle Version seit 2007 XSLT 2.0),
- XSL Formatting Objects – kurz XSL-FO – für Formatierungsregeln und Stilangaben (aktuelle Version seit 2006 XSL 1.1).
Was wird durch XLink beschrieben?
Mit der XML-Anwendung XLink wird die Verbindung zwischen XML-Dokumenten im Web beschrieben. Dies funktioniert zwar in ähnlicher Weise wie die Tags zur Auszeichnung von Links in HTML, aber mit mächtigerem Umfang.
Wozu benutzt man XPointer?
Per XML-Anwendung XPointer wer-den einzelne Bestandteile bzw. Elemente eines XML-Dokumentes adressiert.
Erläutern Sie den Unterschied zwischen einen wohlgeformten und einem gültigen XML-Dokument.
XML beinhaltet eine Grammatik, durch welche die Syntax eines XML-Dokumentes strikt definiert wird. Ähnlich wie bei einem Software-Programm einem Compiler kann ein XML-Dokument zunächst einem Parser zugeführt werden, der die Einhaltung der Grammatik prüft. XML-Dokumente, die der Grammatik genügen, heißen wohlgeformt. XML-Dokumente, die der Grammatik nicht genügen, können nicht verarbeitet werden.
Ein wohlgeformtes XML-Dokument, das mit einem Dokumentenmodell verknüpft ist und dem Schema genügt, heißt gültig. Ansonsten heißt es ungültig. Dabei ist entscheidend, dass die Wohlgeformtheit und Gültigkeit maschinell geprüft werden können.
Was beinhaltet ein XML-Dokument?
Ein XML-Dokument enthält XML-Elemente. XML-Elemente mit Inhalt bestehen aus einem öffnenden XML-Tag, dem Inhalt und einem schließenden XML-Tag. Der öffnende Tag besteht aus dem Elementnamen und eventuell einer Liste von Attributen, d. h. von Paaren aus Attributnamen und Attributwert, umschlossen von spitzen Klammern. Der schließende Tag besteht aus dem Elementnamen mit einem führenden Schrägstrich, umschlossen von spitzen Klammern.
Regeln für XML-Namen:
- Alle XML-Namen oder Bezeichner müssen mit einem Buchstaben, Unterstrich oder Doppelpunkt beginnen.
- Ab der zweiten Stelle dürfen alle Zeichen verwendet werden, die als Namenszeichen zugelassen sind: Neben den Zeichen für die erste Stelle sind das die Zahlen, der Bindestrich und der Punkt. Die XML-Spezifikation bezieht sich auf einen sehr weiten Bereich des gesamten Unicode-Systems, z. B. sind auch Umlaute, Akzente etc. für Markup verwendbar.
- Bei XML-Namen wird zwischen Groß- und Kleinschreibung unterschieden.
- Namen dürfen nicht mit der Zeichenfolge „xml“ beginnen, ebenfalls unabhängig von der Groß- und Kleinschreibung, weil diese Zeichenfolge durch die XML-Spezifikation reserviert ist.
- Es dürfen keine Leerzeichen enthalten sein.
Welche Entitäts-Referenzen sind in XML verpflichend?
Die Benutzung von < und & ist verpflichtend. Die Benutzung der anderen Referenzen ist dort optional, wo sie nicht zu Fehlern führen kann. Weitere Entitäts-Referenzen können in einer DTD definiert werden.
Kommentare in XML:
<!-- Dies ist ein Kommentar -->
Was sind CDATA-Abschnitte in XML?
CDATA-Abschnitte dienen zur Einbettung von Quelltext größeren Umfangs in XML-Dokumente. Enthalten die Zeichendaten XML- oder HTML-Quelltext, müssen die vorbelegten Zeichen durch Entity-Referenzen ersetzt werden.
Wie wird ein CDATA-Abschnitt eingeleitet?
Ein CDATA-Abschnitt beginnt mit <![CDATA[ und endet mit dem ersten Auftreten von ]]>. Die Zeichendaten, die innerhalb des CDATA-Abschnitts platziert sein sollen, dürfen also selbst die Zeichenkette ]]> nicht enthalten.
Was sind Steueranweisungen in XML?
Steueranweisungen in XML dienen ähnlich wie in HTML dazu, Daten an Anwendungen außerhalb des Standards zu übergeben.
Eine Steueranweisung beginnt mit einer öffnen-den spitzen Klammer, einem Fragezeichen und einem XML- Namen, dem Ziel. Eine Steueranweisung endet mit einem Fragezeichen und einer schließenden spitzen Klammer.
XML-Deklaration
Ein XML-Dokument sollte mit einer XML-Deklaration beginnen. Diese ist zwar nicht verpflichtend, aber unbedingt zu empfehlen, weil damit das Dokument sofort als XML-Dokument identifiziert werden kann. Falls die XML-Deklaration verwendet wird, muss sie das erste im Dokument sein.
<?xml version = “1.0” encoding = “UTF-8” standalone = “yes” ?>
Minimal:
<?xml version = “1.0” ?>
Wozu dient eine Dokumenttyp-Definition?
So wird zum Beispiel bei der Prüfung auf Wohlgeformtheit nicht untersucht, ob ein Element überhaupt Attribute haben sollte. Das kann der XML-Parser ohne zusätzliche Informationen auch gar nicht, da er die Semantik der Ziel-Anwendung nicht kennt. Solche Informationen werden dem Parser durch eine Dokumententyp-Definition zur Verfügung gestellt.
Wo muss die Dokumenttyp-Definition innerhalb eines Dokuments platziert sein?
Die Deklaration einer Dokumententyp-Definition muss innerhalb eines XML-Dokumentes direkt nach einer Deklaration platziert werden. Dazwischen dürfen sich lediglich Steueranweisungen oder Kommentare befinden.
Woraus besteht eine Dokumenttyp-Definition?
Die Dokumententyp-Definition selbst hat einen inneren oder einen externen Teil oder beides.
Der innere Teil besteht aus Festlegungen, die sich im XML-Dokument selbst befinden.
Der externe Teil besteht aus Festlegungen, die sich in einer anderen Datei befinden und über einen URI referenziert werden.
Dies erlaubt, standardisierte DTDs (wie z. B. die für XHTML) an einer zentralen Stelle im World Wide Web einheitlich zur Verfügung zu stellen. Enthält ein XML-Dokument eine DTD mit einem externen Teil, so ist in der XML-Deklaration das Attribut standalone auf den Wert no zu setzen.
Deklaration von Elementen (Dokumenttyp-Definition)
<!ELEMENT titel (#PCDATA)>
Hierbei steht #PCDATA für parsed character data. Gemeint ist hier Zeichentext, der lediglich noch Entitäts-Referenzen beinhalten darf, aber keine Auszeichnung.
Darstellung möglicher Kindelemente (Dokumenttyp-Definition)
<!ELEMENT buch (titel,autor,Inhalt)>
<!ELEMENT Kapitel (kaptitel | Unterkapitel)>
dass das Element buch drei Kindelemente mit den angegebenen Namen in der angegebenen Reihenfolge hat und dass das Element Kapitel entweder ein Kindelement kaptitel oder ein Kindelement Unterkapitel hat.
<!ELEMENT buch (titel,(autor|editor)+,Inhalt)>
dass das Element buch zunächst ein Kindelement titel hat, danach ein oder mehrere Kindelemente, die jeweils entweder autor oder editor sind, und zuletzt ein Kindelement Inhalt.
? bedeutet ein- oder keinmal, * bedeutet keinmal, einmal oder mehrmals, + bedeu-tet einmal oder mehrmals.
Nachteil von DTDs
Generell haben DTDs den Nachteil, dass sie kein hinreichendes Typsystem unterstützen. Eine Eingrenzung von Inhalten über Zeichentext hinaus ist nicht möglich.
<!ATTLIST autor name CDATA #REQUIRED>
Hier wird für das bereits deklarierte Element autor das Attribut name definiert. Der Typ des Attributwerts ist CDATA und der Standardwert ist #REQUIRED.
vier Arten von Standardwerten (DTD)
- # IMPLIED Dieses Attribut ist optional.
- # REQUIRED Dieses Attribut ist verpflichtend.
- # FIXED Wert Der Wert dieses Attributs ist fest und wird hinter dem Schlüsselwort FIXED angegeben. Dieses Attribut muss bei der Nutzung des betreffenden Elements nicht angegeben werden. Wird es aber angegeben, dann muss der dort benutzte Wert dem Standardwert entsprechen.
- Wert Der Standardwert wird in Anführungszeichen direkt angegeben.