Franz-Josef Behr: GML-basierte Kodierung von Geodaten:  Einleitung | XML, SVG, CSS | GML | Definition von Objekten in GML | Zusammenfassung | Literatur

Einleitung

Bei der eXtensible Mark-up Language (XML) handelt es sich um eine Auszeichnungssprache (engl. markup language), die es als Metasprache erlaubt, weitere Sprachen zu definieren, zu denen auch die Geography Markup Language (GML) zählt. Derartige Sprachen und Konzepte haben in den vergangenen Jahren rasante Verbreitung im Umfeld der Geoinformatik und der Informationsverarbeitung insgesamt gefunden. Wesentliche Erfolgsfaktoren für XML sind zum einen die textbasierte Kodierung der Information (d. h. keine Binärdaten), zum anderen der für den Nutzer zunächst leichte Zugang zur Interpretation der Dateninhalte . GML wurde als XML-basierte Sprache mit der Zielsetzung entwickelt, Modellierung, Transport und Speicherung von Objekten mit Raumbezug zu ermöglichen (Cox 2004, Lake 2004). Dabei sollten Geometrie- wie Fachattribute gleichermaßen unterstützt werden. Nach der ersten Version im Jahr 2000 wurden alle ein bis zwei Jahre neue Versionen publiziert (siehe Abbildung 1). Die Fortschreibungen dieser Empfehlung sind folgendermaßen charakterisiert:

Gerade die Mächtigkeit der Sprache scheint einer breiten Nutzung bisher entgegenzustehen. Durch die Bildung von Profilen besteht jedoch die Möglichkeit, durch die Bildung einer Untermenge von möglichen GML-Konstrukten die Komplexität und notwendige Einarbeitung zu verringern (Vretanos 2005).

gml_history (16K)

Abbildung 1: Entwicklung von GML hin zum ISO-Standard (nach Strobel 2004).

XML - die Grundlage

Wesentliche Stuktureinheit zur Gliederung von Dateninhalten in XML ist das Element. Es besitzt einen Elementnamen und weist den in Abbildung 2 dargestellten Aufbau auf, besteht also aus einem einleitenden Start-Tag , dem Elementinhalt und dem schließenden End-Tag. Der Elementname taucht in beiden Tags auf, beim End-Tag mit vorangestelltem Schrägstrich.

element (5K)

Abbildung 2: Aufbau eines XML-Elements.

Für den Elementinhalt gilt, dass er Text (wie in Abbildung 2) oder, wie in GML häufig der Fall, wiederum andere Elemente enthalten kann (siehe nachfolgendes punkt-Beispiel); er kann aber auch leer sein und dann in verkürzter Schreibweise in der Form

     <name/>  

Elementnamen sind weitgehend frei wählbar und können beispielsweise auch deutsche Sonderzeichen enthalten.

Elemente können neben ihrem Inhalt weitere Informationen in Form von Attributen tragen, die im Start-Tag eingetragen werden:

     <text x= "15" y= "135" >AbcDef </text>   

Von dieser Möglichkeit wird insbesondere bei der XML-definierten Sprache SVG sowie bei der Entwicklung von GML-Fachschemata Gebrauch gemacht. Das Start-Tag des text-Elements zeigt, dass Attributangaben paarweise aus Attributnamen und Wert bestehen. Der Wert muss in einfachen oder doppelten Anführungszeichen stehen; jedes Attribut darf in einem Element nur ein Mal erscheinen.

Aus der Tatsache, dass ein Element andere Elemente enthalten kann, ergibt sich die Forderung, dass diese "Schachtelung" korrekt vorgenommen werden muss . Die äußerste "Schachtel", das heißt, das Element, das alle anderen umschließt, heißt Wurzelelement (engl. root element).

Folgt ein XML-Dokument diesen Regeln, so wird es als wohlgeformt (engl. well formed) bezeichnet.

Jedes XML-Dokument besteht aus:


Im nachfolgenden Beispiel spezifiziert die XML-Deklaration in Zeile 1 die zugrundegelegte XML-Version, den für das Kodieren verwendete Zeichensatz (hier ISO-8859-1) und legt fest, dass das Dokument "standalone", ohne weitere Deklarationen, gültig ist.

 1: <?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
 2: <!DOCTYPE punkt [
 3: <!ELEMENT punkt (x, y)>
 4: <!ELEMENT x (#PCDATA)>
 5: <!ELEMENT y (#PCDATA)>
 6: ]>
 7: <punkt>
 8: <x>3500000.0</x>
 9: <y>5400000.0</y>
10: </punkt>

In den Zeilen 2 bis 6 erfolgt die Dokumenttyp-Deklaration (engl. document type declaration), die den Aufbau des Dokumentes vorgibt. In unserem einfachen Fall beschreibt sie in den Zeile 2 - 6 die Zugehörigkeit zum Wurzelelement punkt, das als Inhalt die Elemente x und y enthält. Diese bestehen aus Zeichendaten .

Die Zeilen 7 bis 10 enthalten ein punkt-Element, das zugleich Wurzelelement ist. Elementinhalt sind, wie in Zeile 3 deklariert, die x- und y-Elemente mit den Koordinatenwerten.

Verarbeitungsanweisungen (im Beispiel nicht enthalten) sind für weiter verarbeitende Programme vorgesehen, beispielsweise zur Berücksichtigung von Stilangaben oder zur Durchführung einer XSL-Transformation. In CDATA-Abschnitten können beispielsweise ECMAScript-Anweisungen in das XML-Dokument integriert werden, ohne dass sie von einem XML-Parser ausgewertet werden, der das Zerlegen und Weiterverarbeiten der Inhalte vornimmt.

Wichtiger Bestandteil von Programmier- und Auszeichnungssprachen sind Kommentare, eine Dokumentbeschreibung im Source-Code, die vom Parser ignoriert wird. Für XML-Sprachen sieht ein Kommentar folgendermaßen aus:


<!-- Dies ist ein Kommentar -->

Zwischen den Kommentarzeichen können alle beliebigen Zeichen stehen, mit Ausnahme von --, da dies das Ende eines Kommentars markiert.

Valid XHTML 1.0! Check valid XHTML
[ Sponsored Links ]