Hans Thomas Vogler: Externe XML einlesen fungst nicht bei großen Dateien im IE

FsmE,

bin schier am Verzweifeln, hab gegoogelt und sogar versucht, mich bei M$ schlau zu machen. Vergebens...

Es geht um das Einlesen von externen XML-Daten, sei es mit ActiveX oder mit dem XML-Element des IE. Mozilla ist brav und arbeitet die XML-Daten per "document.implantation" sauber ein.

Funktioniert eigentlich ganz prima, bis auf den Umstand, daß es beim IE offenbar nicht möglich ist, den Ladevorgang im IE zu kontrollieren. Es wird zwar gelegentlich dokumentiert, wie das gehen soll, aber es fungst nicht, wenn man richtig Datenmaterial zu schaufeln hat.

http://www.quirksmode.org/dom/importxml.html

Der Eventhandler "onreadystatechange" tut nix, "ondatasetcomplete" ebensowenig. Die Eigenschaft "readyState" zeigt stur "geladen" an, obwohl nichts geladen ist.

Muß ich also wirklich den Frames-Umweg gehen?

In sensibus mistis,
HaThoV

--
Besuchen Sie http://www.4html.de, wenn Sie an einer
Neuen Generation von Web-Publishing mitarbeiten wollen.
  1. Nochmal ich. Es scheint am <!DOCTYPE []> zu liegen, nicht an der Dateigröße. Sobald ein solcher - auch nur leer - angegeben ist, spreizt der IE sich ein.

    Ohne Doctype krieg` ich aber auch keine Umlaute. Beim Auftauchen eines solchen wird der Ladevorgang offenbar sofort abgerochen...

    Ratlos...

    In sensibus mistis,
    HaThoV

    --
    Besuchen Sie http://www.4html.de, wenn Sie an einer
    Neuen Generation von Web-Publishing mitarbeiten wollen.
    1. Hallo,

      Ohne Doctype krieg` ich aber auch keine Umlaute. Beim Auftauchen eines solchen wird der Ladevorgang offenbar sofort abgerochen...

      Natürlich kriegst du das und zwar in/mit der XML-Deklaration im encoding="".

      Grüße
      Thomas

      1. FsmE,

        Natürlich kriegst du das und zwar in/mit der XML-Deklaration im encoding="".

        Da steht bei mir ' encoding="UTF-8"? '

        Was meinst Du muß/kann ich tun?

        Grüße
        Thomas

        In sensibus mistis,
        HaThoV

        --
        Besuchen Sie http://www.4html.de, wenn Sie an einer
        Neuen Generation von Web-Publishing mitarbeiten wollen.
      2. FsmE,

        Natürlich kriegst du das und zwar in/mit der XML-Deklaration im encoding="".

        <?xml version="1.0" encoding="ISO-8859-1" ?>

        Steht da jetzt. Vor allem aber habe ich die Entity-Maskierungen herausgenommen. Die sind es ganz offenbar, was der IE nicht mag.

        Grüße
        Thomas

        Danke nochmal für die richtige Spur...

        In sensibus mistis,
        HaThoV

        --
        Besuchen Sie http://www.4html.de, wenn Sie an einer
        Neuen Generation von Web-Publishing mitarbeiten wollen.
        1. Hallo,

          Natürlich kriegst du das und zwar in/mit der XML-Deklaration im encoding="".

          <?xml version="1.0" encoding="ISO-8859-1" ?>

          Steht da jetzt. Vor allem aber habe ich die Entity-Maskierungen herausgenommen. Die sind es ganz offenbar, was der IE nicht mag.

          Also HTML-entities ö etc, mag kein XML-Parser nur so. Mit encoding="ISO-8859-1" ist das auch nicht nötig, du kannst direkt "ö" etc. schreiben.

          Grüße
          Thomas

          1. FsmE,

            Also HTML-entities ö etc, mag kein XML-Parser nur so.

            Das ist mir schon klar. Deswegen hatte ich es ja in der DTD-Definition angegeben, und Mozilla verhält sich da ganz und gar XML-konform. M$IE offenbar nicht. Also gibt es offenbar keine Möglichkeit, eine in sich valide XML-Datei im IE weiterzuverarbeiten. Darf *nur* wohlgeformt sein.

            Mit encoding="ISO-8859-1" ist das auch nicht nötig, du kannst direkt "ö" etc. schreiben.

            Mir ist nicht ganz klar, wie es damit bei unterschiedlichen Betriebssystemen aussieht. Wird dann das Windows-"Ö" auch auf dem iMac beispielsweise korrekt ausgegeben?

            In sensibus mistis,
            HaThoV

            --
            Besuchen Sie http://www.4html.de, wenn Sie an einer
            Neuen Generation von Web-Publishing mitarbeiten wollen.
            1. Hallo,

              Also HTML-entities ö etc, mag kein XML-Parser nur so.

              Das ist mir schon klar. Deswegen hatte ich es ja in der DTD-Definition angegeben, und Mozilla verhält sich da ganz und gar XML-konform. M$IE offenbar nicht. Also gibt es offenbar keine Möglichkeit, eine in sich valide XML-Datei im IE weiterzuverarbeiten. Darf *nur* wohlgeformt sein.

              Welche IE denn? Der 6-er kommt ja schon mit einem validierenden XML-Parser und er kann ganz im Gegensatz zu Mozilla externe Entites auflösen.
              Der XML-Parser von Mozilla (Expat) ist ein nicht-validierender Parser. Also Mozilla ist deine DTD ziemlich wurscht (wenn es um Validierung geht).

              Mit encoding="ISO-8859-1" ist das auch nicht nötig, du kannst direkt "ö" etc. schreiben.

              Mir ist nicht ganz klar, wie es damit bei unterschiedlichen Betriebssystemen aussieht. Wird dann das Windows-"Ö" auch auf dem iMac beispielsweise korrekt ausgegeben?

              Wenn Mac den ISO-8859-1 unterstützt, was es tut, dann wirst du ein Ö sehehn. Es gibt übrigens keinen Windows-Ö, höchstens ein Windows-Zeichsatz wie "windows-1251" etc. ;-)

              Grüße
              Thomas