xpointer
andreas
- xml
0 Marko0 Thomas J.S.
Ich moechte einen Teil eines xml documents in ein anderes xml Dokument einbinden.
Dazu habe ich in der dtd Datei eine Entity definiert der die Adresse des Documents, von dem ein Teil eingebunden werden soll darstellt:
index.dtd:
<!ENTITY sig1 SYSTEM "test.xml#e2">
in der index-content.xml wird die Entity folgendermassen eingebunden:
sig1;
Und die eingebunden text.xml lautet:
<start>
<element> e1</element>
<element id="e2"> to be included </element>
<element> e3</element>
</start>
Leider werden auch die anderen Eintraege e1 und e2 mit eingebunden.
Danke
andi
Hallo Andy,
ich weiss nicht wie Du das XML genau verarbeitest, aber schau Dir mal XInclude an, falls dein Parser das unterstützt dürfte es die Lösung sein.
Gruss
Marko
Hallo,
Ich moechte einen Teil eines xml documents in ein anderes xml Dokument einbinden.
Dazu habe ich in der dtd Datei eine Entity definiert der die Adresse des Documents, von dem ein Teil eingebunden werden soll darstellt:
index.dtd:
<!ENTITY sig1 SYSTEM "test.xml#e2">
Das "#e2" hat hier keine Bedeutung. Ein DTD kennt keine Fragmet-Indetifier. Eigentlich sollte dein XML-Parser sogar protesitieren, denn ein Fragmet-Indetifier (beginnend mit #) darf nicht Teil eines system-identifiers sein.
Versuche es mit XInclude (sofern dein Parser das unterstützt) mit xpointer
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="test.xml" xpointer="id('e2')" />
Grüße
Thomas