Thomas J.S.: lokale Datei in <!DOCTYPE> ansprechen

Beitrag lesen

Hallo,

Wie kann ich in mein xml eine lokal gespeicherte Datei einbetten, bis jetzt mache ich das so, wenn sie im gleichen Verzeichnis wie xml und xsl liegt und test.txt heißt:
<!DOCTYPE test.txt SYSTEM "test.txt" >

kommt folgende Fehlermeldung:
[ERROR] no protocol: test.txt

Kennt jemand den richtigen Befehl? Finde dazu nur was seltsames..

Was ist das "seltsames" was du dazu findest?

Das: <!DOCTYPE test.txt SYSTEM "test.txt" > ist relativ falsch.
Mögest du bitte dazu, um die richtige Syntax zu erfahren, die Seite http://de.selfhtml.org/xml/regeln/dokumenttypdeklaration.htm durchlesen.

Wenn du eine extere Datei in einer XML-Datie einbetten willst, kannst du dies mit Hilfe von Entities tun: http://de.selfhtml.org/xml/dtd/entities.htm

In deininem Fall könnte das so aussehen:

<?xml version="1.0"?>
<!DOCTYPE DerNameDesDokumentElements [
  <!ENTITY daten SYSTEM "test.txt">
]>

<DerNameDesDokumentElements >
  <test>&daten;</test>
</DerNameDesDokumentElements >

Ob deine XML-Datei richtig verarbeitet wird, hänt auch davon ab, ob in deinem txt-Datei wohlgeformte XML-Inhalte sind (diese können auch nur Text sein, aber entsprechend codiert (unicode, oder je nach encoding-Angabe für dein XML)

Grüße
Thomas