name

Werbung
Institut für Kartographie und Geoinformation
Prof. Dr. Lutz Plümer
Geoinformation III
Vorlesung 13
XML Dokumenttyp-Definition,
UML  XML
Übersicht über den dritten Vorlesungsblock
1. Offene Systeme, Rechnernetze und das Internet
Die eXtensible Markup Language XML
2. Grundlagen, Spezifikation von Datenformaten
3. Vom UML-Diagramm zum XML-Format
4. Geographic Markup Language GML:
– der vom OpenGIS-Consortium als XML-Anwendung
definierte Standard für Geo-Objekte
Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 1/2 - Vorlesung 11
2
Definition der Struktur von Dokumenten
• wohlgeformte Dokumente können zwar von jedem XMLParser eingelesen werden, jedoch sagt die Wohlgeformtheit
nichts darüber aus
– welche Elementnamen überhaupt vorkommen dürfen,
– in welcher Reihenfolge die Elemente im XML-Dokument
erscheinen müssen,
– welches Element Kindelement eines anderen sein darf
– wie oft die Elemente im XML-Dokument erscheinen dürfen,
– welche Attribute in bestimmten Elementen verwendet werden
dürfen
• Jede XML-Anwendung definiert die ihr bekannten bzw. von
ihr akzeptierten Elemente sowie die Dokumentenstruktur mit
Hilfe der sog. Document Type Declaration
Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 1/2 - Vorlesung 11
3
Dokumententyp-Deklaration
• Die Dokumententyp-Deklaration besteht aus einzelnen
Dokumenttyp-Definitionen, den sog. DTDs:
– Element-Definitionen
– Attribut-Definitionen
• Diese können
– am Anfang eines XML-Dokuments enthalten sein
<?xml version=“1.0“ standalone=“yes“>
<!DOCTYPE person [
<!ELEMENT vorname (#PCDATA)>
<!ELEMENT nachname(#PCDATA)>
...
]>
– oder in einer eigenen Datei zusammengefasst stehen.
<?xml version=“1.0“ standalone=“yes“>
<!DOCTYPE person SYSTEM “http://..../person.dtd“
Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 1/2 - Vorlesung 11
4
Element-Definition
Die Grundform der Element-Definition:
<!Element Elementname (Inhaltsmodell)>
Die Inhaltsmodelle geben an
• in welcher Reihenfolge
• welche Kinder und
• wie viele Kinder
ein Element haben kann oder muss
Es gibt folgende Inhaltsmodelle:
• #PCDATA
• Auswahl
• Kindelemente
• Folgen (Sequenzen)
• Anzahl der Kinder
• Klammern
• Gemischter Inhalt
• Leere Elemente
Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 1/2 - Vorlesung 11
5
Inhaltsmodell: #PCDATA
Modellierung von unstrukturiertem Text:
#PCDATA=Parsed Character Data
• darf keine Kindelemente enthalten
• Entity-Referenzen werden aufgelöst ( "  “ )
(deshalb Parsed Character Data)
Beispiel:
• Definition: <!ELEMENT Anmerkung (#PCDATA)>
• XML-Datei: <Anmerkung>XML macht Spaß </Anmerkung>
Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 1/2 - Vorlesung 11
6
Inhaltsmodell: Kindelemente
Kindelemente
• Element muss genau ein Kind des vorgegebenen Typs haben
Beispiel: <!ELEMENT fax (telefonnummer)>
<fax>
<telefonnummer>0190666666</telefonnummer>
</fax>
Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 1/2 - Vorlesung 11
7
Inhaltsmodell: Folgen (Sequenzen)
Folgen (Sequenzen)
• angegebenen Elemente werden durch Kommata getrennt
• sie müssen in der angegebenen Reihenfolge auftreten
Beispiel: <!ELEMENT name (vorname, nachname)>
<name>
<vorname>Friedrich</vorname>
<nachname>Gauß</nachname>
</name>
Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 1/2 - Vorlesung 11
8
Inhaltsmodell: Auswahl
Auswahl
• Möglichen Elemente werden durch | getrennt
Beispiel: <!ELEMENT name (vorname | nachname)>
1
<name>
<nachname>Gauß</nachname>
</name>
2
<name>
<vorname>Carl</vorname>
</name>
Nur 1 oder 2 möglich. Nicht 1 und 2
Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 1/2 - Vorlesung 11
9
Inhaltsmodell: Anzahl der Kinder / Multiplizität
Die Anzahl der Kinder / Multiplizität wird durch Anhängen folgender
Zeichen an den Elementnamen bestimmt.
• ? Erlaubt kein oder ein Elemente
• * Erlaubt kein oder mehrere Elemente
• + Erlaubt ein oder mehrere Elemente
Beispiel: <!ELEMENT name (vorname, nachname?)>
<name>
<vorname>Friedrich</vorname>
<nachname>Gauß</nachname>
</name>
oder
<name>
<vorname>Friedrich</vorname>
</name>
Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 1/2 - Vorlesung 11
10
Eine Beispiel-DTD
Das Element person besitzt ein
Kindelement name und kein oder
mehrere Kindelemente beruf
Die Reihenfolge wird festgeschrieben:
erst name dann beruf(e)
Eine DTD für das
<!ELEMENT person (name, beruf* )>
Element person
<!ELEMENT name (vorname, nachname )>
<!ELEMENT vorname (#PCDATA )>
<!ELEMENT nachname (#PCDATA )>
<!ELEMENT beruf (#PCDATA )>
Das Element name besitzt ein
Kindelement vorname und ein
Kindelement nachname
Die Elemente vorname, beruf und
nachname enthalten alle Text
Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 1/2 - Vorlesung 11
11
Validierung von XML-Dokumenten
• Wohlgeformtheit ist grundsätzliche Voraussetzung für die
maschinelle Lesbarkeit von XML-Dokumenten
• Wohlgeformtheit sagt nichts darüber aus, ob die Dokumente in
ihrer Struktur und den enthaltenen Daten den Anforderungen
konkreter XML-Anwendungen entsprechen.
• Mit Hilfe der DTDs kann bereits der XML-Parser die Struktur und
den Inhalt überprüfen, bevor er die Daten an ein
Anwendungsprogramm übergibt.
– Die Fehlerüberprüfung von XML-Dokumenten wird für
Anwendungsprogramme einfacher
• Die Überprüfung eines XML-Dokuments erfolgt durch einen
validierenden Parser
• XML-Dokumente heissen gültig, wenn sie der DTD entsprechen
Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 1/2 - Vorlesung 11
12
Was DTDs nicht können
Die DTDs sagen nichts darüber aus:
• Wie das Wurzelelement des Dokuments aussieht
• Wie viele Instanzen jedes einzelnen Elements im
Dokument auftauchen dürfen / sollen
• Wie die Zeichendaten innerhalb der Elemente
aussehen
• Was die semantische Bedeutung eines Elements ist;
z.B. ob es ein Datum oder einen Namen enthält
Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 1/2 - Vorlesung 11
13
Beispiele: Dokumententyp-Deklaration
Bsp. einer DTD für ein Element person
Beispiel 1 für ein Element person
<person>
<!ELEMENT person (name, beruf* )>
<name>
<!ELEMENT name (vorname, nachname )>
<vorname>Friedrich</vorname>
<!ELEMENT vorname (#PCDATA )>
<nachname>Gauß</nachname>
<!ELEMENT nachname (#PCDATA )>
</name>
<!ELEMENT beruf (#PCDATA )>
<beruf>Mathematiker</beruf>
</person>
Ist dieses person-Element gültig, bzw. entspricht das Dokument der DTD?
JA
Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 1/2 - Vorlesung 11
14
Beispiele: Dokumententyp-Deklaration
Bsp. einer DTD für ein Element person
Beispiel 2 für ein Element person
<!ELEMENT person (name, beruf* )>
<person>
<!ELEMENT name (vorname, nachname )>
<beruf>Mathematiker</beruf>
<!ELEMENT vorname (#PCDATA )>
<beruf>Physiker</beruf>
<!ELEMENT nachname (#PCDATA )>
<beruf>Geodät</beruf>
<!ELEMENT beruf (#PCDATA )>
</person>
Ist dieses person-Element gültig, bzw. entspricht das Dokument der DTD?
Nein, das Element name fehlt
Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 1/2 - Vorlesung 11
15
Beispiele: Dokumententyp-Deklaration
Bsp. einer DTD für ein Element person
<person>
<beruf>Mathematiker</beruf>
<!ELEMENT person (name, beruf* )>
<name>
<!ELEMENT name (vorname, nachname )>
<vorname>Friedrich</vorname>
<!ELEMENT vorname (#PCDATA )>
<nachname>Gauß</nachname>
<!ELEMENT nachname (#PCDATA )>
</name>
<!ELEMENT beruf (#PCDATA )>
<beruf>Physiker</beruf>
<beruf>Geodät</beruf>
</person>
Ist dieses person-Element gültig, bzw. entspricht das Dokument der DTD?
Nein, das Element beruf steht vor dem Element name
Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 1/2 - Vorlesung 11
16
Beispiele: Dokumententyp-Deklaration
Bsp. einer DTD für das Element person
Beispiel 4 für ein Element person
<!ELEMENT person (name, beruf* )>
<person>
<!ELEMENT name (vorname, nachname )>
<name>
<!ELEMENT vorname (#PCDATA )>
<vorname>Friedrich</vorname>
<!ELEMENT nachname (#PCDATA )>
<nachname>Gauß</nachname>
<!ELEMENT beruf (#PCDATA )>
</name>
</person>
Ist dieses person-Element gültig, bzw. entspricht das Dokument der DTD?
JA
Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 1/2 - Vorlesung 11
17
Beispiele: Dokumententyp-Deklaration
Bsp. einer DTD für das Element person
<person>
<name>
<!ELEMENT person (name, beruf* )>
<vorname>Friedrich</vorname>
<!ELEMENT name (vorname, nachname )>
<nachname>Gauß</nachname>
<!ELEMENT vorname (#PCDATA )>
</name>
<!ELEMENT nachname (#PCDATA )>
<beruf>Physiker</beruf>
<!ELEMENT beruf (#PCDATA )>
<beruf>Geodät</beruf>
<Leistung>N-Verteilung</Leistung>
</person>
Ist dieses person-Element gültig, bzw. entspricht das Dokument der DTD?
Nein, das Element Leistung ist in der DTD nicht vorgesehen
Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 1/2 - Vorlesung 11
18
Beispiele: Dokumententyp-Deklaration
Bsp. einer DTD für das Element person
<person>
<name>
<!ELEMENT person (name, beruf* )>
<vorname>Friedrich</vorname>
<!ELEMENT name (vorname, nachname )>
<nachname>Gauß</nachname>
<!ELEMENT vorname (#PCDATA )>
</name>
<!ELEMENT nachname (#PCDATA )>
war <beruf>Physiker</beruf> und
<!ELEMENT beruf (#PCDATA )>
<beruf>Geodät</beruf>
</person>
Ist dieses person-Element gültig, bzw. entspricht das Dokument der DTD?
Nein, Text ist nur innerhalb der Kinder vorname,
nachname und beruf vorgesehen
Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 1/2 - Vorlesung 11
19
Attribut-Definition
• Attribut-Definitionen spezifizieren die zu einem Element
erlaubten Attribute mit ihren Datentypen.
• Syntax: pro Element und Attribut eine Zeile der Art:
<!ATTLIST Elementname Attributname Attributtyp Optionen>
Für welches
Element wird das
Attribut definiert?
Bezeichner
des Attributs
Welche Art von
Daten sollen zugewiesen werden?
• Innerhalb eines Elements müssen alle Attributnamen
unterschiedlich sein.
– Verschiedene Elemente dürfen gleichnamige Attribute
besitzen.
Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 1/2 - Vorlesung 11
20
Attributtypen
Es gibt in XML zehn Attributtypen:
• CDATA
• NMTOKEN
• NMTOKENS
• Aufzählung
• ENTITY
• ENTITIES
• ID
• IDREF
• IDREFS
• NOTATION
Auf diese
Typen wird im
Folgenden
näher eingegangen
Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 1/2 - Vorlesung 11
21
Attributtyp: CDATA
Ein Attribut vom Typ CDATA
• kann jeden Textstring enthalten
Attributliste
Element
Attribut
Attributtyp
optional
<!ELEMENT Wild500 EMPTY>
Variante 1: <!ATTLIST Wild500 Listenpreis CDATA #IMPLIED>
Variante 2: <!ATTLIST Wild500 Listenpreis CDATA #REQUIRED>
1 <Wild500 Listenpreis=“17000DM“/>
erforderlich
2 <Wild500/>
Für Variante 1 sind 1 und 2 für Variante 2 nur 1 zulässig
Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 1/2 - Vorlesung 11
22
Attributtyp: NMTOKEN (XML-Namens-Token)
Ein Attribut vom Typ NMTOKEN darf folgende Zeichen enthalten
• alphanumerischen Zeichen
• ideographischen Zeichen
• Interpunktionszeichen ( _ ), ( - ), ( . ) und ( : )
• keinerlei Leerzeichen
Beispiel: <!ATTLIST Olympiade Eröffnung NMTOKEN #REQUIRED>
<Olympiade Eröffnung=“21-07-2002“>
Sport
</Olympiade>
Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 1/2 - Vorlesung 11
23
Attributtyp: NMTOKENS
Ein Attribut vom Typ NMTOKENS enthalten:
• Ein oder mehrere NMTOKEN, welche durch Leerzeichen getrennt sind
Beispiel: <!ATTLIST Auftritte Tourdaten NMTOKENS #REQUIRED>
<Auftritte Tourdaten=“21-08-2002 26-08-2002“>
Die Fantastischen Vier
</Auftritte>
Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 1/2 - Vorlesung 11
24
Attributtyp: Aufzählung
Ein Attribut vom Typ Aufzählung besteht aus
• durch | voneinander getrennter möglichen Werte für ein Attribut
Attributwerte dürfen nur aus den aufgezählten Werten stammen
Beispiel:
<!ATTLIST datum monat (Januar | Februar | März | April) #REQUIRED>
<!ATTLIST datum tag (1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10) #REQUIRED>
<!ATTLIST datum jahr (1979 | 1980 | 1981 | 1982 | 1983) #REQUIRED>
<datum monat=“März“ tag=“2“ jahr=“1979“/>
f
<datum monat=“Januar“ tag=“02“ jahr=“1979“/>
<datum monat=“Januar“ tag=“2“ jahr=“1978“/>
f
Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 1/2 - Vorlesung 11
25
Attributtyp: ID
Ein Attribut vom Typ ID:
• muss einen XML-Namen enthalten, der im Dokument eindeutig ist
Beispiel: <!ATTLIST Abteilungsleiter Personalnummer ID #REQUIRED>
<Abteilungsleiter Personalnummer=“_123-45-6789“>
Jupp Zupp
</Abteilungsleiter>
Zahlen sind als ID-Werte
problematisch, da sie keine XMLNamen sind. Deshalb muss ihnen
z.B. ein Buchstabe oder
Unterstrich vorangestellt werden.
Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 1/2 - Vorlesung 11
26
Attributtyp: IDREF
Ein Attribut vom Typ IDREF
• verweist auf ein Attribut vom Typ ID eines Elements im Dokument
Beispiel: <!ATTLIST Abteilungsleiter Personalnummer ID #REQUIRED>
<!ATTLIST Angestellter Vorgesetzter IDREF #REQUIRED>
<Abteilungsleiter Personalnummer=“_123-45-6789“>
Jupp Zupp
</Abteilungsleiter>
<Angestellter Vorgesetzter=“_123-45-6789“>
Kurt Knecht
</Angestellter>
Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 1/2 - Vorlesung 11
27
Attributtyp: IDREFS
Ein Attribut vom Typ IDREF
• verweist auf die Attribute vom Typ ID mehrerer Elemente im Dokument
• IDs werden durch Leerzeichen voneinander getrennt
Beispiel: <!ATTLIST Abteilungsleiter PersNr ID #REQUIRED>
<!ATTLIST Abteilungsleiter Team IDREFS #REQUIRED>
<!ATTLIST Angestellter PersNr ID #REQUIRED>
<Abteilungsleiter PersNr=“C0815“ Team=“A911 A4711“>
Jupp Zupp
</Abteilungsleiter>
<Angestellter PersNr=“A911“>
Kurt Knecht
</Angestellter>
<Angestellter PersNr=“A4711>“
Rudi Rödler
</Angestellter>
Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 1/2 - Vorlesung 11
28
Von UML zu XML (I)
• Modellierung von Systemen und Datenstrukturen erfolgt heutzutage
zumeist mittels UML-Diagrammen
• Für den Datenaustausch oder die Speicherung der
Anwendungsdateien ist die Verwendung von XML sinnvoll
Probleme:
• UML ist objektorientiert, XML elementorientiert
• Neben Klassen modelliert UML insbesondere auch Assoziationen
– XML besitzt kein direkt vergleichbares Konzept für Assoziationen
(Einbettung von Kindelementen entspricht am ehesten der Aggregation)
• Keine 1:1-Abbildung von UML auf XML-Strukturen
– Abbildung von UML nach XML nicht eindeutig (mehrere Möglichkeiten)
– Festlegung auf Abbildungsvarianten sind sog. Entwurfsentscheidungen
Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 1/2 - Vorlesung 11
29
Von UML zu XML (II)
Landkarte
UML
XML
Objekte
Elemente
Eindeutigkeit
Attributtyp ID
Assoziation,
Aggregation
Kindelement(e),
Attributtyp IDREF(S)
Vererbung
mit DTDs: ?
1..*
Polygon
1,2
3..*
Linie
2..*
2
Knoten
Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 1/2 - Vorlesung 11
30
UMLXML: Aggregation
• Aggregation ist eine spezielle Assoziation, deren beteiligte
Klassen eine Ganzes-Teile-Hierarchie darstellen
DTD-Deklaration
Ganzes
Polygon
<!ELEMENT Polygon (Linie,Linie,Linie+)>
<!ELEMENT Linie (#PCDATA)>
Beispiel XML-Datei
3..*
Teil
Linie
<Polygon>
<Linie>1</Linie>
<Linie>2</Linie>
<Linie>3</Linie>
</Polygon>
Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 1/2 - Vorlesung 11
31
UMLXML: Assoziation
<!ATTLIST Linie
Linien_ID
Knoten_IDs
<!ATTLIST Knoten Knoten_ID
Linien_IDs
ID #REQUIRED
IDREFS #REQUIRED>
P9
ID #REQUIRED
IDREFS #REQUIRED>
<Linie Linien_ID=“L1“ Knoten_IDs=“P3 P7“ />
L7
L3
<Linie Linien_ID=“L3“ Knoten_IDs=“P7 P9“ />
<Linie Linien_ID=“L5“ Knoten_IDs=“P4 P7“ />
<Linie Linien_ID=“L6“ Knoten_IDs=“P4 P9“ />
P3
L1
<Linie Linien_ID=“L7“ Knoten_IDs=“P3 P9“ />
<Knoten Knoten_ID=“P3“ Linien_IDs=“L1 L7“ >100,100</Knoten>
<Knoten Knoten_ID=“P4“ Linien_IDs=“L5 L6“ >250,200</Knoten>
<Knoten Knoten_ID=“P7“ Linien_IDs=“L1 L3 L5“>200,100</Knoten>
<Knoten Knoten_ID=“P9“ Linien_IDs=“L3 L6 L7“>150,200</Knoten>
Linie
2..*
2
L6
P4
L5
P7
Knoten
Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 1/2 - Vorlesung 11
32
UMLXML: Vererbung
Eine Vererbung, wie sie bei UML möglich ist, kann in XML
durch die DTDs nicht erreicht werden.
Person
Name
Vorname
Die Vererbung muss in XML manuell
durchgeführt werden.
<!ELEMENT Person (Name,Vorname)>
<!ELEMENT Student (Name,Vorname,
Matrikelnummer)>
Eine weitere Lösungsmöglichkeit ist die
Nutzung von XML-Schema.
Student
Matrikelnummer
Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 1/2 - Vorlesung 11
33
Beispiel Landkarten: 1. Möglichkeit (I)
Landkarte
<!ELEMENT Landkarte (Polygon+)>
<!ELEMENT Polygon (Linie, Linie, Linie+)>
<!ELEMENT Linie (Knoten, Knoten)>
<!ELEMENT Knoten (EMPTY)>
<!ATTLIST Knoten xKoord CDATA #REQUIRED
yKoord CDATA #REQUIRED>
1..*
Polygon
2
3..*
Linie
2..*
2
Knoten
Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 1/2 - Vorlesung 11
34
Beispiel Landkarten: 1. Möglichkeit (II)
<!ELEMENT Landkarte (Polygon+)>
<Landkarte>
<!ELEMENT Polygon (Linie, Linie, Linie+)> <Polygon>
<!ELEMENT Linie (Knoten, Knoten)>
<Linie>
<!ELEMENT Knoten (#PCDATA)>
<Knoten xKoord=“100“ yKoord=“100“
<Knoten xKoord=“200“ yKoord=“100“
<!ATTLIST Knoten
</Linie>
xKoord CDATA #REQUIRED
<Linie>
yKoord CDATA #REQUIRED>
<Knoten xKoord=“200“ yKoord=“100“
<Knoten xKoord=“150“ yKoord=“200“
</Linie>
150, 200
<Linie>
<Knoten xKoord=“100“ yKoord=“100“
<Knoten xKoord=“150“ yKoord=“200“
</Linie>
</Polygon>
</Landkarte>
100, 100
200, 100
Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 1/2 - Vorlesung 11
/>
/>
/>
/>
/>
/>
35
Beispiel Landkarten: 2. Möglichkeit (I)
<!ELEMENT Landkarte (Polygon+,(Linie, Linie, Linie+),(Knoten, Knoten, Knoten+))>
<!ELEMENT Polygon EMPTY>
Landkarte
<!ELEMENT Linie EMPTY>
<!ELEMENT Knoten EMPTY>
1..*
Polygon
3..*
2
3..*
Linie
3..*
2..*
2
Knoten
Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 1/2 - Vorlesung 11
36
Beispiel Landkarten: 2. Möglichkeit (II)
<!ELEMENT Landkarte (Polygon+,(Linie,Linie, Linie+),(Knoten, Knoten, Knoten+))>
<!ELEMENT Polygon EMPTY>
<!ELEMENT Linie EMPTY>
<!ELEMENT Knoten EMPTY>
<!ATTLIST
Landkarte Polygon_IDs
IDREFS #REQUIRED>
<!ATTLIST
Polygon
Polygon_ID
ID
Linien_IDs
IDREFS #REQUIRED>
Linien_ID
ID
Knoten_IDs
IDREFS #REQUIRED>
Knoten_ID
ID
xKoord
CDATA #REQUIRED
yKoord
CDATA #REQUIRED>
<!ATTLIST
<!ATTLIST
Linie
Knoten
#REQUIRED
#REQUIRED
#REQUIRED
Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 1/2 - Vorlesung 11
37
Beispiel Landkarten: 2. Möglichkeit (III)
<Landkarte Polygon_IDs=“P1 P2“>
<Polygon Polygon_ID=“P1“ Linien_IDs=“L1 L3 L7“ />
P4
<Polygon Polygon_ID=“P2“ Linien_IDs=“L3 L5 L6“ />
L6
<Linie Linien_ID=“L1“ Knoten_IDs=“P3 P7“ />
<Linie Linien_ID=“L3“ Knoten_IDs=“P7 P9“ />
L5
P9
<Linie Linien_ID=“L5“ Knoten_IDs=“P4 P7“ />
<Linie Linien_ID=“L6“ Knoten_IDs=“P4 P9“ />
L3
<Linie Linien_ID=“L7“ Knoten_IDs=“P9 P3“ />
L7
<Knoten Knoten_ID=“P3“ xKoord=“100“ yKoord=“100“ />
P7
<Knoten Knoten_ID=“P4“ xKoord=“250“ yKoord=“200“ />
L1
<Knoten Knoten_ID=“P7“ xKoord=“200“ yKoord=“100“ />
<Knoten Knoten_ID=“P9“ xKoord=“150“ yKoord=“200“ />
P3
</Landkarte>
Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 1/2 - Vorlesung 11
38
Herunterladen