Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Fortsetzung DTDs, UML  XML

Ähnliche Präsentationen


Präsentation zum Thema: "Fortsetzung DTDs, UML  XML"—  Präsentation transkript:

1 Fortsetzung DTDs, UML  XML
Geoinformation III Vorlesung 13b Fortsetzung DTDs, UML  XML

2 Beispiel Landkarten: 1. Möglichkeit (I)
<!ELEMENT Landkarte (Polygon+)> <!ELEMENT Polygon (Linie, Linie, Linie+)> <!ELEMENT Linie (Knoten, Knoten)> <!ELEMENT Knoten (EMPTY)> <!ATTLIST Knoten xKoord CDATA #REQUIRED yKoord CDATA #REQUIRED> Landkarte 1..* 2 Polygon 3..* Linie 2..* 2 Knoten

3 Beispiel Landkarten: 1. Möglichkeit (II)
2 Beispiel Landkarten: 1. Möglichkeit (II) <!ELEMENT Landkarte (Polygon+)> <!ELEMENT Polygon (Linie, Linie, Linie+)> <!ELEMENT Linie (Knoten, Knoten)> <!ELEMENT Knoten (#PCDATA)> <!ATTLIST Knoten xKoord CDATA #REQUIRED yKoord CDATA #REQUIRED> <Landkarte> <Polygon> <Linie> <Knoten xKoord=“100“ yKoord=“100“ /> <Knoten xKoord=“200“ yKoord=“100“ /> </Linie> <Knoten xKoord=“150“ yKoord=“200“ /> </Polygon> </Landkarte> 150, 200 200, 100 100, 100 A 2x

4 Beispiel Landkarten: 2. Möglichkeit (I)
3 Beispiel Landkarten: 2. Möglichkeit (I) <!ELEMENT Landkarte (Polygon+,(Linie, Linie, Linie+),(Knoten, Knoten, Knoten+))> <!ELEMENT Polygon EMPTY> <!ELEMENT Linie EMPTY> <!ELEMENT Knoten EMPTY> Landkarte 1..* 3..* 3..* Polygon 2 3..* Linie 2..* 2 Knoten

5 Beispiel Landkarten: 2. Möglichkeit (II)
4 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 #REQUIRED Linien_IDs IDREFS #REQUIRED> <!ATTLIST Linie Linien_ID ID #REQUIRED Knoten_IDs IDREFS #REQUIRED> <!ATTLIST Knoten Knoten_ID ID #REQUIRED xKoord CDATA #REQUIRED yKoord CDATA #REQUIRED>

6 Beispiel Landkarten: 2. Möglichkeit (III)
5 Beispiel Landkarten: 2. Möglichkeit (III) <Landkarte Polygon_IDs=“P1 P2“> <Polygon Polygon_ID=“P1“ Linien_IDs=“L1 L3 L7“ /> <Polygon Polygon_ID=“P2“ Linien_IDs=“L3 L5 L6“ /> <Linie Linien_ID=“L1“ Knoten_IDs=“P3 P7“ /> <Linie Linien_ID=“L3“ Knoten_IDs=“P7 P9“ /> <Linie Linien_ID=“L5“ Knoten_IDs=“P4 P7“ /> <Linie Linien_ID=“L6“ Knoten_IDs=“P4 P9“ /> <Linie Linien_ID=“L7“ Knoten_IDs=“P9 P3“ /> <Knoten Knoten_ID=“P3“ xKoord=“100“ yKoord=“100“ /> <Knoten Knoten_ID=“P4“ xKoord=“250“ yKoord=“200“ /> <Knoten Knoten_ID=“P7“ xKoord=“200“ yKoord=“100“ /> <Knoten Knoten_ID=“P9“ xKoord=“150“ yKoord=“200“ /> </Landkarte> P4 L6 L5 P9 L3 L7 P7 L1 P3

7 XSLT CSS XLink DTD GML XSL XHTML OWL SOAP UIML UXF PCX
6 Namensräume (Namespaces) XSLT CSS GXL SVG XLink XPath DTD GML XSL XHTML OWL SOAP UIML UXF PCX XDF SHOE

8 Lokaler Element- oder Attribut-Name
7 Namensräume (I) „Sonnensystem“: <Erde> <Pluto> <Saturn> <Jupiter> „Elemente“: <Erde> <Feuer> <Wasser> <Luft> Namensraum Namensraum < elemente : erde > < sonnensystem : erde > qualifizierter Name Namensraum-Präfix Lokaler Element- oder Attribut-Name A 7x

9 8 Namensräume (II) XML-Dokumente dürfen Elemente aus mehreren DTDs enthalten verschiedene DTDs definieren u.U. gleichnamige Element  Namenskonflikt Software-Module müssen erkennen, für welche Teile des Dokuments sie zuständig sind Lösung: Gruppierung von Namen für Elemente und Attribute und Zuordnung zu Namensräumen Jede Anwendung deklariert typischerweise ihren eigenen Namensraum (Beispiele siehe GML, SVG, SMIL usw.) Verwendung von qualifizierten Namen erlaubt problemlose Verwendung unterschiedlicher DTDs Modularisierung Code-Recycling

10 Namensraumdeklaration
9 Namensraumdeklaration Namensräume werden weltweit eindeutig durch eine URI (Uniform Resource Identifier) identifiziert Namensraum-Präfix muss ein XML-Name sein darf keine Sonderzeichen usw. enthalten URI´s beinhalten aber oftmals Sonderzeichen ( Namensraumdeklaration ordnet Präfix und URI einander zu: <person xmlns:job=“ <vorname>Carl Friedrich</vorname> <nachname>Gauß</nachname> <job:berufsbezeichnung>Mathematiker</job:berufsbezeichnung> </person>

11 Anwendung und Geltungsbereiche (I)
10 Anwendung und Geltungsbereiche (I) Der Namensraum-Präfix muss im aktuellen oder einem übergeordneten Element deklariert sein Präfixe xml und xmlns werden nicht deklariert Eine Namensraumdeklaration gilt bereits für das Element, in dessen Start-Tag sie erfolgt: <?xml version=“1.0“?> <!-- alle Elemente hier stehen explizit im Namensraum Personen --> <pers:person xmlns:pers=“ <pers:vorname>Carl Friedrich</pers:vorname> <pers:nachname>Gauß</pers:nachname> <job:berufsbezeichnung xmlns:job=“ Mathematiker </job:berufsbezeichnung> </pers:person>

12 Anwendung und Geltungsbereiche (II)
11 Anwendung und Geltungsbereiche (II) In einem Tag können mehrere Namensraum-Deklarationen stehen: <pers:person xmlns:pers=“ xmlns:job=“ <pers:vorname>Carl Friedrich</pers:vorname> <pers:nachname>Gauß</pers:nachname> <job:berufsbezeichnung>Mathematiker</job:berufsbezeichnung> </pers:person> <job:berufsbezeichnung Mathematiker </job:berufsbezeichnung> in diesem konkreten Beispiel äquivalent A 1x

13 Deklaration hier ohne Doppelpunkt!
12 Default-Namensräume gelten für alle Elemente, die keinen Namensraum-Präfix besitzen gelten nicht für Attributnamen ist die URI des Default-Namensraums leer, sind die Elemente ohne Präfix keinem Namensraum zugeordnet (unqualifizierter Name) Deklaration hier ohne Doppelpunkt! <?xml version=“1.0“?> <!–- anfangs ist der Default-Namensraum “Personen“ --> <person xmlns=“ <vorname>Carl Friedrich</vorname> <nachname>Gauß</nachname> <!-- neuer Default-Namensraum wird jetzt “Berufe“ --> <berufsbezeichnung xmlns=“ Mathematiker </berufsbezeichnung> </person>

14 Geltungsbereiche von Default-Namensräumen
13 Geltungsbereiche von Default-Namensräumen Namensraum Personen Namensraum Berufe person xmlns=“ name beruf xmlns=“ vorname nachname bezeichnung ausbildungsdauer A 1x


Herunterladen ppt "Fortsetzung DTDs, UML  XML"

Ähnliche Präsentationen


Google-Anzeigen