| |
1.2.4 XMLSchema
Aufgrund einiger Nachteile der DTD, wurde XMLSchema als eine neue Grammatik-Beschreibung
entworfen. Zu diesen Nachteilen gehört, dass die Syntax der DTD nicht der der XML-Dokumente
entspricht. Ein XMLSchema-Dokument ist hingegen ein wohlgeformtes XML-Dokument. Damit man
die Schema-Tags von den Informations-Tags unterscheiden kann, wird vor den Tagnamen ein xsd:
vorgestellt. Ein anderer Nachteil der DTD ist die begrenzte Anzahl an Datentypen und die schwierige
Definition eigener Datentypen. Bei XMLSchema ist es möglich durch die Schlüsselwörter simpleType
und complexType neue Typen aus den eingebauten, einfachen Typen zu bilden, bzw.
Elementdeklarationen zu erzeugen. Das folgende Beispiel bezieht sich wieder auf das bekannte
Beispiel bib.xml:
<?xml version=1.0 encoding=utf-8?>
<xsd:schema xmlns:xsd=http://www.w3.org>
<xsd:complexType name=bib
xmlns:xsd=http://www.w3.org/XMLSchema>
<xsd:element name=item minOccurs=0 maxOccurs=unb ounded>
<xsd:complexType>
<xsd:element name=titel type=xsd:string/>
<xsd:element name=autor type=xsd:string minOccur s=0
maxOccurs=unbounded/>
<xsd:element name=redakteur type=xsd:string
minOccurs=0 maxOccurs=unbounded/>
<xsd:element name=jahr type=xsd:integer/>
<xsd:attribute name=typ type=medienart/>
<xsd:attribute name=id type=string/>
</xsd:complexType>
</xsd:element>
</xsd:complexType>
<xsd:simpleType name=medienart>
<xsd:restriction base=xsd:string>
<xsd:enumeration value=buch/>
<xsd:enumeration value=magazin/>
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>
1.3 Rund um XML
1.3.1 XPath
Mit XPath (XML Path Language) können Teile eines XML-Dokumentes flexibel addressiert werden.
Hauptsächlich ist es als Komponente in anderen Systeme integriert, wie z.B. in XSL, Xpointer oder
XLink. Ein grundlegendes Konstrukt ist hierbei das Konzept der Pfad-Ausdrücke, die eine
Knotenmenge aus dem Quell-XML-Dokument anhand bestimmter Bedingungen selektiert. Ein XPath-
Ausdruck sieht wie folgt aus:
pfad::knoten-test[prädikate]
Dabei beschreibt der Pfad die Beziehung zwischen den zu selektierenden Knoten und dem
Kontextknoten. Um diese Beziehungen zu beschreiben werden Ausdrücke, wie child (Kinderknoten),
descandant (Kindeskinderknoten), parent (Elternknoten), attribute (Attributknoten) oder self
(Kontextknoten) benutzt. Dabei ergibt sich der Kontextknoten entweder durch externe Bausteine oder
durch Anordnung der XPath-Bausteine. Der Knoten-Test verfeinert nun die durch die Achse
gebildetete Knotenmenge noch mehr, indem er jeden Knoten in dieser Knotenmenge mit dem Wert in
Knoten-Test vergleicht. Ist der Test wahr, so wird der Knoten in die Knotenmenge übernommen. Die
5
|  |
|
| |
 |
 |
|
|
|
Programmieren mit Eclipse 3: Universelle Entwicklungsplattform für Java, PHP, C/C++, SQL, XML, XSLT, XSL-FO, JSP, Servlets, JEE, UML, HTML, CSS, JavaScript
| |
| | Siehe auch: | |
|  |
| | Eclipse IDE - kurz & gut | | | Eclipse für C / C++-Programmierer: Handbuch z... | | | Handbuch der Java-Programmierung: Standard Editi... | | | Java 6 - Das Übungsbuch | | | Java - kurz & gut | | | Java ist auch eine Insel: Das umfassende... | |
|
|