Bernhard Peissl: xml-namespaces

Beitrag lesen

Hallo fredy,

Sind diese Namespaces (schon) XML-Standart?

Na Klaro!! Nimm dir die Zeit und schau dir die W3C Seite mal gaaanz genau an. Dort gibt es alles!!

Sind sie nur in der MS-Variante von XMl von Nutzen?

In der Zeit wo ich mich mit XML beschäftigt habe, hat nur der IE 5 XML/XSL darstellen können. Ist zwar erst ein paar Monate aus, aber auf diesem Gebiet tut sich fast täglich was!! Es hat immer geheissen, dass NN6 das alles auch können wird, nun ja, NN6 ist jetzt draussen, probiers aus!!

  1. Muß ich das XML Attribut xml:space in einer DTD extra definieren, um es verwenden zu können?

Nein, du musst eine DTD FÜR den Namespace angeben. Du musst den Namespace oben im Dokumentenkopf deklarieren, und zwar indem du eine Referenzurl für die DTD angibst. In der DTD müssen die Elemente, die du verwenden willst definiert sein.

So definierst du einen Namespace: (Die XSL-Datei ist eigentlich auch nur ein Namespace in einer XML Datei)
<xsl:stylesheet xlmns:xsl="http://www.w3.org/TR/WD-xsl">

"xsl" ist der Name des Namespaces. Deklariert wird er durch xmlns:xsl="Refernezurl". xmlns steht natürlich für "XML-Namespace", was sonst;-)

Du musst also vor jedes xsl-Element(z.b.: value-of) den Namespacebezeichner "xsl:"  davorsetzen, damit der Prozessor weiss, was er mit dem Element anfangen soll!! Wenn dein

XML ist es grundsätzlich egal, ob dein NS "xsl", "html", oder "Fritzi" heisst, solange du die Elemente mit Fritzi:Element einbindest, und die Elemente in der angegebenen DTD definiert sind.

Jetzt denkst du wahrscheinlich: Wie war das? Html-Namespace ? Ja, du kannst ganze HTML-Formatierungen einbauen, aber wie das geht sage ich dir lieber nicht, denn Formatierungselemente in der XML Datei, das ist nicht schön, die gehören ins Stylesheet. Ich weiss, dass das am Anfang irre viel Nerven kostet, aber es funktioniert!!

Noch mal zu Namespaces:

Wenn deine DTD zum Beispiel Auto heisst, und du die Elemente Name, Typ, Baujahr,... hat, kannst du in deinem XML File für deine Haushaltsverwaltung, oder wo auch immer, () mit

Auto:NameFord Mustang</Auto:Name>
Auto:Baujahr1979</Auto:Baujahr>

diesen Namespace einbinden.

  1. Von welcher Beteutung ist "Document Content Description" (DCD). Wird es DTD ablösen?; Sollte man es jetzt schon verwenden?

nie gehört

  1. Welche Chancen gebt Ihr SMIL (bzw. HTML+TIME) ?

Jetzt, wo es Flash gibt? - aber festlegen will ich mich da nicht!

Man muss einmal das Konzept dahinter (xsl,dtd und wie die alle mit xml zusammenhängen) kapiert haben, dann ist xml gleich viel viel leichter, als es am Anfang aussieht:)

Das Grübeln kann und will ich dir aber nicht abnehmen, bin ja selbst kein Profi!! -Allerdings kenn ich auch keinen Profi, man hört überall XML XML und nochmal XML, aber auskennen tut sich anscheinend niemand.
Vielleicht ist in diesem Forum ja irgend jemand, der sich da wirklich auskennt, oder wir tun uns irgendwie zusammen, und bringen uns das selbst im Teamwork bei, interessant wärs ja ...

Grüsse Bernhard