首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在XSLTforms或betterForm中是否支持变量(var)?

在XSLTforms或betterForm中是否支持变量(var)?
EN

Stack Overflow用户
提问于 2013-07-18 21:44:19
回答 2查看 484关注 0票数 2

我已经准备了以下基于http://www.w3.org/MarkUp/Forms/wiki/XForms_2.0#The_var_element的XForms文档

代码语言:javascript
复制
<?xml-stylesheet type="text/xsl" href="../xsltforms/xsltforms.xsl"?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:xf="http://www.w3.org/2002/xforms">
    <head>
        <title>var-demo</title>
        <xf:model>
            <xf:instance>
                <data xmlns="">
                    <PersonGivenName>Kilroy</PersonGivenName>
                </data>
            </xf:instance>
        </xf:model>
    </head>
    <body>
        <xf:output value="PersonGivenName"><xf:label>PersonGivenName=</xf:label></xf:output>

        <xf:var name="pg_name" value="PersonGivenName"/>
        <xf:output value="pg_name"><xf:label>pg_name=</xf:label></xf:output>
    </body>
</html>

它非常简单:应该输出(我认为) Kilroy两次,第一次直接从模型读取,然后放入一个变量并打印该变量。

但输出仅为

代码语言:javascript
复制
PersonGivenName=Kilroy
pg_name=

我已经在eXist-DB2.0和eXide 2.0版本中尝试过了。上面的代码是由XSLTforms处理的;省略了第一行,它是由betterForm处理的-但结果是相同的。

http://www.w3.org/MarkUp/Forms/wiki/XForms_2.0中"3.2.4.2变量范围“一章之后的例子表明,当使用变量值时,需要$前缀,但XSLTforms和betterForm在将最后一次输出更改为value="$pg_name”时都会抛出异常。上面的代码看起来在语法上是正确的,但是变量的值没有打印出来。有人能解释这个吗?

EN

回答 2

Stack Overflow用户

发布于 2013-07-19 03:26:15

对不起,变量在XSLTForms中还没有实现。

我经常为“变量”定义一个专用的实例。

-Alain

票数 2
EN

Stack Overflow用户

发布于 2013-07-25 19:07:09

它们也不在betterFORM中。你可以使用Alain描述的模式,或者使用我们在规范中出现之前已经实现的自定义简单变量机制:

我们得到了一个<xf:setvariable name="foo" value="bar"/>实现。生成的变量可以在某些地方使用'$‘符号,或者(更安全地)使用bf:appContext('foo') XPath函数。

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

https://stackoverflow.com/questions/17725201

复制
相关文章

相似问题

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