Hallo,
abschließend nun, wie man es richtig machen muss.
Erlaubst mir an dieser Stelle Widersprch einzulegen? --> *
Hier die PHP Datei:
<?php header('Content-type: application/xml'); ?>
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE gruss SYSTEM "gruss.dtd">
<?xml-stylesheet type="text/xsl" href="gruss.xsl" ?>
<Root> <!-- Es muss ein Root Tag angeben werden, sonst gibts Fehler! -->
* --> Es muss ein "root" sprich Wurzelelement geben.
Du hast für dieses Element durch die Angabe im DOCTYPE "gruss" vorgesehen.
Dementsprechend hat dein XML mit dem root- oder Wurzelelement <gruss> zu beginnen.
Für weitere Erlärungen siehe:
http://de.selfhtml.org/xml/regeln/dokumenttypdeklaration.htm
<?php
include "gruss.xml";
echo"\n"; // <- wichtig, weil sonst das in einer Zeile geschrieben wird, und dann gibts Fehler!
include "gruss.xml";
?>
</Root>
Jetzt wäre es wichtig zu wissen, was in diesem geheimnisvollen gruss.xml steht. Zumindest darf gruss.xml keine wollwertige XML-Datei (keine XML-Deklaration, keine DOCTYPE-Angabe) sein, sondern nur ein XML-Fragmant, dessen Strutur sich aber dennoch an die DTD hält. --> siehe weiter unter bei: **
Die DTD ist an sich aber hier mehr oder weniger irrelevant, denn "expat" (ein XML-Parser in PHP) kümmert sich nicht um die DTD. Sprich, es findet keine Validierung statt. Deshalb hast du auch keine Fehlermeldungen dazu (<Root> satt <gruss>) bekommen.
hier eine XML Datei, wie sie aussehen müsste
[Code lang=xml]
<Root1>
<Ueberschrift>Kapitel1</Ueberschrift>
<Absatz></Absatz>
</Root1>
[/Code]
Tja ... das ist eine XML-Datei wie sie nicht sein darf.
Wohin ist denn dein (an sich schon falsches) <Root> verschwunden und wie wurde daraus ein <Root1>. Oder ist das der Inhalt von gruss.xml?
Die XML Datei darf keine XML Spezifikationen enthalten, sonst werden Fehler ausgespuckt. Einzig eine Spezifikation darf in der PHP Datei stehen.
** --> klar, die Gründe dafür habe ich dir weiter oben erklärt.
Eigentlich darf keine einzige XML-Datei an sich _die_ XML-Spezifikation enthalten, bist auf die XML-Datei der XML-Spezifikation selbst: http://www.w3.org/TR/2004/REC-xml-20040204/REC-xml-20040204.xml
Was du meinst ist die die XML-Deklaration: http://de.selfhtml.org/xml/regeln/xmldeklaration.htm
Das mag jetzt dir pingelig erschienen, jedoch solltest du von Anfang an die richtigen Bezeichnungen lernen und verwenden, damit sprast du dir spätere Missverständnisse und Ärger.
Lese mal ein weniger unter http://de.selfhtml.org/xml/index.htm
Grüße
Thomas