5
<?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。我想使用类型标签的值(即本例中的 LEVEL)获取值标签的值(在本例中为“5”)并使用 XSLT 将其存储在变量中,以便我可以使用该变量之后。

我该怎么做?

4

2 回答 2

8

你可以这样做:

<?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>
于 2013-03-25T08:45:23.213 回答
2

如果要使用读取变量来设置属性(即行的颜色),您需要使用{ $variable }如下

<xsl:variable name="rColor" select="rowColor"/>

然后

<fo:table-row background-color="{$rColor}">
于 2015-07-02T06:28:01.667 回答