我編寫的基於http://www.w3.org/MarkUp/Forms/wiki/XForms_2.0#The_var_element以下XForms文檔:XSLTforms或betterForm支持變量(var)嗎?
<?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>
這是非常簡單的:應該輸出(我認爲)基爾羅伊兩次,第一次從模型直接讀出,然後投入一個變量和打印的變量。
但產量只有
PersonGivenName=Kilroy
pg_name=
我已經使用存在-DB 2.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」。上面的代碼似乎在語法上是正確的,但變量的值不會打印出來。有人可以解釋這一點嗎?
對不起看到我的代碼示例中被剝離出來 - 無需重寫括號: XF:setvariable NAME = 「foo」 的值= 「酒吧」。 xf:setvariable是一個xforms動作,你可以調用允許的任何動作。 –