Hallo,
ich habe 2 XML-Dateien mit dem gleichen Format.
Ich möchte nun im Wechsel mal die Daten aus meinem Basis-XML verwenden und mal aus der XML, die ich via document() hole.Ich verbinde die einzelnen templates mit call-template, weil die Variablen übergeben muss.
Das kannst du auch mit apply-templates.
- Wie schaffe ich es jetzt, dass sich die nachfolgenden call-templates(Zeile 14) auf die XML aus document(Zeile7) beziehen und nicht auf die Basis-XML
Zwei globale Variablen:
<xsl:variable name="thisroot" select="/">
<xsl:variable name="otherroot" select="document('./b/MultiJob_2005-09-19_185757.xml')">
14 <xsl:apply-templates select="$otherroot">
15 <xsl:with-param name="group_no" select="$group_no" />
16 </xsl:apply-templates>
entsprechend müssen Templates für die Elemente vorhanden sein (template match, statt template name).
Oder du übergibst otherroot als Parameter und änderst dementsprechend das Template
14 <xsl:call-template name="JobList">
15 <xsl:with-param name="group_no" select="$group_no" />
<xsl:with-param name="otherroot" select="'yes'" />
16 </xsl:call-template>
template name="JobList"
<xsl:param name="otherroot" select="'no' />
choose
when test="$otherroot = 'yes'"
mach was für $otherroot/element
otherwise
mach was für $thisroot/element
Grüße
Thomas