首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XSLT:获取动态创建的属性的值。

XSLT:获取动态创建的属性的值。
EN

Stack Overflow用户
提问于 2020-06-17 11:26:33
回答 1查看 48关注 0票数 0

我是XSLT新手,我试图获取我刚刚创建的属性的内容。

我有一些XML,如下所示:

代码语言:javascript
复制
<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中,我需要:

代码语言:javascript
复制
<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>

我的目的是创建这个输出:

代码语言:javascript
复制
<div class="title" data-numbering="1.1">1.1 - I am some heavy title</div>

所以我正在创建一个属性data-numbering,,但是我想显示它的内容。显然,做<xsl:value-of select="@data-numbering"/>并不是正确的方法。

有人能帮我吗?谢谢!)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-17 11:58:18

没有看到模板返回的内容,我在这里只做了一个最好的猜测:

代码语言:javascript
复制
<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"/>

因此,将模板返回的任何值存储在变量中。然后使用这个变量填充属性并输出值。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62427878

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档