XML Namespaces und eine weitere Art, Formatvorlagen zu schaffen
[Die hier dargestellten Methoden funktionieren im Internet Explorer Version
5.0+.]
XML Namespaces wurden für den Fall definiert, in dem in einem XML Dokument
Teile von einem anderen XML Dokument aufgenommen werden sollen. Das Problem
ist, dass so Elementnamen und Attribute doppelt auftauchen können und
dabei doppeldeutig für den Browser werden. Ein Beispiel wäre, wenn
ein Dokument über Schnitzeljagd und ein Dokument über
Schweinefleischzubereitung beide den Elementnamen Schnitzel verwenden
würden und in dem einen Teile von dem anderen Dokument (aus welchem
Grund auch immer;-)) auftauchen würden. Gelöst wurde das Problem
durch das Voransetzens des Namensraumes im Tag, z.B.
<Schnitzeljagd:Schnitzel>,
<Schweinefleischzubereitung:Schnitzel>. Durch diese Definition weiss
der Browser auch, welche DTD gerade gültig ist.
Nehmen wir an, wir wollen HTML-Tags in einem XML-Dokument verwenden. Der
Namensraum muss dann im Wurzelelement deklariert werden:
<?xml version='1.0' encoding="ISO-8859-1"?>
<?xml-stylesheet href="nstest.css" type="text/css"?>
<!-- Meine Homepage in XML mit HTML Tags dazwischen -->
<homepage xmlns:html="http://www.w3.org/TR/REC-html40">
<html:h1>Willkommen auf meiner
Homepage!</html:h1>
<text>Dies ist nun meine Homepage in XML.</text>
<html:ul>
<html:li>Hier ist sogar eine
Liste.</html:li>
<html:li><a href="www.ib.hu-berlin.de">Und auf einfache Weise
kreieren wir einen Link ohne irgendetwas über die Linksprache in XML
XLink zu wissen</a></html:li>
</html:ul>
<text>Bis demnächst!</text>
</homepage> |
Die CSS Datei besteht aus einer Definition für text:
text
{
font-family: helvetica; font-size:12pt; color:navy;
} |
Das resultierende Dokument kann man sich hier
im IE5 Browser anschauen.