如何为自定义Orbeon控件创建标签

时间:2013-08-14 10:07:19

标签: orbeon xbl

标签缺少自定义控件上的“for”属性。我正在使用lhha模式,但现在已切换到custom-lhha模式以尝试纠正问题。

下面的代码做了很奇怪的事情。 label元素包含两个带有正确标签内容的嵌套跨度,而for属性包含正确id的部分内容。

<xbl:xbl xmlns:xh="http://www.w3.org/1999/xhtml"
     xmlns:xf="http://www.w3.org/2002/xforms"
     xmlns:xxf="http://orbeon.org/oxf/xml/xforms"
     xmlns:fr="http://orbeon.org/oxf/xml/form-runner"
     xmlns:xbl="http://www.w3.org/ns/xbl"
     xmlns:xxbl="http://orbeon.org/oxf/xml/xbl">

<xbl:binding element="fr|image-picker" id="fr-image-picker" xxbl:mode="lhha custom-lhha binding value" xmlns:xxbl="http://orbeon.org/oxf/xml/xbl">
    <metadata xmlns="http://orbeon.org/oxf/xml/form-builder">
        <display-name lang="en">Image Picker</display-name>
        <icon lang="en">
            <small-icon>/apps/fr/assets/img/camera.png</small-icon>
            <large-icon>/apps/fr/assets/img/camera.png</large-icon>
        </icon>
        <templates>
            <view>
                <fr:image-picker id="image-picker" ref="">
                    <xf:label ref=""/>
                    <xf:hint ref=""/>
                    <xf:help ref=""/>
                    <xf:alert ref=""/>
                </fr:image-picker>
            </view>
        </templates>
    </metadata>
    <xbl:template>
        <xh:label for=""><xf:output value="xxf:label('fr-image-picker')"/></xh:label>
        <xf:input ref="xxf:binding('fr-image-picker')" class="image-picker"/>
    </xbl:template>
</xbl:binding>

任何提示都将不胜感激。

1 个答案:

答案 0 :(得分:0)

这是一个定义具有绑定和标签支持的简单组件的示例。当我使用组件时,我只使用常规xf:label

<xh:html
        xmlns:xh="http://www.w3.org/1999/xhtml"
        xmlns:xf="http://www.w3.org/2002/xforms"
        xmlns:xxf="http://orbeon.org/oxf/xml/xforms"
        xmlns:fr="http://orbeon.org/oxf/xml/form-runner">
    <xh:head>
        <xf:model>
            <xf:instance>
                <form xmlns=""/>
            </xf:instance>
        </xf:model>
        <xbl:xbl xmlns:xbl="http://www.w3.org/ns/xbl" xmlns:xxbl="http://orbeon.org/oxf/xml/xbl">
            <xbl:binding element="fr|image-picker" id="fr-image-picker" xxbl:mode="lhha binding value" xmlns:xxbl="http://orbeon.org/oxf/xml/xbl">
                <xbl:template>
                    <xf:input ref="xxf:binding('fr-image-picker')"/>
                </xbl:template>
            </xbl:binding>
        </xbl:xbl>
    </xh:head>
    <xh:body>
        <fr:image-picker ref=".">
            <xf:label>My Label</xf:label>
        </fr:image-picker>
    </xh:body>
</xh:html>

如果您想使用for的外部标签,只需给fr:image-picke一个ID并像往常一样使用for

<xf:label for="my-date-picker">My Label</xf:label>
<fr:image-picker id="my-date-picker" ref="."/>