Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

8.November 2006 ― 1Elektronisches Publizieren: XML Namespaces Kodierung strukturierter Dokumente im Web — XML Namespaces —

Ähnliche Präsentationen


Präsentation zum Thema: "8.November 2006 ― 1Elektronisches Publizieren: XML Namespaces Kodierung strukturierter Dokumente im Web — XML Namespaces —"—  Präsentation transkript:

1 8.November 2006 ― 1Elektronisches Publizieren: XML Namespaces Kodierung strukturierter Dokumente im Web — XML Namespaces —

2 8.November 2006 ― 2Elektronisches Publizieren: XML Namespaces Problemstellung … Phänomen o Kombination verschiedener Vokabularien für Elemente und Attribute in einer XML-Anwendung / einem XML-Dokument o Anwendung verschiedener Software-Komponenten auf unterschiedliche Teile eines XML-Dokuments Problem o Identifizierung o Namenskonflikte (identische Namen, verschiedene Semantik) Ziel: Friedliche Koexistenz verschiedener Vokabularien Lösung auf DTD-Ebene? ― Problematisch!

3 8.November 2006 ― 3Elektronisches Publizieren: XML Namespaces … Problemstellung … o XML-Dateninseln in HTML-Code (Microsoft) o XForms-Formular-Elemente in HTML-Code (..\..\XFormsBeispiele\elementary.htm)..\..\XFormsBeispiele\elementary.htm o XSLT: Kodierung von speziellen Programmanweisungen und allgemeinen Ergebnisfragmenten in einem XML-Dokument 2003 o XLink: Kodierung von Hypertext-Vernetzung über spezielle XLink-Attribute in XML-Dokumenten Der Herbst, der Herbst, der Herbst ist da.

4 8.November 2006 ― 4Elektronisches Publizieren: XML Namespaces … Problemstellung Neuanschaffungen Mai 2000 Green Eggs and Ham Dr. Seuss

5 8.November 2006 ― 5Elektronisches Publizieren: XML Namespaces Funktion von Namensräumen o Festlegung, von welcher Art ein benanntes Objekt ist Angesichts der Mehrdeutigkeit von Namen (Maria = Mensch; Urania = Mensch | Planet; Hektor = Mensch | Katze) o Namensraum umfasst Klasse von Objekten, innerhalb derer Namen eindeutig sind o Aufgabe: Erkennung des Namensraums zu einem Namen o Mittel o Syntax, Verwendungskontext o explizite Markierung o In XML Namespaces o offener Namensraum (vgl. paket-interne Namen in Java) o Namensraum nur über Namen identifiziert

6 8.November 2006 ― 6Elektronisches Publizieren: XML Namespaces Namensräume in XML o Je eigene Namensräume für Elemente, XML-Entitäten, Fremddaten-Entitäten, Attributwerte, Notationen pro Dokument / Dokumentenklasse (Gültigkeitsbereich) o Zuordnung zu Namensraum über Syntax o Eigener Namensraum für Attribute pro Element (Gültigkeitsbereich) o Zuordnung zu Namensraum über Syntax o Je eigene universelle Namensräume für Datentypen und Prozessanweisungen o Zuordnung zu Namensraum über Syntax / Deklaration o Vereinbarung der Semantik außerhalb von XML

7 8.November 2006 ― 7Elektronisches Publizieren: XML Namespaces Namensräume in Java … o Je eigene Namensräume für Methoden und Attribute pro Klasse / Interface (Gültigkeitsbereich) o Zuordnung zu Namensraum über Syntax o Vererben, Überladen, Überschreiben, Verschatten o Dynamischer Namensraum für formale Parameter / Variablen pro Methode / Block (Gültigkeitsbereich) o Zuordnung zu Namensraum über Syntax und Ausführungskontext o Verschatten

8 8.November 2006 ― 8Elektronisches Publizieren: XML Namespaces … Namensräume in Java o Eigener Namensraum für Klassen / Interfaces pro Paket (Gültigkeitsbereich) o Zuordnung zu Namensraum über Anweisung package und Qualifizierung über Paketnamen o Kurzformen über Import-Mechanismus o Universeller Namensraum für Pakete o Eindeutigkeit von Namen über strukturierte Namen in Anlehnung an Internet Domains o Auflösung des Namens (Identifizieren des benannten Ordners) über package -Deklarationen und classpath -Setzungen

9 8.November 2006 ― 9Elektronisches Publizieren: XML Namespaces Funktion von Namen o Software o Referenz auf Software-Konstrukte (Speicherbereiche, Codesegmente) o Transparenz der Namen (außerhalb von Schnittstellen): Information Hiding o Strukturierte Dokumente / XML o Benennung von Dokumentenkonstrukten (Elemente, Attribute, Entitäten) o Referenz auf Definitionen dieser Konstrukte (DTDs) o keine Transparenz der Namen, Veräußerung der Namen

10 8.November 2006 ― 10Elektronisches Publizieren: XML Namespaces Funktionalität von XML Namespaces … o Benennung von Namensräumen für Elemente und Attribute mit URIs (vergleichbar mit Paketnamen in Java) o Markierung von Elementnamen mit Namensraumnamen  Differenzierung o Unmarkierte Attributnamen weiterhin elementspezifisch o Markierung von Attributnamen mit Namensraumnamen  Neu: Globale, elementunabhängige Attribute (XLink-Attribute, prinzipiell auch title, lang, src in HTML) o Freie Zuordbarkeit von Elementen / Attributen über Markierung mit Namensraumnamen (keine formale Definitionsgewalt über Namensräume, Interoperabilität durch Vereinbarung / Werkzeugunterstützung)

11 8.November 2006 ― 11Elektronisches Publizieren: XML Namespaces … Funktionalität von XML Namespaces … o Implizite Struktur eines Namensraums o globale Elemente: Zuordnung zum Namensraum über Markierung mit Namensraumnamen o globale Attribute: Zuordnung zum Namensraum über Markierung mit Namensraumnamen o lokale Attribute für jedes globale Element im Namensraum: Attribute des Elements ohne Markierung mit Namensraumnamen o Anonymer, universeller Namensraum für Elemente ohne explizite Namensraumzuordnung

12 8.November 2006 ― 12Elektronisches Publizieren: XML Namespaces … Funktionalität von XML Namespaces o Namenraum für Kataloge: Namensraum für Bücher: Namensraum für Personennamen: Neuanschaffungen Mai 2000 Green Eggs and Ham Dr. Seuss o Umsetzung in W3C-Empfehlung „Namespaces in XML 1.1“ (REC-xml-names ), vor allem KodierungREC-xml-names

13 8.November 2006 ― 13Elektronisches Publizieren: XML Namespaces Kodierung … o Markierung von Element- und Attributnamen mit Namensraumnamen (URIs) indirekt über Präfixe, an die über Deklarationen URIs gebunden werden Neuanschaffungen Mai 2000 Green Eggs and Ham Dr. Seuss

14 8.November 2006 ― 14Elektronisches Publizieren: XML Namespaces … Kodierung … o Gültigkeitsbereich der Präfixdefinition o innerhalb des Elements, in dem das Präfix definiert ist, einschließlich des Elements selbst o Überschreiben der Definition innerhalb der Elementhierarchie möglich o Binden des leeren Präfixes an Namensraumnamen (URI) möglich (Defaultnamensraum) o mittels des Attributs xmlns (ohne Doppelpunkt) o Überschreiben der Definition innerhalb der Elementhierarchie möglich o Rücksetzen auf anonymen, universellen Namensraum durch Definition xmlns=""

15 8.November 2006 ― 15Elektronisches Publizieren: XML Namespaces … Kodierung o Präfixe, die mit x,m,l in beliebiger Groß- oder Kleinschreibung beginnen, sind reserviert o Das Präfix xmlns für Attribute zur Definition von Namensraumpräfixen darf nicht definiert werden; es ist gebunden an o Das Präfix xml darf definiert werden, aber nur mit vorgegebenem Wert

16 8.November 2006 ― 16Elektronisches Publizieren: XML Namespaces Cross Check o Vererbung der Präfixdefinition, nicht der Namensraumzuordnung o Begriffe: Namensraumpräfix, Namensraumname (URI), qualifizierter (raw), lokaler, expandierter Name o Verschiedene Präfixe können an denselben Namensraumnamen (URI) gebunden werden  Gleichheit der Element- bzw. Attributnamen o Es ist nicht möglich, ein Attribut ohne Präfix dem Defaultnamensraum als globales Attribut zuzuweisen o Der anonyme Namensraum hat keine globalen Attribute o Mit minimalem Aufwand ein ganzes XML-Dokument einem Namensraum zuordnen

17 8.November 2006 ― 17Elektronisches Publizieren: XML Namespaces Zusammenfassung … o Namespaces werden über URIs identifiziert (Namespace Name) [ + ein universeller anonymer NS ] o Jeder Element- oder Attributname in XML ist einem Namespace zugeordnet o Die Zuordnung erfolgt über ein Präfix, das mit Hilfe eines xmlns-Attributs an eine URI gebunden ist; es ist möglich, das leere Präfix an eine URI zu binden (Definition eines Default-Namensraum) o Die Bindung von Präfix an URI ist gültig für das Element, in dem sie getroffen wurde, und für alle untergeordneten Elemente, bis eine Umdefinition des Präfixes erfolgt

18 8.November 2006 ― 18Elektronisches Publizieren: XML Namespaces … Zusammenfassung … o Elementnamen mit Präfix (qualifizierter Name) gehören zu dem Namensraum, den das Präfix definiert o Elementnamen ohne Präfix, für die die Deklaration eines Default-Namensraum gültig ist, gehören zu dem dort als Default deklarierten Namensraum o Elementnamen ohne Präfix, für die keine Deklaration eines Default-Namensraums gültig ist, gehören zu dem universellen, anonymen Namensraum

19 8.November 2006 ― 19Elektronisches Publizieren: XML Namespaces … Zusammenfassung o Attributnamen mit Präfix (qualifizierter Name) gehören als globale Attribute zu dem Namensraum, den das Präfix definiert o Attributnamen ohne Präfix gehören als lokale Attribute zu dem Namensraum des Elements, bei dem sie definiert sind. o Keine weitere Semantik, welche Namen in einem durch einen Namensraum-Namen gekennzeichneten Namensraum enthalten sind

20 8.November 2006 ― 20Elektronisches Publizieren: XML Namespaces Konformität XML Namespaces … Nachrangigkeit von XML-Namespaces gegenüber XML o Namespaces-konforme Dokumente müssen XML-konform sein o Validität: Ein Namespaces-konformes Dokument ist valide, wenn es als XML-Dokument valide ist. o erst XML-Prozessor, dann Namespaces-Prozessor o validierender XML-Prozessor interpretiert nicht die Indirektion von Namespace-Präfixen

21 8.November 2006 ― 21Elektronisches Publizieren: XML Namespaces … Konformität XML Namespaces … Syntax von XML Namespaces o Namen von Elementen und Attributen in Namespaces- konformen XML-Dokumenten dürfen höchstens einen Doppelpunkt enthalten. Der Teil vor dem Doppelpunkt (falls existent) ist das Präfix. Präfixe müssen in einem übergeordneten oder in demselben Element deklariert sein o Alle anderen Namen (z.B. ID-Werte) dürfen keinen Doppelpunkt enthalten o Anwendungen wie XSLT und XML Schema nutzen Namensraum-Markierungen auch in Attributwerten, entgegen der ursprünglichen Intention  Nachhalten von Präfix-URI-Bindungen im Datenmodell

22 8.November 2006 ― 22Elektronisches Publizieren: XML Namespaces … Konformität XML Namespaces o Ergebnis der Bearbeitung eines XML-Dokuments mit einem Namespaces-Prozessor: Annotation der Elemente und Attribute mit dem Namensraumnamen o nicht standardisiert o nicht in XML ausdrückbar o Gleichheit von Namen vor und nach Bearbeitung durch Namespaces-Prozessor unterschiedlich o Namespace-Prozessoren integriert mit XML-Parsern, Veräußerung von Namespace-Information über XML-APIs

23 8.November 2006 ― 23Elektronisches Publizieren: XML Namespaces Namespaces und DTDs Techniken zum Umgang mit Namespaces in DTDs o Deklaration von Default-Namensraum als fixes Attribut (geeignet für Dateninseln) Verwendung … (Beispiel)Beispiel o Referenzen in DTD (von außen überschreibbar)

24 8.November 2006 ― 24Elektronisches Publizieren: XML Namespaces Bewertung XML Namespaces o Namespaces haben sich für gemischte Vokabularien durchgesetzt (Beispiele XSLT, XLink, XML Schema) o Namespaces und DTDs sind nicht kompatibel o Bessere Kompatibilität von Namespaces und Strukturvorgaben mit XML Schema oder Relax NG


Herunterladen ppt "8.November 2006 ― 1Elektronisches Publizieren: XML Namespaces Kodierung strukturierter Dokumente im Web — XML Namespaces —"

Ähnliche Präsentationen


Google-Anzeigen