Die XML-Sprachfamilie
Unter dem Oberbegriff XML verbergen sich eine große Reihe unterschiedlicher Sprachen und Konzepte, die weitgehend vom World Wide Web Consortium (W3C, http://w3.org/) koordiniert und verantwortet werden . Im Zusammenhang mit GML sind unter anderem zu nennen:
- Dokumententyp-Deklaration und XML Schema,
- XML-Namensräume,
- XLink - XML Linking Language und XML Pointer,
- Extensible Stylesheet Language Family mit XSL Transformations, XML Path Language und XSL Formatting Objects,
- CSS2 - Cascading Stylesheets.
Weitere XML-Technologien finden sich in unterschiedlichsten Anwendungsbereichen. Für die Kodierung mathematischer Formeln beispielsweise steht MathML zur Verfügung (http://www.w3.org/Math/). Selbst im Musikbereich eröffnen sich neue Möglichkeiten des Datenaustausch zwischen Programmen dank eines XML-basierten Formats (http://www.capella.de/).
Im Umfeld der Geoinformatik bildet, wie bereits erwähnt, XML die Grundlage der Geography Markup Language sowie der darauf aufbauenden künftigen deutschen Normbasierten Austauschschnittstelle (NAS) der AdV (Düren 2005,http://www.adv-online.de/ ). Weitere Einsatzgebiete sind Kommunikationsschnittstellen bei Web-Diensten im Umfeld des Internet-Mapping wie dem Web Map Service (OGC 2004), dem Web Feature Service (OGC 2002), dem Web Coordinate Transformation Service (Whiteside et al. 2005) sowie bei Internet-GIS-Servern.
XML-Namensräume
Wie zuvor erwähnt besteht bei der Wahl der Elementnamen große Freiheit, so dass die mehrfache Nutzung identischer Namen nicht ausgeschlossen werden kann. XML-Namensräume (engl. namespaces) bieten eine einfache Möglichkeit, um Element- und Attributnamen in XML-Dokumenten eindeutig zu benennen.
Element- und Attributnamen werden mit Namensräumen verknüpft, die durch URI-Verweise identifiziert werden. Durch die Angabe und Nutzung von Kürzeln für Namensräume können Elemente aus mehreren Schemata gemeinsam benutzt werden.
Im folgenden Beispiel werden für das TKFD-Wurzelelement die Namensräume tkfd, gml und xsi deklariert. Aus dem Namensraum tkfd, der über den URI-Verweis (< HREF="http://www.lv-bw.de/">http://www.lv-bw.de/) tkfd identifiziert wird, werden die Elemente Bahnhof und objektArt sowie das Attribut id verwendet. Aus dem gml-Namensraum werden die Elemente centerOf, Point und pos verwendet.
<?xml version="1.0" encoding="UTF-8"?> <TKFD xmlns:tkfd="http://www.lv-bw.de/tkfd" xmlns:gml="http://www.opengis.net/gml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.lv-bw.de/tkfd" <tkfd:Bahnhof> <tkfd:objektArt tkfd:id="EZ00VPK">9201</tkfd:objektArt> <gml:centerOf> <gml:Point> <gml:pos>3515955.37 5409276.28</gml:pos> </gml:Point> </gml:centerOf> </tkfd:Bahnhof>
Dokumententyp-Deklaration und XML Schema
Die Dokumententyp-Deklaration (document type declaration, DTD) erlaubt es, vorkommende Elemente, ihre Attribute und ihren hierarchischen Aufbau zu definieren. Traditionell u. a. im Bereich von HTML und SVG sowie bei GML 1.0 angewandt wird diese Form der Elementdeklaration heutzutage als unzureichend angesehen und zunehmend durch die Nutzung von XML-Schema abgelöst.
Ein XML-Schema (http://www.w3.org/XML/Schema) erlaubt es, detailliert und exakt eine Klasse von XML-Dokumenten zu spezifizieren (vgl. Abschnitt 3). Im Vergleich zu DTD wächst die Komplexität, u. a. auch wegen der Vererbungsoptionen. Für ein auf einem Schema basierendes konkretes "XML-Objekt" wird der Begriff "Instanzdokument" oder kurz Instanz verwendet. Eine XML-Instanz kann als XML-Datei existieren, kann aber genauso gut ein Datenstrom oder Feldinhalt eines Datenbanksatzes sein. Schemadefinitionen, die auch in mehreren Dokumenten verteilt vorliegen können, spielen bei GML sowie bei NAS eine bedeutende Rolle.
Ist ein XML-Dokument wohlgeformt und folgt es einer als DTD oder Schema vorgegebenen Deklaration, heißt es gültig.