Oli: XML im Internet Explorer (JavaScript und ActiveX Objekte)

Hallo Zusammen,

Ich habe da ein kleines Problem beim Verwenden von XML/XSL im IE. Wäre nett, wenn jemand helfen könnte oder eine Idee hat. Zu dem Thema steht schon einiges hier im Forum, speziell dieses Problem konnte ich  jedoch nicht finden.

Also:
Auf einer Intranet-Seite stelle ich Inhalte einer XML-Datei im Browser dar.

Ich verwende dazu JavaScript und ActiveX Objekte.

hier der JavaScript-Code:

// XML
var xml_book = new ActiveXObject("Microsoft.XMLDOM") xml_book.async = false
xml_book.load("book1.xml")

// XSL
var xsl_main = new ActiveXObject("Microsoft.XMLDOM") xsl_main.async = false
xsl_main.load("main.xsl")

// Inhalte ausgeben
htmloutput = xml_book.transformNode(xsl_main.documentElement);
document.open();
document.write(htmloutput);
document.close();

Dies funktioniert(e) soweit auch alles, die Ergebnisse der Transformation werden angezeigt. Da es eine  Intranet-Seite ist, muss es auch nicht cross-browser-fähig sein, IE6 ist Standard.

Wie gesagt, es funktionert alles, nur habe ich nun auf einem neuen Rechner das Problem, dass die  Trasformation nicht mehr durchgeführt wird, es werden statt dessen die "Inhalte" der xsl-Datei  ("main.xsl") angezeigt. Mit "Inhalten" meine ich die Inhalte der xsl-variablen, die zu Begin der Datei  deklariert sind.
Bsp: in der xsl-Datei steht die Variable "<xsl:variable name="test">test1</xsl:variable>" und der IE  gibt lediglich "test1" aus.

Dieser neue Rechner, auf dem der Fehler auftaucht, hat eigentlich die selbe Ausstattung wie die  Rechner auf denen es funktioniert: Win XP SP2, IE6.0

Da der Code ausgiebig getestet wurde und es immer funktioniert hatte, stehe ich nun vor einem Rätsel. Weiss von euch vielleicht jemand einen Tip woran der Fehler liegen kann? Ist es evtl. eine  Sicherheiteinstellung um IE, oder hat es was mit dem SP zu tun?? Oder liegt es doch am Code...?

Wäre dankbar, wenn jemand einen Tip hat.

Danke schon mal,

Viele Grüße,
Oli

  1. Hallo,

    Dies funktioniert(e) soweit auch alles, die Ergebnisse der Transformation werden angezeigt. Da es eine  Intranet-Seite ist, muss es auch nicht cross-browser-fähig sein, IE6 ist Standard.

    Es mag natürlich an den Sicherheitseinstellungen liegen, allerdings scheint mir JavaScript
    gar nicht unbedingt nötig zur XML-Darstellung wenn es nur um IE ab 6 geht; vielleicht findest
    du bei XML für alle noch geeigntete Ansätze, oder auch ein Beispiel mit ActiveX.

    Grüsse

    Cyx23

    1. Hallo,

      danke für den Link, ist wirklich eine gute Seite!

      JavaScript benötige ich aber schon, da ich noch etwas Dynamik in die Seite hineinbringe, indem ich über JavaScript ein paar XSL-Variablen verändere, mittels:

      obj = xsl_main.documentElement.getElementsByTagName("xsl:variable");
      obj[0].firstChild.nodeValue = which;

      und dann die Seite wieder neu lade mit:

      htmloutput = xml_book.transformNode(xsl_main.documentElement);
      document.open();
      document.write(htmloutput);
      document.close();

      ...je nach XSL-Variablen werden andere Templates verwendet.

      Seltsam ist halt nur, dass es auf allen Rechnern funktioiert nur auf diesem neuen nicht... woran kann denn das noch liegen?

      Gruß,
      Oli