xmlns:xml wirft keine Fehler mehr

05/02/2008 - 13:47 von Christoph Schneegans | Report spam
Hallo allerseits!

Frühere Versionen der XML-Parser in MSXML und .NET mochten es gar nicht,
wenn der Namensraum 'http://www.w3.org/XML/1998/namespace' wie bspw. in

<foo xmlns:xml='http://www.w3.org/XML/1998/namespace'></foo>

explizit deklariert wurde. Das war natürlich ein Bug, denn
<http://www.w3.org/TR/REC-xml-names/...served> ist ja völlig
eindeutig:

"The prefix xml is by definition bound to the namespace name
http://www.w3.org/XML/1998/namespace. It MAY, but need not, be
declared, and MUST NOT be bound to any other namespace name. Other
prefixes MUST NOT be bound to this namespace name, and it MUST NOT
be declared as the default namespace."

Jetzt stelle ich fest, daß dieser Bug in MSXML 6.0 und auch schon in .NET
2.0 behoben wurde. Das ist sehr schön, wenn XML-Parser, die XML nicht
parsen können, sind manchmal etwas nervig.

<http://schneegans.de/sv/> · XML Schema Validator
 

Lesen sie die antworten

#1 Carl Schaffert
05/02/2008 - 15:07 | Warnen spam
Hallo Christoph,


Frühere Versionen der XML-Parser in MSXML und .NET mochten es gar nicht,
wenn der Namensraum 'http://www.w3.org/XML/1998/namespace' wie bspw. in

<foo xmlns:xml='http://www.w3.org/XML/1998/namespace'></foo>



Ich habe gerade mal in meiner dunklen Erinnerung gekramt...
und wenn meine Erinnerung nicht völlig verasgt, dann sollte es den Parsern
egal sein wenn "XML" es im Namensraum 'http://www.w3.org/XML/1998/namespace'
steht und der Namensraum eindeutig ist, denen sollte es aber nicht egal
sein, wenn der Namespace-Prefix in xmlns:xml "xml" genannt wird und das ist
heute noch so! ;-) xml ist ein von W3C geschütztes Wort und sollte nicht
vorkommen.

Gruß Carl

Ähnliche fragen