<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<Result>
<resultDetails>
<resultDetailsData>
<itemProperties>
<ID>1</ID>
<type>LEVEL</type>
<value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:int">5</value>
</itemProperties>
</resultDetailsData>
</resultDetails>
</Result>
我有上面描述的xml。我想使用type标记的值(在本例中为LEVEL)获得value标记的值(在本例中为'5'),并使用XSLT将其存储在一个变量中,以便以后可以使用该变量。
我该怎么做?
你可以这样做:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:template match="/">
<xsl:variable name="myVar" select="Result/resultDetails/resultDetailsData/itemProperties/value"/>
<varoutput>
<xsl:value-of select="$myVar"/>
</varoutput>
</xsl:template>
</xsl:stylesheet>
应用于你的输入XML,你得到这样的输出:
<?xml version="1.0" encoding="UTF-8"?>
<varoutput>5</varoutput>
如果你想使用read变量来设置一个属性(即一行的颜色),你需要使用{$variable}如下
<xsl:variable name="rColor" select="rowColor"/>
然后<fo:table-row background-color="{$rColor}">