Hallo!
Sind diese Namespaces (schon) XML-Standart?
Ja. Sogar Reccomendation ist es http://www.w3.org/TR/1999/REC-xml-names-19990114/ und schon ist gut! ;-)
Sind sie nur in der MS-Variante von XMl von Nutzen?
Nein.
Bernhard hat schon schön erkläert warum man Namensräume braucht.
Nur eine kleine Ergänzung dazu:
Du hast folgendes in einer XML:
<BOOK>
<TITLE>Tagebuch eines XML-Lerlings</TITLE>
<PRICE currency="DM">22.95</PRICE>
</BOOK>
Dann geht es weiter:
<AUTHOR>
<TITLE>Hr.</TITLE>
<NAME>Peter Mustermann</NAME>
</AUTHOR>
Nun ja, du kannst unterscheiden zwischen den 2 <TITLE> Elements, aber ein Programm nicht. Deshalb ist es notwendig genau zu sein was gemeint ist, also schreibst du:
BookInfo:TITLETagebuch eines XML-Lerlings</BookInfo:TITLE>
AuthorInfo:TITLEHr.</AuthorInfo:TITLE>
- Muß ich das XML Attribut xml:space in einer DTD extra definieren, um es verwenden zu können?
xml:space ist kein Attribut:
<BOOK xmlns="urn:BookReader.org:BookInfo">
<TITLE>Tagebuch eines XML-Lerlings</TITLE>
<PRICE currency="US Dollar">22.95</PRICE>
</BOOK>
Hier erklärst du das BOOK Element und alle seine Attribute. Der namespace ist 'urn:BookReader.org:BookInfo', xmlns ist ein Schlüsselwort wodurch Parser die namespace Deklaration erkennen.
Anders geht esauch:
<x xmlns:edi='http://ecommerce.org/schema'></x>
"edi" ist der Prefix, das an 'http://ecommerce.org/schema' verknüpft ist und bestimmt wurde das ganze hier für das "x" Element
Grüße
Thomas