Binding model to controls in XForms

122 Views Asked by At

I use refs to bind model to controls in Xforms. I wanted to bind model to types via xml schema. However it's not working. I have to manually write types in model elements, to make it work. What am I doing wrong? How can I avoid modifying the model elements?

document.xhtml:

...
<xf:model id="default-model" xmlns="" schema="document.xsd">
<xf:instance>
    <elem>
        <!-- <n3 xsi:type="xs:anyURI"></n3> -->            
        <n3></n3>
        <n2></n2>
    </elem>
</xf:instance>
</xf:model>
....
<xf:upload id="object6" ref="/elem/n3" >
</xf:upload>
....

document.xsd:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:complexType name="ct1">
        <xs:sequence>
            <xs:element name="n1" type="ct11" minOccurs="0"/>
            <xs:element name="n3" type="xs:anyURI"/>
            <xs:element name="n2" type="ct12"/>
        </xs:sequence>
        <xs:attribute name="attr3" type="xs:string" use="optional"/>
    </xs:complexType>

    <xs:complexType name="ct11">
        <xs:sequence>
        <xs:element name="n11" type="ct111"/>
        <xs:element name="n12" type="xs:date" minOccurs="0"/>
        </xs:sequence>
        <xs:attribute name="attr11" type="xs:string" use="optional"/>
        </xs:complexType>

    <xs:complexType name="ct12">
        <xs:sequence>
            <xs:element name="n21" type="xs:date" minOccurs="0"/>
            <xs:element name="n22" type="xs:date" minOccurs="0"/>
            <xs:element name="n23" type="xs:date" minOccurs="0"/>
    </xs:sequence>
    <xs:attribute name="attr12" type="xs:string" use="optional"/>
    </xs:complexType>

    <xs:complexType name="ct111">
        <xs:sequence>
        <xs:element name="n31" type="xs:date" minOccurs="0"/>
        <xs:element name="n32" type="xs:date"/>
        </xs:sequence>
        <xs:attribute name="attr111" type="TypDaty" use="optional"/>
    </xs:complexType>

    <xs:element name="elem" type="ct1"/>
</xs:schema>
0

There are 0 best solutions below