Ich stecke mit einem kleinen Problem fest.Verweise auf eine XSLT-Variable über einen dynamischen Namen
Die XSL-Datei:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fn="http://www.w3.org/2005/xpath-functions">
<xsl:template match="/">
<xsl:variable name="unumericValue" select="10" />
<xsl:variable name="uanotherValue" select="8" />
<xsl:for-each select="/root/try">
<xsl:value-of select="var" />
<xsl:variable name="min"><xsl:value-of select="@minimum" /></xsl:variable>
<xsl:value-of select="@type" />
<xsl:variable name="referenceName"><xsl:value-of select='concat("u",var)' /></xsl:variable>
<xsl:value-of select="$referenceName" />
<xsl:if test='$referenceName > $min'>
<p>Do something.</p>
</xsl:if>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Die XML-Datei:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="q1.xsl"?>
<root>
<try type="compare" minimum="9">
<var>numericValue</var>
<something>...</something>
</try>
<try type="compare" minimum="10">
<var>anotherValue</var>
<something>...</something>
</try>
</root>
Wie Sie die XML-Datei hat zwei var-Elemente sehen, die auf die Variablen in der XSLT-Datei übereinstimmen sollten . Ich weiß jedoch nicht, welche Syntax korrekt ist. $ referenceName ist nur der Name der Variablen, die ich verwenden möchte. Aber ich weiß nicht, wie ich den Namen auf die vorhandene Variable beziehen soll.
Vielen Dank. Der erste Vorschlag hat mir gut getan. – eadrax