Thomas J.S.: Bildergalerie mit XML/XSL

Beitrag lesen

Hallo,

hab versucht das Beispiel (mein Posting wurde bereits gelöscht!?)

Nein, es ist ins Archiv gewandert, nachdem einige Tage lang nichts mehr in dem Thread geschrieben wurde (war wohl nicht so wichtig für dich?).

In dienem thumbs.xsl fehlt ein:
<body onload="transformation();" id="ausgabe">

photo.xsl

...

<CENTER>
      <table cellspacing="10" cellpadding="0" border="0">
       <tr>

<xsl:apply-templates select="photo[@alt = $bildid]" />

</tr>
      </table>
     </CENTER>

...

<xsl:template match="photo">

<td>
        <img src="{@name}" width="{@width}" height="{@height}" alt="{@alt}" />
      </td>

</xsl:template>

Und noch das Javascript file
   function transformation() {
    ...
    getPhoto();
   }

So ist es nicht besonder gut, denn so wird die Funktion aufgerufen, ohne dass  etwas eigentlich angeklickt wurde und zudem gibt es dann einen Fehler, weil die Funktion getPhoto() eine Variable verlangt, die du hier nicht übergist.

function getPhoto(photo)
   {
   objectXSLTProcessor = objectXSLCache.createProcessor();

...

}

Da brauhst du aber auch eine Unterschiedung zwischen IE und FF/Mozilla:

if (window.ActiveXObject) {
 objectXSLTProcessor = objectXSLCache.createProcessor();
 objectXSLTProcessor.input = objectXML;
 objectXSLTProcessor.addParameter("bildid", photo, "");
 objectXSLTProcessor.transform();
 document.getElementById("ausgabe").innerHTML = objectXSLTProcessor.output;
}
else if (window.ChromeWindow) {
 //var myParam = xsltProcessor.getParameter(null, "bildid");
 objectXSLTProcessor.setParameter(null, "bildid", photo);
 HTMLAusgabe = objectXSLTProcessor.transformToFragment(objectXML, document);
 document.getElementById("ausgabe").innerHTML = "";
    document.getElementById("ausgabe").appendChild(HTMLAusgabe);
}

Grüße
Thomas