frankx: XML und DTD und Browser

Hallo,

nach meinem bisherigen geringen Kenntnisstand, müsste ein Browser, so dachte ich, meckern wenn ich in der XML angebe:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE produkt SYSTEM "produkt.dtd">
<?xml-stylesheet type="text/xsl" href="produkt.xsl" ?>
<produkt1 type="hot">
 <id>
  ID1
 </id>
 <titel>
  Produktitel1
 </titel>
 <autor>
  Autor1
 </autor>
 <preis>
  10.01
 </preis>
</produkt1>

und in der dtd:

<!ELEMENT produkt ( id, titel, autor, preis )>
<!ELEMENT id (#PCDATA)>
<!ELEMENT titel (#PCDATA)>
<!ELEMENT autor (#PCDATA)>
<!ELEMENT preis (#PCDATA)>

denn oben ist das Wurzelelement ja (absichtlich zum Testen) <produkt1> und nicht wie in der dtd angeben <produkt>. Wenn ich im xml-Dokument eine nicht existente DTD angebe, mault der IE, nicht aber der Firefox.

Kann mir jemand auf die Sprünge helfen?

Dank und Gruß,

Frank

  1. frankx,
    AFAIK validiert kein Browser ein XML-Dokument.

    Live long and prosper,
    Gunnar

    --
    „Weisheit ist nicht das Ergebnis der Schulbildung, sondern des lebenslangen Versuchs, sie zu erwerben.“ (Albert Einstein)
    1. Hallo Gunnar.

      AFAIK validiert kein Browser ein XML-Dokument.

      AFAIK validiert kein Browser irgend ein Dokument.

      Einen schönen Sonntag noch.

      Gruß, Ashura

      --
      sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
      <mathbr:del.icio.us />
      1. Hallo,

        AFAIK validiert kein Browser ein XML-Dokument.

        AFAIK validiert kein Browser irgend ein Dokument.

        Dann ist es nicht weit:
        http://www.meta-text.net/etc/ie_validate.gif

        Grüße
        Thomas

        1. Hallo Thomas.

          AFAIK validiert kein Browser ein XML-Dokument.

          AFAIK validiert kein Browser irgend ein Dokument.

          Dann ist es nicht weit:

          Ich verstehe nicht, was dieser Teilsatz zu bedeuten hat.

          http://www.meta-text.net/etc/ie_validate.gif

          Feine Sache, aber leider ohne Alternative für Fx oder Opera wie es aussieht. (Obwohl man im Opera natürlich einen echen XML-Validator als Zieldienst einbinden könnte.)

          Einen schönen Sonntag noch.

          Gruß, Ashura

          --
          sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
          <mathbr:del.icio.us />
          1. Hallo Ashura,

            AFAIK validiert kein Browser ein XML-Dokument.

            AFAIK validiert kein Browser irgend ein Dokument.

            Dann ist es nicht weit:

            Ich verstehe nicht, was dieser Teilsatz zu bedeuten hat.

            As Far As I Know =  So weit (viel) ich weiss. ;-)

            Grüße
            Thomas

            1. Hallo Thomas.

              AFAIK validiert kein Browser ein XML-Dokument.

              AFAIK validiert kein Browser irgend ein Dokument.

              Dann ist es nicht weit:

              Ich verstehe nicht, was dieser Teilsatz zu bedeuten hat.

              As Far As I Know =  So weit (viel) ich weiss. ;-)

              Ohje. Selbst bei dieser Antwort musste ich zuerst noch nachdenken.
              Ich werde dann wohl eher Richtung Bett tendieren.

              Einen schönen Montag noch.

              Gruß, Ashura

              --
              sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
              <mathbr:del.icio.us />
  2. Hallo Frank,

    anders als der FF/Moz läd der IE die externe Source "produkt.dtd". Das ist besonders ärgerlich, wenn man Entitäten in einer DTD deklariert hat, welche (dann) auch nur vom IE interpretiert werden und beim FF/Moz zum "Parse Error" werden.

    Browser sind auch eher für (x)_HTML_ geschrieben worden und nicht für XML. Derzeit hilft nicht mehr, als auf bessere Zeiten zu warten ;)

    Gruß aus Berlin!
    eddi

    1. Hallo Eddi,

      vielen Dank von Berlin nach Berlin. Weisst Du, wie in von Thomas unten zitiertem Thread ebenfalls gefragt wurde ob PHP mit SimpleXML validieren kann?

      Dank und Gruß, Frankx

      1. Hallo Frankx,

        da kann ich, direkt gefragt, Dir nicht weiterhelfen.

        Gruß aus Berlin!
        eddi

      2. Hallo,

        Weisst Du, wie in von Thomas unten zitiertem Thread ebenfalls gefragt wurde ob PHP mit SimpleXML validieren kann?

        Mit simpleXML nicht, was du machen kannst ist, dass du vorher die Validierung ausführst:
        http://at.php.net/manual/en/function.dom-domdocument-validate.php
        und dann das validierte Dokument an simpleXML mit load-file übergibst:

        in etwa so (wobei ich den code jetzt nur zusammengschuster habe!)

        <?php
        $dom = new DOMDocument;
        $dom->Load('book.xml');
        if ($dom->validate()) {
          $xml = simplexml_load_file('book.xml');
        }
        ?>

        Grüße
        Thomas