首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从模板重写XSLT中的全局变量?

问如何从模板重写XSLT中的全局变量?
EN

Stack Overflow用户
提问于 2016-06-02 13:14:00
回答 1查看 966关注 0票数 1

我无法从模板中覆盖XSLT中的全局变量。

全局变量声明:

代码语言:javascript
复制
<xsl:variable name="abc" />

模板,其中我希望覆盖全局变量:

代码语言:javascript
复制
<xsl:template name ="newTemplate">     
    <xsl: variable name="abc" select="'1'" />
    <!- ... -->
</xsl:template>

可以覆盖全局变量吗?如果是,怎么做?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-02 13:35:35

XSLT中的变量在XSLT中是不可变的,一旦设置就不能更改。在您问题中的代码片段中,模板中的abc声明被称为“隐藏”全局声明。(见https://www.w3.org/TR/xslt#dt-shadows)。

这意味着在模板中不能访问全局声明。您刚刚创建了一个名称相同的新变量,该变量是模板的本地变量。

这并不意味着你不能解决你的根本问题,只是你不能通过改变变量来解决它。理想情况下,你应该始终解决你想要解决的问题,而不仅仅是你想要解决的问题。

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

https://stackoverflow.com/questions/37592948

复制
相关文章

相似问题

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