You are not logged in.

  • Login

1

Monday, September 4th 2006, 9:52am

Document Type Definition & XML ID Tag

Hallo UserGroup,

ich habe mir folgende DTD gebastelt:

<!ELEMENT conf (default)? (node)*>
<!ELEMENT default (#PCDATA)>
<!ELEMENT node (default)? (com)*>
<!ELEMENT com (#PCDATA)>

Nun möchte ich dem Element 'node' eindeutige IDs zuweisen, ebenso dem Element 'node'. Folgendes soll aber durch die DTD möglich sein:

<conf>
<default>bla</default>

<node id="node1">
<com id="node5">blo</com>
<com id="node6">blzt</com>
</node>


<node id="node5">
<default>blu</default>
<com id="node6">bli</com>
<com id="node1">ble</com>
</node>

</conf>

Innerhalb eines Elementes vom Typ 'node' sind alle vorhandenen Elemente vom Typ 'com' eindeutig! Es soll aber möglich sein, dass das gleiche Element vom Typ 'com' (also gleiche id) in mehreren Elementen vom Typ 'node' vorkommt, wie oben dargestellt: <com id="node6">...</> kommt an zwei Stellen vor mit eventuell unterschiedlichen Werten ("blzt" und "bli").
Ich hoffe, ich konnte mein Problem gut darstellen! Wie kann man dies in der DTD abbilden?

Danke für eure Hilfe,
svkers

2

Tuesday, September 12th 2006, 2:50pm

Das funzt mit DTDs nicht.
Dafür brauchst du ein XML Schema, dessen Aufbau ich dir aber leider nicht verraten kann, da ich ihn nicht kenne :(
Am besten checkst du das programmatisch ab.

hth

Social bookmarks