orbeon link 连接 href 中的值

orbeon link concat value in href

如何在 orbeon 的 xh:a link 中创建一个动态 link,其值作为 url 的一部分?

<x131573079 type="input"/>

<xh:a target="_blank" href="concat('http://www.someurl.nl/new?code=', $x131573079)">linkwithcode</xh:a></xh:div>

我创建了一个最小集也显示了这个问题。这 我创建了一个最小设置显示问题。 {concat()} 在这种情况下不起作用...

<?xml version="1.0" encoding="UTF-8"?>

<xh:head xml:lang="nl">
    <xh:title>hyperlink</xh:title>
    <xf:model id="fr-form-model" xxf:revisit-handling="reload" xxf:noscript-support="true">

        <xf:instance id="fr-form-instance">
            <form group-name="patrickgroep" form-name="hyperlink" form-title="">
                <formname>hyperlink</formname>
                <formtitle/>
                <groupname>patrickgroep</groupname>
                <tab_nav>
                    <tab_1 idx="1" name="x124675808" visibility="opened">true()</tab_1>
                </tab_nav>
                <x124675808 type="tab" tabidx="1">
                    <x124412365 type="block" layout="vertical" in_overview="true">
                        <x131573079 type="input" prefill="nu2"/>
                        <x177054053 type="output"/>
                    </x124412365>
                    <error_count/>
                </x124675808>
                <x124675808nav-button/>
            </form>
        </xf:instance>

        <xf:bind id="fr-form-binds" ref="instance('fr-form-instance')">
            <xf:bind id="formname-bind" ref="formname" name="formname"/>
            <xf:bind id="formtitle-bind" ref="formtitle" name="formtitle"/>
            <xf:bind id="groupname-bind" ref="groupname" name="groupname"/>
            <xf:bind id="x124675808-bind" ref="x124675808" relevant="true()">
                <xf:bind id="x124412365-bind" ref="x124412365" relevant="true()">
                    <xf:bind id="x131573079-bind" ref="x131573079" name="x131573079"
                        required="false()" readonly="false()" xxf:default="nu"/>
                    <xf:bind id="x177054053-bind" ref="x177054053"
                        calculate="if (xxf:evaluate-bind-property('x124412365-bind', 'relevant')) then (concat('http://somesite.com/page?code=',$x131573079)) else ''"
                    />
                </xf:bind>
            </xf:bind>
        </xf:bind>

        <xf:instance id="fr-form-resources" xxf:cache="true">
            <resources>
                <resource xml:lang="nl">
                    <x124675808>
                        <label>MyTab</label>
                    </x124675808>
                    <x124412365>
                        <title/>
                    </x124412365>
                    <x131573079>
                        <label>vraag</label>
                    </x131573079>
                    <x177054053>
                        <label>whatever</label>
                    </x177054053>
                </resource>
            </resources>
        </xf:instance>
    </xf:model>
</xh:head>
<xh:body>
    <xh:div id="variables"/>
    <fr:view>
        <xf:label ref="instance('fr-form-metadata')/title"/>
        <fr:body>

            <xf:group xxf:update="full" id="x124675808-section" bind="x124675808-bind"
                class="tab-{if(xxf:instance('fr-form-instance')/tab_nav/tab_1='true()') then 'visible' else 'hidden'}">
                <xh:h2 class="section-header">
                    <xf:output id="x124675808-title-text" mediatype="text/html"
                        ref="$form-resources/x124675808/label"/>
                </xh:h2>
                <xf:group id="x124675808-group">
                    <xf:group id="x124412365" bind="x124412365-bind"
                        class="default-block block-layout-vertical">
                        <xh:div id="x124412365-content">
                            <xh:div id="x131573079-content-item" class="block-layout-vertical">
                                <xf:input bind="x131573079-bind" id="x131573079-control">
                                    <xf:label>
                                        <xf:output id="x131573079-label-outputtext"
                                            mediatype="text/html"
                                            ref="$form-resources/x131573079/label"/>
                                    </xf:label>
                                    <xf:alert ref="$fr-resources/detail/labels/alert"/>
                                </xf:input>
                            </xh:div>
                            <xh:div id="x177054053-content-item" class="block-layout-vertical">
                                <xf:output bind="x177054053-bind" id="x177054053-control"
                                    mediatype="text/html"/>
                            </xh:div>
                            <xh:div>
                                <xh:a target="_target"
                                    href="{concat('http://somesite.com/page?code=',$x131573079)}"
                                    >somesite.com</xh:a>
                            </xh:div>
                        </xh:div>
                    </xf:group>
                </xf:group>
            </xf:group>
        </fr:body>
    </fr:view>
</xh:body>

很简单,只需要在属性中加上{},大括号里面的内容就会被当作XPath表达式求值:

<xh:a target="_blank"
      href="{concat('http://www.someurl.nl/new?code=', $x131573079)}">
    linkwithcode
</xh:a>

看来我已经解决了以下 post 的问题:Orbeon Form Builder - hyperlink with dynamic url?

使用这个:

<xh:a target="_target" id="123" 
                                    href="http://www.nu.nl/code={x131573079}"
                                    >somesite.com</xh:a>