在表单生成器中,我有一个包含说明文本字段的表单。该文本包含一个链接。我希望该链接的URL在每个环境中都不同。对于表单中的HTTP服务,我使用的是我已按照此blog post中所述定义的属性。
是否可以使用属性在解释性文本中配置URL?
答案 0 :(得分:1)
实施RFE 2427后,您就可以找到问题的真正解决方案。现在,fr:explanation
显示的文字完全是静态的。
你可以解决这个问题,方法是创建你自己的custom model logic,在表单加载时,用你定义的属性值替换文本中的某个字符串:
SITEURL
。 xxf:readonly="true"
实例上的fr-form-resources
。 This是生成的表单。properties-local.xml
添加自定义模型逻辑:<property as="xs:anyURI" name="oxf.fr.detail.model.custom.*.*" value="oxf:/forms/resources/model.xml"/>
。properties-local.xml
中,使用属性<property as="xs:string" name="com.example.siteurl" value="http://www.orbeon.com/"/>
定义占位符的值。model.xml
中,在表单加载时,将SITEURL
替换为属性值。以下是model.xml
:
<xf:model xmlns:xf="http://www.w3.org/2002/xforms"
xmlns:xxf="http://orbeon.org/oxf/xml/xforms">
<xf:action event="xforms-model-construct-done">
<xf:action iterate="instance('fr-form-resources')/resource/text-with-link/text">
<xf:setvalue ref="."
value="
replace(
.,
'SITEURL',
xxf:property('com.example.siteurl')
)"/>
</xf:action>
</xf:action>
</xf:model>