2010-12-01 18 views
0

Je suis en train de créer un contrôle XBL qui regroupe une date xform, une chute vers le bas et une zone de texte dans Orbeon avec l'extrait de code suivant:Comment créer un groupé contrôle XBL

<xbl:binding id="fb-generalform" element="fr|GeneralForm"> 
    <metadata xmlns="http://orbeon.org/oxf/xml/form-builder"> 
     <display-name lang="en">General Form</display-name> 
     <display-name lang="fr">Bouton navigateur</display-name> 
     <icon lang="en"> 
      <small-icon>/forms/orbeon/builder/images/button.png</small-icon> 
      <large-icon>/forms/orbeon/builder/images/button.png</large-icon> 
     </icon> 
     <datatype>xs:string</datatype> 
     <template> 
      <xforms:select id="" appearance="xxforms:tree" ref="" xmlns=""> 
       <xforms:label ref=""/> 
       <xforms:hint ref=""/> 
       <xforms:help ref=""/> 
       <xforms:alert ref="$fr-resources/detail/labels/alert"/> 
       <xforms:itemset nodeset=""> 
        <xforms:label ref="label"/> 
        <xforms:value ref="value"/> 
       </xforms:itemset> 
      </xforms:select>     
     </template>    
    </metadata> 
</xbl:binding> 

Il fonctionne correctement avec un contrôle mais quand j'essaye d'ajouter plus de contrôles dans le modèle, cela ne reflète aucun changement sur l'écran. Il n'affiche qu'un contrôle sur l'interface utilisateur.

Quelqu'un peut-il me guider comment puis-je faire un contrôle XBL groupé?

-Merci

Répondre

0

Le problème est que vous implémentez le composant à l'intérieur du metadata/template. Au lieu de cela, ce que vous voulez mettre à l'intérieur <template> est la façon dont le composant doit être utilisé. C'est-à-dire: si vous écriviez XForms à la main (sans utiliser Form Builder), et que vous deviez utiliser ce composant, à quoi cela ressemblerait-il? Au lieu de cela, l'implémentation du composant va dans <xbl:template>, ce qui manque dans votre code.

Un exemple simple que vous pourriez trouver être une bonne inspiration est le date picker, pour lequel vous pouvez voir le source code.