我可以使用属性在解释文本中配置URL



在形式构建器中,我有一个包括解释性文本字段的表单。文本包括一个链接。我希望该链接的URL在每个环境中都不同。对于我的http服务,我正在使用此博客文章中所述定义的属性。

是否可以使用属性在解释文本中配置URL?

实现RFE 2427后,您将为您的问题提供真正的解决方案。目前,fr:explanation所示的文本完全是静态的。

,您可以通过创建自己的自定义模型逻辑来解决此问题,该逻辑在形式负载上,从文本中替换了您所定义的属性值的某个字符串:

  1. 在形式构建器中,创建一个解释性文本字段,对于URL,请输入SITEURL
  2. 仍然以形式构建器,编辑表单源以删除fr-form-resources实例上的xxf:readonly="true"。这是结果的形式。
  3. 在您的properties-local.xml中添加自定义模型逻辑:<property as="xs:anyURI" name="oxf.fr.detail.model.custom.*.*" value="oxf:/forms/resources/model.xml"/>
  4. 仍然在properties-local.xml中,用属性定义占位符的值: <property as="xs:string" name="com.example.siteurl" value="http://www.orbeon.com/"/>
  5. 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>

最新更新