Entities in DTD liefern Fehler (MSIE)
Konrad Rudolph
- xml
Hallo Forum,
ich habe folgendes (inline-)DTD in einer XML-Datei:
\\
<!DOCTYPE specs [
<!ENTITY % text "(#PCDATA | em | dfn)">
<!ELEMENT specs (section)+>
<!-- ... -->
<!ELEMENT p %text;>
]>
///
(irrelevante Teile rausgekürzt)
der MSIE meckert (Moz parst ja eh kein DTD):
\\ Parameterentitäten können in einer internen Teilmenge nicht innerhalb einer Markup-Deklaration verwendet werden. Fehler beim Bearbeiten der Ressource 'file:///D:/Konrad/ypvl/xml/syntax.xml'. Zeile 15, Position 16
<!ELEMENT p %text;>
---------------^
///
Was kann ich damit anfangen? Besser gesagt: was mache ich falsch, wie mache ich's richtig?
Gruß,
KonRad -
Hallo,
der MSIE meckert (Moz parst ja eh kein DTD):
Parameterentitäten können in einer internen Teilmenge nicht innerhalb einer Markup-Deklaration verwendet werden.
Was kann ich damit anfangen?
Das ist eine sehr sehr exakte Fehlerbeschreibung.
»»Besser gesagt: was mache ich falsch, wie mache ich's richtig?
Parameterentities dürfen nur in der externen Teilmenge einer DTD (das ist die DTD-Datei selbst) vorkommen und verwendet werden.
Du musst also deine Parameterentities in eine *.dtd auslagern.
Grüße
Thomas
Hallo,
der MSIE meckert (Moz parst ja eh kein DTD):
Parameterentitäten können in einer internen Teilmenge nicht innerhalb einer Markup-Deklaration verwendet werden.Was kann ich damit anfangen?
Das ist eine sehr sehr exakte Fehlerbeschreibung.
Das stimmt sogar, aber man muß sie zu deuten wissen. Ich konnte mit der "internen Teilmenge" nichts anfangen.
»»Besser gesagt: was mache ich falsch, wie mache ich's richtig?
Parameterentities dürfen nur in der externen Teilmenge einer DTD (das ist die DTD-Datei selbst) vorkommen und verwendet werden.
ah! Danke vielmals.
Ich bin ja immer neugierig: gibt es einen besonderen Grund für diese Regelung?
Gruß,
KonRad -