Fachhochschule Wiesbaden - Fachbereich DCSM. Namespaces in XML.

Ähnliche Dokumente
Strukturierung von Inhalten

Verteilte Anwendungen. Teil 2: Einführung in XML

Klaus Schild, XML Clearinghouse Namensräume

... MathML XHTML RDF

2. Einführung in Datenbanken und XML

DTD: Syntax-Zusammenfassung

XML 1. Einführung, oxygen. Ulrike Henny. IDE Summer School 2013, Chemnitz

XML. Teil 3: Namensräume. Abteilung Informatik WS 02/03


XML Grundlagen. Andreas Rottmann,Sebastian Riedl. 27. August Quit Full Screen Previous Page Next Page GoTo Page Go Forward Go Back

Web-Programmierung (WPR)

Datenaustauschformate. Datenaustauschformate - FLV

Aufbau von XML- Dokumenten

XML Grundlagen Teil I

XML-Namensräume. Marc Monecke

ASN.1 <-> XML TRANSLATION

Erste Schritte mit XHTML

IT-Zertifikat: Daten- und Metadatenstandards

Semantic Web Technologien

XML-Praxis. XML-Grammatiken. Jörn Clausen

xmltex Oder Wie bringt man XML und TeX zusammen? Daniel Radünz

XML. extensible Markup Language. Dr. Beatrice Amrhein.

2. XML 2.1 XML 1.0 und XML Schema. Jörg Schwenk Lehrstuhl für Netz- und Datensicherheit

XML Eine Einführung XML Dokumente Erstellen

Uniform Resource Identifiers (URI) und Domain Name Service (DNS)

8 XML. extensible Markup Language. abgeleitet von SGML. definierbare logische Struktur: markierte, sortierte Bäume

AGENDA. - Shannon - Theorie - Historie: Schrift, Gutenberg, Hypertext, HTML, Multimedia-Systeme. - Anliegen von XML, Markup-Sprachen, XML versus HTML

Grundlagen der WWW- und Dokumenten-Architektur. Robert Strzebkowski TFH Berlin

WSDL Web-basierte Anwendungen WSDL WSDL. Eine Vertiefungsveranstaltung mit Schwerpunkt auf XML-Technologien. Web Services Description Language

XML Verarbeitung mit einer in Haskell eingebetteten DSL. Manuel Ohlendorf (xi2079)

HTML-Grundlagen (X)HTML:

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

XML Informationsmodelle

XML, XHTML und MathML

Inhaltsverzeichnis. Teil 1 Grundlagen 5. Teil 2 Formatierung 31 INHALTSVERZEICHNIS

Das Einsteigerseminar

EWA HTML Grundlagen, Usability, Barrierefreiheit

HTML5. Wie funktioniert HTML5? Tags: Attribute:

Einführung in XML. Von Klammern, Schachteln und gefüllten Keksen. Hier im Folienmaster Präsentationstitel eintragen

FileMaker Konferenz 2010 XML / XSLT. Ein Workshop mit [x] cross solution Armin Egginger

XML Kurs LRZ 1

XSL Templates. Mit Templates arbeiten. XSL Templates

XML DTD und Schema von Thomas Mangold

Lösungen der Aufgaben zur Klausurvorbereitung. Aufgabe 1: a) was sagen die folgenden Eigenschaften eines XML-Dokumentes aus? wohlgeformt gültig

Hypertext Markup Language HTML. Stefan Szalowski Internet-Technologien HTML

Einführung in XML. Seminar: XML in der Bioinformatik Frank Schönmann WS 2002/03

Softwareentwicklung mit Komponenten

Anhang B. B.1 Webseiten für Entwickler. Anwendungen

Einführung in DocBook

Dokumentation Externe Anzeige von Evento Web Dialogen

XML und SOAP Einführung und Grundlagen

Web-Programmierung (WPR)

Bezeichnung für die computergestützte Kommunikation zwischen Unternehmen.

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

Das Umfeld von XML. Übersicht

Scalable Vector Graphics (SVG)

CONTENT SYNDICATION EIN MODERNER WEG FÜR DEN INFORMATIONSAUSTAUSCH MIT XML

XML Eine Einführung. XML-Dokumente Im Internet Darstellen. XML (C) J.M.Joller 1

Information und ihre Darstellung: XHTML & CSS

Containerformat Spezifikation

Geodaten: Modelle und Strukturen

CARL HANSER VERLAG. Dirk Ammelburger XML. Grundlagen der Sprache und Anwendungen in der Praxis

XML-Praxis. XML-Grammatiken.

XML-basierte Standards für den Datenaustausch in der Logistikkette

Metadaten RDF und DublinCore zur Beschreibung von Dokumenten

Klausur zur Vorlesung Einführung in XML


Information über die WebServices der Parlamentsdienste

Objektorientiertes Programmieren für Ingenieure

Michel Messerschmidt Diplomarbeit. Entwurf einer Sprache zur Klassifizierung von Malware-Vorfällen

Vorlesung Grundlagen des World Wide Web Klausur

Daten- und Metadatenstandards Wintersemester 2011 / November 2011 XML II: DTD

Kapitel WT:III (Fortsetzung)

Einführung in XML. Schachteln und Klammern Dieses Element kann nicht ohne Attribut daherkommen. Hier im Folienmaster Präsentationstitel eintragen

Agenda. Einleitung. Einbinden von JSF AJAX Beispiele Komponenten Entwicklung PrimeFaces Praktikum. Was ist JSF Aufbau und Techniken HTML vs.

6. Datenbanken und XML

Metadaten RDF und DublinCore zur Beschreibung von Dokumenten. Sebastian Niebius,

X-Technologien. Ein Überblick. Ulrike Henny. IDE Summer School 2013, Chemnitz

SingleSignOn Schnittstelle

1 Software Engineering 1

IT- und Medientechnik

Berner Fachhochschule Software Schule Schweiz JDOM. Beatrice Amrhein. Oktober 06

Containerformat Spezifikation

Als Webtechnologien bezeichnen wir die Summe aller Technologien, mittels derer das WWW betrieben wird.

Einführung in XML. von. Prof. Dr. Manfred Dausmann Dipl.-Ing. (FH) Alexander König. Stand: November 2010

Dr. Thomas Meinike Hochschule Merseburg

Was ist SVG? Inhalt: Allgemeines zu SVG Besondere Merkmale Vor- und Nachteile Dateiformat Standardobjekte Koordinatensystem Beispiele Links

Gliederung. Service Oriented Architecture - XML Technologies. 1 von 11

Fachhochschule Wiesbaden - Fachbereich DCSM. Skriptsprachen. Moderne, objekt-orientierte Skriptsprachen mit Betonung auf Ruby

XML. Design Patterns. von Susanne Katz (sk30) und Daniel Brenner (db029)

Programmieren I. Formale Sprachen. Institut für Angewandte Informatik

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

Transformation von XML-Dokumenten. IDE SummerSchool 2013, Chemnitz

XML Pointer Language (XPointer), XML Linking Language (XLink), XML Base (XBase, ganz kurz) XML Pointer Language. XPointer.

Webseite in XML Kurzeinführung

XML Schema vs. Relax NG

Information und Ihre Darstellung

Tobias Hauser. XML-Standards. schnell+kompakt

XML. Basis Syntax. Basis Syntax. XML (extensible Markup Language)

Transkript:

Fachhochschule Wiesbaden - Fachbereich DCSM Namespaces in XML http://www.w3.org/tr/rec-xml-names, http://www.w3.org/tr/xml-names11 22.04.2008 2004, 2008 H. Werntges, SB Informatik, FB DCSM, FH Wiesbaden 1

Warum Namensräume in XML? Book : <book> <title> </title> <authors> </authors> <chapter> </chapter> </book> Person <person> <name> </name> <title> </title> <cv> <birthdate> </birthdate> </cv> </person> XHTML: <html> <head> <title> </title> </head> <body> </body> </html> Fazit: Die Namen von Elementen (und Attributen) von XML- Dokumenten vermischter Herkunft kollidieren leicht! Es besteht Handlungsbedarf bei Mischung dieser Elemente sowie bei Verwechslungsgefahr 22.04.2008 2004, 2008 H. Werntges, SB Informatik, FB DCSM, FH Wiesbaden 2

Warum Namensräume in XML? Kein Problem, solange jedes Dokument seine eigene DTD besitzt diese DTD das Dokument auch begleitet von mehreren DTDs genutzte Elemente und Attribute nicht kollidieren Grenzen erreicht, wenn mehrere DTD-Autoren kooperieren sollen globale Attribute benötigt werden (z.b. XLink) objektorientierte Ansätze abzubilden sind Beispiel: Der Autor von book.dtd möchte für Element authors das Element person erben: <!ENTITY % person SYSTEM "person.ent"> %person; <!ELEMENT book (title, authors, chapter+)> <!ELEMENT title #PCDATA> <!ELEMENT authors (person, affiliation)+ > Problem: Kollision zwischen lokaler Deklaration von title und title aus person.ent! 22.04.2008 2004, 2008 H. Werntges, SB Informatik, FB DCSM, FH Wiesbaden 3

Der Lösungsansatz von XML namespaces 1) Präfix-Vergabe für Elemente und Attribute Konvention: Doppelpunkt : als Trennzeichen Kompatibel mit XML 1.0-Regeln und DTDs Formal: QNames statt Names Kompakt: Präfixwerte sind i.d.r. kurz Flexibel: XML-Autoren können Präfixwerte frei vergeben Dadurch: Schaffung disjunkter Namensräume! Beispiel: <bk:book> <bk:title> </bk:title> <bk:authors> <nm:person> <nm:name> <nm:title> </nm:title> </nm:name></nm:person></bk:authors> <bk:chapter> </bk:chapter> </bk:book> 22.04.2008 2004, 2008 H. Werntges, SB Informatik, FB DCSM, FH Wiesbaden 4

Der Lösungsansatz von XML namespaces 2) Folgeproblem: Nun sind Präfix-Kollisionen möglich! Lösung: Identifikation jedes Präfix mit einer weltweit eindeutigen ID 3) Restproblem: Was sind geeignete IDs? Kandidaten: SGML s Formal Public Identifiers (FPI) Beispiel: "-//W3C//DTD HTML 4.0 Transitional//EN" Internet domain names (IDN) Beispiel: fh-wiesbaden.de Universal Resource Identifiers (URI), bestehend aus: Universal Resource Locators (URL) http://www.informatik.fh-wiesbaden.de/~werntges/namespaces/sample1 Universal Resource Names (URN) urn:idn fh-wiesbaden.de:fbi-werntges-sample2 22.04.2008 2004, 2008 H. Werntges, SB Informatik, FB DCSM, FH Wiesbaden 5

Der Lösungsansatz von XML namespaces Vor- und Nachteile der Alternativen FPI IDN URL URN Eingeführt zum Zweck der Ressourcenverwaltung, nicht nur zur reinen Identifikation Offizielle Registrierung ist nicht verbreitet, Globale, intensive Nutzung nicht registrierter FPI birgt Kollisionsgefahr Teuer, umständlich und zeitaufwändig in der Anschaffung Es gibt viel mehr Bedarf an IDs als IDNs Eingeführt zum Zweck der Ressourcenverwaltung, nicht nur zur reinen Identifikation Weit verbreitet, leicht zu verstehen und zu verwenden Konzeptionell genau zum Zweck der Identifikation eingeführt Noch wenig verbreitet / wenig bekannt 22.04.2008 2004, 2008 H. Werntges, SB Informatik, FB DCSM, FH Wiesbaden 6

Der Lösungsansatz von XML namespaces Die pragmatische Lösung: Virtuelle URL Man verwendet die URL-Notation zur Vergabe von IDs Globale Eindeutigkeit geregelt durch a) globale Sicherung durch Nutzung der IDN-Verwaltung (DNS, ICANN) b) lokale Sicherung der Eindeutigkeit durch IDN-Besitzer. Generell sind alle URI - also auch URN - verwendbar ACHTUNG: URL, die im Kontext von XML Namespace verwendet werden, sind zunächst reine Namen. Im Gegensatz zu normalen URL befinden sich dahinter keine (z.b. per Browser ladbaren) Dokumente! Allerdings hindert niemand die Urheber von Namespace URL daran, tatsächlich Dokumente unter diesen URL bereitzustellen. 22.04.2008 2004, 2008 H. Werntges, SB Informatik, FB DCSM, FH Wiesbaden 7

Der Lösungsansatz von XML namespaces 4) Einbettung der Präfix-Zuordnungen in XML 1.0 per Konvention sowie per Einführung des globalen Attributs / Präfix-Wertes xmlns: Beispiel (vollständig, wohlgeformt, XML namespace-konform): <bk:book xmlns:bk="http://www.mybooks.net/ids2002" xmlns:nm="http://www.other-authors.org/names2002"> <bk:title> </bk:title> <bk:authors> <nm:person> <nm:name> <nm:title> </nm:title> </nm:name></nm:person></bk:authors> <bk:chapter> </bk:chapter> </bk:book> 22.04.2008 2004, 2008 H. Werntges, SB Informatik, FB DCSM, FH Wiesbaden 8

XML namespaces: Scoping Vererbung der Attribute xmlns: bzw. xmlns:prefix : Die Wirkung von namespace-deklarationen in einem Element vererbt sich an alle Unter-Elemente. Eine Deklaration in einem Unter-Element überschreibt die ererbte und vererbt sich wiederum an dessen Unter-Elemente. Analogie zu xml:lang und xml:space Die Vererbung erfolgt einfach aufgrund der Elementschachtelung im Dokument - eine DTD ist dazu nicht notwendig. Beispiel 1: Siehe Bsp. zu Punkt (4) Präfix-Werte bk und nm werden im root-element book deklariert, aber auch in den Unter-Elementen verwendet. 22.04.2008 2004, 2008 H. Werntges, SB Informatik, FB DCSM, FH Wiesbaden 9

XML namespaces: Scoping Beispiel 2: Lokale scope-änderung <bk:book xmlns:bk="http://www.mybooks.net/ids2002"> <bk:title> </bk:title> <bk:authors><bk:person <! -- hier scope-wechsel von bk --> xmlns:bk="http://www.other-authors.org/names2002"> <bk:name> <bk:title> </bk:title> </bk:name></bk:person> <! -- hier scope-wechsel von bk --> </bk:authors> <bk:chapter> </bk:chapter> </bk:book> Vorsicht: Zulässig, aber verwirrend. Kein empfohlener Stil! 22.04.2008 2004, 2008 H. Werntges, SB Informatik, FB DCSM, FH Wiesbaden 10

Der default namespace Diese Konvention zur weiteren Vereinfachung des markup vermeidet die Verwendung von Präfixwerten, typischerweise bei den am häufigsten verwendeten Elementen. Beispiel <book xmlns="http://www.mybooks.net/ids2002" xmlns:nm="http://www.other-authors.org/names2002" > <!-- kein Präfix! --> <title> </title> <authors> <nm:person> <nm:name> <!-- hier Präfix! --> <nm:title> </nm:title> <!-- hier Präfix! --> </nm:name></nm:person></authors> <!-- hier Präfix! --> <chapter> </chapter> </book> 22.04.2008 2004, 2008 H. Werntges, SB Informatik, FB DCSM, FH Wiesbaden 11

default namespace und scoping Auch der default namespace vererbt sich und kann lokal überschrieben werden. Im folgenden Beispiel werden so alle Präfixes vermieden. Beispiel <book xmlns="http://www.mybooks.net/ids2002"> <title> </title> <authors> <person <!-- Neuer Namespace-Kontext --> xmlns="http://www.other-authors.org/names2002" > <name> <title> </title> </name></person> </authors> <!-- Wieder alter Namespace-Kontext --> <chapter> </chapter> </book> Vorsicht - auch dies ist leicht verwirrend! 22.04.2008 2004, 2008 H. Werntges, SB Informatik, FB DCSM, FH Wiesbaden 12

Leerer default namespace Als default namespace kann auch der leere String vergeben werden: Beispiel <book xmlns="http://www.mybooks.net/ids2002"> <title> </title> <authors> <person xmlns="" > <!-- Leerer Namespace-Kontext --> <name> <title> </title> </name></person> </authors> <!-- Wieder alter Namespace-Kontext --> <chapter> </chapter> </book> Vorsicht - einfach, aber verwirrend und auch kollisionsgefährdet! NS 1.1: Wirkung von : KEIN Namensraum. 22.04.2008 2004, 2008 H. Werntges, SB Informatik, FB DCSM, FH Wiesbaden 13

XML Prozessoren und namespaces Unterscheide XML-Prozessoren mit und ohne namespace-unterstützung! Verhalten ohne Unterstützung: Präfixwerte werden einfach als Namensteile behandelt Default-Regelungen und scope-wechsel wirken nicht Verhalten mit Unterstützung: QNames/Präfixwerte werden intern expandiert in fully-qualified names und dann erst verarbeitet, Defaultregeln werden dabei beachtet Verschiedene Präfixwerte, die auf denselben URI verweisen, wählen denselben Namensraum aus. (Hypothetische) fully-qualified names: <bk:title> wird zu <{http://www.mybooks.net/ids2002}title>, </nm:title> wird zu </{http://www.other-authors.org/names2002}title> <title> wird zu <{}title> (Im Kontext des leeren Namensraums) Bemerkung: Die { } sind keine gültigen Teile von XML 1.0 Names - sie erläutern hier nur die Expansion. 22.04.2008 2004, 2008 H. Werntges, SB Informatik, FB DCSM, FH Wiesbaden 14

Attribute und namespaces Generell gilt: Attribute gehören nicht direkt in das Namespace-Konzept. Sie sind ihren Elementen zugeordnet und dadurch indirekt einem Namensraum. Allerdings lassen die Spezifikationen eine Grauzone zu: Beispiel: Sind folgende beiden Fragmente gleichbedeutend? 1) <a:name id="25"> 2) <a:name a:id="25"> Leider bleibt die Entscheidung den Anwendungen überlassen! Während die meisten Anwendungen hier nicht unterscheiden, tut dies XSLT sehr wohl. Ausnahme: Globale Attribute Bestimmte globale Attribute lassen sich importieren & nutzen Ihr Namensraum wird dann explizit angegeben und unterscheidet sich i.d.r. von dem der lokalen Attribute des Elements. 22.04.2008 2004, 2008 H. Werntges, SB Informatik, FB DCSM, FH Wiesbaden 15

Globale Attribute und namespaces Beispiel: XLink Die XML Linking Language (XLink) verwendet globale Attribute, die per namespace-deklaration angemeldet werden und dann an beliebigen Stellen das Anlegen von links gestatten. <mydoc xmlns:xlink="http://www.w3.org/1999/xlink"> <citation xlink:type="simple" xlink:href="http://www.uw.ca/paper_on_xxx.xml"> Biemanns (1997) </citation> </mydoc> 22.04.2008 2004, 2008 H. Werntges, SB Informatik, FB DCSM, FH Wiesbaden 16

DTD und namespaces Hintergrund XML 1.0 und DTD gab es vor der namespace-konvention. Eine Unterscheidung Names - QNames kennt die DTD nicht. Aus DTD-Sicht sind Präfixwerte und der Doppelpunkt einfach Teile der Element- bzw. Attributnamen - und müssen somit explizit deklariert werden. Vorgehen bei Element-Deklarationen Die Elemente werden so deklariert, wie sie im XML-Quelltext erscheinen - incl. Präfix sofern vorhanden: <!ELEMENT myns:myelement (#PCDATA, (myns:sub1, myns:sub2)*)> <!ELEMENT myns:sub1 ( )> <!-- usw. --> 22.04.2008 2004, 2008 H. Werntges, SB Informatik, FB DCSM, FH Wiesbaden 17

DTD und namespaces Vorgehen bei Attributdeklarationen Normale Attribute werden ohne Präfix verwendet und demnach auch ohne Präfix deklariert. Verweise auf ihre Elementnamen enthalten ggf. ein Präfix. Die Verwendung der Attribute xmlns und xmlns:prefix ist zu deklarieren - wie gewohnt. Konvention: Namespace-URI sollten dabei per Attribut-Default zugewiesen werden, und zwar #FIXED: <!ATTLIST myns:myelement xmlns:myns CDATA #FIXED "http://www.mydomain.org/ns"> <!ATTLIST math <!-- DTD und default namespace / scoping! --> xmlns CDATA #FIXED "http://www.w3.org/tr/rec-mathml/"> Diese Konvention sollte man so bindend wie einen Standard betrachten. Einige Produkte, z.b. IE5, fordern dies bereits! Der doppelte Pflegeaufwand garantiert sowohl die DTD-Validierung als auch die Verträglichkeit mit namespace-kompatiblen Produkten. 22.04.2008 2004, 2008 H. Werntges, SB Informatik, FB DCSM, FH Wiesbaden 18

Stilfragen bei der Präfixvergabe Vermeiden: Re-Deklarationen von Präfixwerten Nutzung des leeren Namensraums Präfix vor Attributen Ausnahme: Gezielt für Globale Attribute Anstreben: Kurze Präfixwerte - markup wird überschaubarer Einhaltung verbreiteter Präfix-Konventionen html, xlink, xsd, xsi, xsl, fo,... Regel: gleicher Namensraum - gleiches Präfix Sparsamer Gebrauch von default-regeln DTD-Konformität (daraus folgern bereits andere Ziele) Wiederverwendbarkeit in fremdem Kontext 22.04.2008 2004, 2008 H. Werntges, SB Informatik, FB DCSM, FH Wiesbaden 19

Nachwort zu XML namespaces Das Konzept ist durchaus umstritten Markup wird unübersichtlicher, DTDs werden komplizierter. Defaults und Scope-Änderungen können verwirren. Die Empfehlungen könnten an einigen Stellen stärker einschränken. Gründe für die inzwischen weite Verbreitung Haupteinsatzgebiet: Integration von Daten aus verschiedenen Quellen. Beispiel: XHTML + SVG + MathML Solange meist Anwendungen - und nicht Menschen - in direktem Kontakt mit diesem markup kommen, stört s nicht. DTD-Validierung entfällt dabei oft bzw. wird ersetzt durch Schemabasierte Ansätze - die namespaces verwenden. Das Konzept passt insbesondere hervorragend zu XSL(T). Steuernder markup lässt sich dank Präfixregelung leicht von zu erzeugendem markup unterscheiden. 22.04.2008 2004, 2008 H. Werntges, SB Informatik, FB DCSM, FH Wiesbaden 20

Beispiel: XML namespaces für XHTML + SVG <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/tr/xhtml11/dtd/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" xmlns:svg="http://www.w3.org/2000/svg"> <head> <title>text z.b. für den Fensterbalken</title> </head> <body> <p> SVG Quellcode, im XHTML-Quellcode eingebettet: </p> <svg:svg width="280" heigth="280"> <!-- SVG-Inhalt! --> </svg:svg> </body> </html> 22.04.2008 2004, 2008 H. Werntges, SB Informatik, FB DCSM, FH Wiesbaden 21

XML Namespace-Versionen XML Namespace V 1.0: TR des W3C Erste Ausgabe: 14.01.1999 Zweite Ausgabe: 16.08.2006 (Errata eingearbeitet) V 1.1: TR des W3C Erste Ausgabe: 04.02.2004 (noch: Vorschlag) Zweite Ausgabe: 16.08.2006 (nun TR; Errata eingearbeitet) Konvention: Präfix xml ist implizit stets vorhanden. Es bezeichnet den folgenden Namensraum: http://www.w3.org/xml/1998/namespace Präfix xmlns ist implizit stets vorhanden. Es bezeichnet den folgenden Namensraum: http://www.w3.org/2000/xmlns/ Diese Präfixwerte und Namensräume sind reserviert. Sie dürfen nicht verändert oder anderweitig zugewiesen werden. Präfixwerte, die mit [xx][mm][ll] beginnen, sind auch reserviert. 22.04.2008 2004, 2008 H. Werntges, SB Informatik, FB DCSM, FH Wiesbaden 22

XML Namespace-Versionen Unterschiede zwischen V 1.1 und V 1.0 Neu: Ein Mechanismus zur Aufhebung der Deklaration eines Präfix Zuweisung des leeren Strings kein gültiges Präfix mehr <a xmlns:n="abc"> </a> <n:b>foo</n:b> <!-- ok --> <c xmlns:n=""> <n:d/> <!-- FEHLER --> </c> Geändert: Namensräume sind IRIs ( RFC3987) statt URIs Unicode-Zeichen sind in IRIs möglich (UTF8, %-codiert ergibt URI) NS-IRIs sind gleich, wenn ihr String-Vergleich Gleichheit ergibt Groß/Kleinschreibung ist signifikant, %-Escaping wird nicht aufgelöst, wohl aber Zeichen- und Entity-Referenzen XML Namespace 1.1 setzt XML 1.1 voraus 22.04.2008 2004, 2008 H. Werntges, SB Informatik, FB DCSM, FH Wiesbaden 23