Math.random(): Eigenen Namensraum in XHTML einbinden

Beitrag lesen

Hallo Forum!

Wie lässt sich ein selbst entworfener Namensraum korrekt in eine xhtml-Datei einbinden?
Zu dieser naheliegenden Frage steht nichts in SelfHTML und im Forum habe ich auch nichts dazu gefunden.
Auch im sonstigen Internet habe ich dazu keine klare Antwort gefunden.

Ich möchte, dass sich der User auf einer xhtml-Seite durch einen strukturierten Programmablauf (''Menü'') bewegen kann.
Diese Struktur möchte ich logischerweise mit XML beschreiben und per JavaScript/DOM darauf zugreifen.

Hier ein Phantasiebeispiel:

  
<?xml version="1.0" encoding="ISO-8859-1"?>  
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"  
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">  
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:buch="http://www.de">  
<head><title>Test XML</title></head>  
<body>  
<buch:Schwarte titel="Das 1x1 der Papierverschwendung" exe="Staub_aufwirbeln()">  
  <buch:Kapitel titel="Vorwort" exe="Blah_Blah()" />  
  <buch:Kapitel titel="Kapitel 1" exe="Vorlesen()" />  
</buch:Schwarte>  
<script type="text/javascript">  
  alert( document.getElementsByTagName("Kapitel")[0].getAttribute("titel") );  
</script></body></html>  

Man könnte derartige Abläufe in JavaScript natürlich wie ein Anfänger über das Setzen von Variablen und abenteuerliche 'if'-Konstruktionen realisieren.
Aber für die klare und einfache Beschreibung von Strukturen gibt es doch extra XML?
Und xhtml ist doch u.a. dafür da, um andere Namensräume (z.B. SVG) einbetten zu können?

Erste Tests laufen problemlos und ohne Fehlermeldungen. Ich bin soweit, dass ich meine XML-Struktur beliebig ändern kann ohne das Script anfassen zu müssen.

Meine konkreten Fragen:
1. Ist meine Vorgehensweise korrekt oder ist das Funktionieren ausschließlich der Großzügigkeit der Browser zu verdanken?
2. Wodurch ist sichergestellt, dass der Browser nicht beim Einlesen versucht, die ihm unbekannte Struktur darzustellen?
3. Wie kriege ich das Ganze validiert? Im Moment nämlich überhaupt nicht. Denn in der xhtml-DTD steht ja nichts von meinem Namensraum.

Vielen Dank für eure Antworten!