我是XSLT新手,我试图获取我刚刚创建的属性的内容。
我有一些XML,如下所示:
<subpara id="subpara">
<title>I am some heavy title</title>
<para id="para">Here is some dummy text for a dummy para.</para>
<table id="t01" tocentry="1">
...在XSLT中,我需要:
<xsl:template match="subpara/title">
<div>
<xsl:attribute name="class">
<xsl:text>title</xsl:text>
<xsl:call-template name="addChangeClasses"/>
</xsl:attribute>
<xsl:attribute name="data-numbering">
<xsl:apply-templates select="parent::*" mode="numbering"/>
</xsl:attribute>
# HERE I'D LIKE TO HAVE THE CONTENT OF THE ATTRIBUTE I JUST CREATED
<xsl:value-of select"@data-numbering"/>
<xsl:apply-templates/>
</div>
</xsl:template>我的目的是创建这个输出:
<div class="title" data-numbering="1.1">1.1 - I am some heavy title</div>所以我正在创建一个属性data-numbering,,但是我想显示它的内容。显然,做<xsl:value-of select="@data-numbering"/>并不是正确的方法。
有人能帮我吗?谢谢!)
发布于 2020-06-17 11:58:18
没有看到模板返回的内容,我在这里只做了一个最好的猜测:
<xsl:variable name="d_numb">
<xsl:apply-templates select="parent::*" mode="numbering"/>
</xsl:variable>
<xsl:attribute name="data-numbering" select="$d_numb"/>
<xsl:value-of select="$d_numb"/>因此,将模板返回的任何值存储在变量中。然后使用这个变量填充属性并输出值。
https://stackoverflow.com/questions/62427878
复制相似问题