element einer ext. dtd intern überschreiben
addi
- xml
Hallo,
wie kann ich ein ELEMENT das in einer ext. dtd definiert ist,
intern überschreiben? bzw. geht das überhaupt?
bsp: in der ext. dtd steht folgendes: <!ELEMENT TITEL (#PCDATA)>
jetzt möchte ich in meinem xml Dokument, das Element um Haupttitel und Untertitel erweitern.
<!ELEMENT TITEL (HAUPTTITEL, UNTERTITEL)>
<!ELEMENT HAUPTTITEL (#PCDATA)>
<!ELEMENT UNTERTITEL (#PCDATA)>
Danke für Tipps
gruß
Hello out there!
wie kann ich ein ELEMENT das in einer ext. dtd definiert ist, intern überschreiben? bzw. geht das überhaupt?
Ich denke schon:
<!DOCTYPE foo SYSTEM "foo.dtd" [
<!ELEMENT TITEL (HAUPTTITEL, UNTERTITEL)>
<!ELEMENT HAUPTTITEL (#PCDATA)>
<!ELEMENT UNTERTITEL (#PCDATA)>
]>
See ya up the road,
Gunnar
Hi Gunnar,
ne leider funtzt das so nicht.
Beim Validieren öffnet XMLSpy die externe dtd und weist auf das Element hin, quittiert mit einem Fehlerton.
gruß
addi
Hello out there!
wie kann ich ein ELEMENT das in einer ext. dtd definiert ist, intern überschreiben? bzw. geht das überhaupt?
Ich denke schon:
<!DOCTYPE foo SYSTEM "foo.dtd" [
<!ELEMENT TITEL (HAUPTTITEL, UNTERTITEL)>
<!ELEMENT HAUPTTITEL (#PCDATA)>
<!ELEMENT UNTERTITEL (#PCDATA)>
]>
>
> See ya up the road,
> Gunnar
Hallo,
ne leider funtzt das so nicht.
Beim Validieren öffnet XMLSpy die externe dtd und weist auf das Element hin, quittiert mit einem Fehlerton.
Ja, er wie andere Parser bemengeln in dem Fall, dass das Element TITLE schon einmal definiert wurde. Es gibt jedoch Parser, die diesen Mangel zwar ebenfalls aufzeigen, aber das TITLE element dann doch nach der internen Definition validieren.
Was du ohne Probleme machen kannst, sind Erweiterungen der DTD mit Attributen:
<!DOCTYPE foo SYSTEM "foo.dtd" [
<!ATTLIST TITLE
haupttitel CDATA #REQUIRED
untertitel CDATA #REQUIRED
]>
Grüße
Thomas