首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XSLT:使用模板中的变量并将其应用于另一个模板

XSLT:使用模板中的变量并将其应用于另一个模板
EN

Stack Overflow用户
提问于 2022-08-17 16:57:56
回答 1查看 64关注 0票数 0

我面临一个XSLT问题,这个问题看起来很明显,但对我来说仍然是个挑战。我需要生成一个唯一的ID,这个ID必须应用于来自不同模板的元素。如果在一个模板中正确地生成和应用了ID,我就不能将它从一个模板应用到另一个模板,因为它超出了范围。

这是我迄今编写的代码。任何指针都将被高度赞赏:)

代码语言:javascript
复制
    <xsl:template match="uicontrol">
        <xsl:variable name="id" select="generate-id()"/>
                    <div class="ft-expanding-block" id="{$id}"/>
   </xsl:template>
    
   
    <xsl:template match="codeblock">     
        <h1><span class="ft-expanding-block-link"  data-target-id="{$id}">
            <xsl:apply-templates/>
        </span></h1>
    </xsl:template>

XML示例

代码语言:javascript
复制
<uicontrol>Show example</uicontrol>.
<codeblock>
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
  "id":"a7d67610-ceb5-4350-ba5a-746472c4f1f7",
  "schemas": [
    "urn:scim:schemas:core:1.0",
    "urn:scim:schemas:com_pingone:1.0" 
  ],
</codeblock>
<p class="- topic/p">The following code block should be expanded on page load with the label <uicontrol>Hide example</uicontrol>.</p>
<codeblock>
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
</codeblock>
EN

回答 1

Stack Overflow用户

发布于 2022-08-18 06:02:31

您有一个名为content的全局变量,另一个名为id的变量仅依赖于content的值,但它是一个模板的本地变量。如果要扩大该id变量的范围,只需将其设置为全局变量,就像content变量一样。只需将其从包含它的template中移出,就可以使它成为stylesheet元素的子元素。

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

https://stackoverflow.com/questions/73392341

复制
相关文章

相似问题

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