Grüssi,
Ich habe noch ein eher konzeptionelles Problem mit Namespaces! Wofüt braucht man diese denn nun?
XML-Namensräume dienen dazu, Namenskonflikte und Mehrdeutigkeiten in XML-Dokumenten zu vermeiden, die Elemente aus zwei (oder mehr) DTDs enthalten.
Ist das nicht eher ein "Seiteneffekt". Ich dachte immer es gehe mehr darum, die logische Zugehörigkeit eines Elements zu einem Schema auszudrücken. Wenn etwa zwei Geschäftspartner sich in XML unterhalten, dass zu jeder Zeit klar ist, was ein Element "bedeutet". In welchem "Kontext" es gesehen werden muss? Da es entweder in seinem eigenen, dem Schema des Partners, z.b.: vf, oder einem Allgemeingültigen Dritt-Schema (z.b. 'erf') definiert ist.
<erf:rechnung
xmlns:erf="http://domain/EinheitlichesRechnungsFormat">
<erf:verkaeufer id="erf:019R74SF43HG">
erf:firmaName der Firma</erf:firma>
erf:adresseNirgendwo 1erf:adresse
erf:kontaktPerson@firma</kontakt>
</erf:verkaeufer>
<erf:kaeufer erf:id="947S75ER34">
erf:firmaName der Firma</erf:firma>
erf:adresseRoad to Hellerf:adresse
erf:kontaktPerson@firma</kontakt>
</erf:kaeufer>
erf:bestellung
<vf:artikel erf:menge="1"
xmlns:fi="http://domain/VerkaeuferFirma">
vf:artnr12345</vf:artnr>
<vf:preis erf:steuer="inklusive" erf:waehrung="EUR">12</vf:preis>
vf:nameArtikelbezeichnung</vf:name>
vf:beschreibung...</vf:beschreibung>
</vf:artikel>
vf:artikel [...] </vf:artikel>
<erf:bestellsumme erf:steuer="inklusive" erf:waehrung="EUR">
123
</erf:bestellsumme>
</erf:bestellung>
</erf:rechnung>
Beispielsweise! Der Sinn hinter den Namespaces stellt sich mir hier nicht so sehr, dass keine Namen doppelt vorkommen, sondern eher dass der Parser die Elemente, Attribute, und deren Werte auf ihre Richtigkeit prüfen kann. Da stellt sich mir eigentlich nur die Frage: Holen sich die Parser ein (mit xmlns) eingebundenes Schema von der angegebenen URL? Validieren sie es? Laut deinem Posting tun sie das, wenn ich richtig gelesen habe.
lg bernhard