Pfefferkorn: Frage zu Namensräumen

Beitrag lesen

Hallo!

Ich habe eine Frage zu Namensräumen, deren Konzept ich noch nicht ganz verstehe.

Gegeben sei folgendes Beispiel aus der SELFHTML-Doku (http://de.selfhtml.org/xml/regeln/namensraeume.htm):

<?xml version="1.0" encoding="ISO-8859-1" ?>  
<buch xmlns="http://www.meinserver.de/XML/buch">  
<kapitel nummer="1">  
  <html xmlns="http://www.w3.org/TR/REC-html-40">  
    <head><title>Einleitung</title></head>  
    <body>  
     <h1>Einleitung</h1>  
     <p>Das Buch beginnt mit diesem Text...</p>  
    </body>  
   </html>  
</kapitel>  
</buch>

Dort ist keine DTD angegeben, ist das so beabsichtigt? Ersetzt die Angabe xmlns="http://www.meinserver..." die Angabe der DTD? Eigentlich kann das ja nicht sein, da in dem Attribut ja etwas Beliebiges stehen darf, was so gar nicht existiert.

Wie geht es dann aber richtig? So?

<?xml version="1.0" encoding="ISO-8859-1" ?>  
<!DOCTYPE buch SYSTEM "http://www...">  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
<buch xmlns="http://www.meinserver.de/XML/buch">  
<kapitel nummer="1">  
  <html xmlns="http://www.w3.org/TR/REC-html-40">  
    <head><title>Einleitung</title></head>  
    <body>  
     <h1>Einleitung</h1>  
     <p>Das Buch beginnt mit diesem Text...</p>  
    </body>  
   </html>  
</kapitel>  
</buch>

Aber wie verknüft man dann die Namensräume mit der passenden DTD-Deklaration?

Und dann noch eine Frage, in SELFHTML steht bzgl. des obigen Beispiels: "Das Beispiel zeigt ein XML-Dokument. Es enthält ein Dokument-Element namens buch. In dessen Einleitungs-Tag ist eine XML-Namensraumdeklaration enthalten. Dazu wird in dem einleitenden Tag das Attribut xmlns notiert. Dahinter folgt ein Seite URI, der angibt, auf welchen anderen Namensraum in diesem Element Bezug genommen wird."

Bedeutet das, dass das Element, in dem das Attribut xmlns notiert ist, selbst noch nicht zu dem dort angegebenen Namensraum gehört, sondern nur alles, was innerhalb des Elements steht? Oder gehört auch bereits das Element, in dem das xmlns-Attribut steht, schon zu diesem Namensraum?

Vielen Dank für jede Aufklärung!