Hallo Hacker, :-)
Danke.
Das zeigt, daß beides gleichzeitig benutzt werden kann.
Aber leider sagt das nichts darüber aus, ob ich damit eine ATTLIST lokal zusätzlich zur externen ATTLIST (bei denselben Elementen) bauen darf.
Darfst du.
Du kannst für jedes Attribut ein eigenes <!ATTLIST> erstellen.
Du kannst in der internen Teilmenge der DTD auch teile der externen Teilmenge überschreiben. Regel: die Angaben in der interne Teilmenge haben immer den Vorrang.
Andere Frage (falls das mit 2 ATTLIST pro Element geht):
Gibt es für den Element-Namen sowas wie einen Joker?
Nein.
Es soll allen Elementen ein bestimmtes Attribut zugefügt werden, ich hätte also gerne sowas wie
<!ATTLIST (*) myattrib CDATA #IMPLIED>
statt
<!ATTLIST (bla|ble|bli|blo|blu) myattrib CDATA #IMPLIED>
(da es sich um sehr viele Elemente handelt, wäre das wesentlich praktischer)
Tja ... jetzt geht es entweder so, oder mit Überarbeitung der DTD:
<!ENTITY % allg.attrib
" myattrib CDATA #IMPLIED
">
<!ATTLIST element
%allg.attrib;
...
Wenn dann nochmal ein Attribut für alle Elemente kommen soll: einfach die Parameterentity erweitern und so ist die Sache erledigt.
Grüße
Thomas