XHTML 1.0 XSD erweitern

xardias

Mitglied
Hallo allerseits,

ich versuche gerade für eine XML basierte Templatesprache ein passendes XSD schema zu erstellen.

Grundsätzlich schaut so ein Template so aus:
Code:
<html ...namespacezeug... >
<head>...</head>
<body>
    <thor:if condition="blablubb">
        <a href="#"> test </a>
    </thor:if>
</body>
</html>

Anmerkung:
Die xhtml.xsd definiert u.a. eine Gruppe namens "block", welche referenzen auf h1-9, p, div usw enthält.


Nun eine xsd für thor:if zu schreiben ist nicht schwer, da ich als content eine referenz auf die xhtml gruppe "block" nehmen kann.

Aber anders rum wird es etwas schwierig.
Wie kriege ich in die gruppe "block" meine elemente rein?
Testweise habe ich die xhtml.xsd modifiziert, und dort meinen namespace geladen und im block die elemente eingefügt.

Das ist nicht grad das Gelbe vom Ei, und ich denke es wird doch sicher auch irgendwie mit Vererbung möglich sein, oder?

Wie kann ich am einfachsten in diese Gruppe per ableitung meine elemente einfügen? Ich muss doch hoffentlich nicht alle elemente die von der gruppe abhängen direkt mit ableiten und ändern, oder?

danke
Dennis

PS: mir fällt gerade noch etwas ein.
XHTML 1.1 soll ja bereits modular erweiterbar sein. so kann man a auch z.b. mathml innerhalb von xhtml integrieren.. würde es damit eventuell einfacher gehen?
Wenn man dann noch jemand sagen könnte, wo ich die Schema Dateien dazu finde, wäre ich glücklich :)
 
Zuletzt bearbeitet:
also was ich rausgefunden habe ist folgendes, falls es noch jemanden anders interessiert:

Es gibt wohl nur so eine art inoffizielle XSD, da Schemas noch keine fertige offizielle recommendation des W3C sind (soweit ich das verstanden habe).

erweitern kann man eine xsd ganz einfach mittels <xs:redefine>. Damit kann man bestimmte Elemente/Gruppen/etc einfach in der original xsd ersetzen lassen. Sehr praktische Sache. Jedoch habe ich die xhtml 1.0 strict xsd genommen, welche auf meinem rechner zum validaten und parsen mit Xerces rund um das 10 fache schneller ist ;). XHTML 1.1 schön und gut, aber das lesen der Templates würde damit Ewigkeiten dauern (auch wenn es nur einmal pro template gemacht wird, so würde das bei 30 kleinen templates (rund 100 zeilen) um die 30 sekunden dauern. mit xhtml 1.0 dauerts nur knapp 3 sekunden ;)
 
Zurück