I have a main instance named ‘myinstance’ which has the element color. Color can be ‘Red’, ‘Blue’, ‘Green’ or ”Yellow’. The colors are populated in a drop-down from another instance called ‘colorsinstance’. When my form loads, I want the default in the dropdown to be set to ‘Green’ in the nodeset binding.
<instance id="colorsinstance">
<items>
<item label="Color1" value="Red"/>
<item label="Color2" value="Blue"/>
<item label="Color3" value="Green"/>
<item label="Color4" value="Yellow"/>
</items>
</instance>
Main instance binding is as follows:
<xforms:bind nodeset="instance('myinstance')">
<xforms:bind nodeset="./color" required="true()"/>
</xforms:bind>
The default value of the dropdown will reflect the value stored in the instance. You can either put the default directly in your instance, e.g.:
Or you can set the value using setvalue, e.g. this in your model:
Updated following your comment: if you want to use the Orbeon Forms xxforms:default extension, then try:
Also updated to reflect the fact that instance data must contain “Green”, not “Color3”.