Marcus: DTD Erweitern

Beitrag lesen

Hallo zusammen,

bin leider recht neu im XML/ DTD Sektor und habe einige Probleme.

Wie nutzen eine DTD die den X3D Standard beschreibt und wollen/müssen sie für unsere Zwecke und den internen Gebrauch erweitern. Am liebsten wäre mir natürlich eine separate DTD, die ich bei Bedarf dazulinke.
Unter diesem Link ist das Orignial:http://www.web3d.org/specifications/x3d-3.0.dtd

Ich möchte zwei neue Element-Typen definieren, die aber nur als Kinder des Elementes "Shape" auftauchen dürfen. Was ich bis jetzt gemacht habe ist folgendes:
1. Ich habe die Elemente definiert mit

<!ELEMENT SimulationBehaviour EMPTY>
<!ATTLIST SimulationBehaviour
 code CDATA #IMPLIED
 DEF CDATA #IMPLIED
 containerField NMTOKEN ""
 class CDATA ""
 DEF ID #IMPLIED

<!ELEMENT InteractionBehaviour EMPTY>
<!ATTLIST InteractionBehaviour
 code CDATA #IMPLIED
 DEF CDATA #IMPLIED
 containerField NMTOKEN ""
 class CDATA ""
 DEF ID #IMPLIED

2. Dann habe ich  zwei Entities für die beiden definiert mit:
<!ENTITY % MyComponent "INCLUDE">

und

<![%MyComponent "
<!ENTITY % Java3DBehaviourNodes " SimulationBehaviour | InteractionBehaviour |">
]]>

Was mich verwirrt, ist die Tatsache, dass die DTD mit Profilen (siehe Link) arbeitet.

Wie schaffe ich es jetzt noch, dass meine beiden neuen Elemente in alles Profilen nur als Kinder des Elementes "Shape" eingefügt werden dürfen?

Danke

Marcus