xsl:variable aus anderer xsl-Datei holen???
Ralf
- xsl
0 Thomas J.S.0 Ralf
Hallo
Ich möchte eine Variable in die nächste Datei mitnehmen.
Die Grunddatei ist artikel.xml. Die ist mit der artikel.xsl formatiert. In der XSL habe ich eine Variable:
<xsl:variable name="struktur"><xsl:value-of select="ground/sel"/></xsl:variable>
Wenn ich jetzt auf einen Link klicke, komme ich auf die details.xml (formatiert mit details.xsl). In der details.xsl muss ich auf die Variable aus der artikel.xsl zugreifen. Wie kann ich das machen?
Muss ich die schon mit dem Link mitliefern? Oder kann ich irgendwie z. B. mit der document() Funktion auf die artikel.xsl zugreifen, um die Variable zu holen?
Ralf
hallo,
Ich möchte eine Variable in die nächste Datei mitnehmen.
Dafür ist xsl:param geigneter.
<xsl:param name="parametername" select="parameterwert" />
Muss ich die schon mit dem Link mitliefern?
Ja, das kannst du im Link tun der auf das zweite XML verweist:
http://....abc.xml?paramtername=parameterwert
dann kannst du in der zweiten XSL-Datei d. Param. abfragen.
Oder kann ich irgendwie z. B. mit der document() Funktion auf die artikel.xsl zugreifen, um die Variable zu holen?
Mit xsl:include und xsl:import kannst du auf andere xsl-Dokumente zugreifen (wird aber nicht das sein was du darunter vorstellst)
Grüße
Thomas
Muss ich die schon mit dem Link mitliefern?
Ja, das kannst du im Link tun der auf das zweite XML verweist:
http://....abc.xml?paramtername=parameterwertdann kannst du in der zweiten XSL-Datei d. Param. abfragen.
Diese Lösung wäre Ideal.
Wie kann ich den Parameter abfragen? Normalerweise greife ich so auf einen Parameter zu (wie auf Varaiblen):
<xsl:value-of select="$parametername"/>
Wenn ich den Parameter aber nicht in der XSL definiert habe, bekomme ich beim IE einen Fehler und Netscape zeigt garnichts an.
Hallo,
Ja, das kannst du im Link tun der auf das zweite XML verweist:
http://....abc.xml?paramtername=parameterwertdann kannst du in der zweiten XSL-Datei d. Param. abfragen.
Diese Lösung wäre Ideal.
Wie kann ich den Parameter abfragen? Normalerweise greife ich so auf einen Parameter zu (wie auf Varaiblen):
<xsl:value-of select="$parametername"/>Wenn ich den Parameter aber nicht in der XSL definiert habe, bekomme ich beim IE einen Fehler und Netscape zeigt garnichts an.
Machst du die Transformation serverseitig, oder im Client?
Soweit ich mich erinnerne kann der IE clientsitig keine Paramter per URL übergabe verarbeiten, ob das NS (clientseitig) kann weiss ich nicht.
Wenn du die Transformation clientseitig machst, hast du nur die Möglichkeit, per DOM zu arbeiten: dazu gibt es noch zwei aktuelle Thrades im Forum (variable per JavaScript übergeben)
Ansonsten, definierst du im ersten XSL dein Parameter gibt du ihm einen Wert, (<xsl:param name="parametername" select="parameterwert" />) übergibst du ihn per URL und im zweiten XSL muss du natürlich ebenso den Paramter definiert haben (<xsl:param name="parametername" />) um ihn abfragen zu können, dann kannst du darauf auch zugreifen: <xsl:value-of select="$parametername"/>
Grüße
Thomas