existing XML schema re-use in XForms

Suppose that I'm in a real use case where an (XML based) application is already designed and deployed in an industrial environment and I want to design a front-end based on XForms forms. 
This application is based on XML Schema using massively the structural change possibilities on XML instances (e.g. <choice> or minOccurs="0" constructs). 
This schema cannot be modified, so XForms forms have to be designed to handle the XML instances produced by the application. As the instances could be very different, it's a very difficult exercise to write corresponding forms !!

Let me illustrate the problem with an example. Given a schema like this :
  <xs:element name="root">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="optelem" minOccurs="0"/>
        <xs:choice>
          <xs:element name="el1"/>
          <xs:element name="el2"/>
        </xs:choice>
      </xs:sequence>
      <xs:attribute name="optattr" type="xs:integer" use="optional"/>
    </xs:complexType>
  </xs:element>

A valid instance could be :
  <i:root optattr="12">
    <i:optelem/>
    <i:el1>
      something
    </i:el1>
  </i:root>

or could be :
  <i:root>
    <i:el2/>
  </i:root>
or something else very different ...

How can I write a unique XForms form that can handle all of these initial instance data ?
More precisely, how a form can modify the instance data to add or remove optional elements/attributes ? or how to simulate these structural changes ?

All my attempts to write XForms compliant forms failed, even using 2 models (one with the app instance, the other with a 'working' instance).


Thibault.

Received on Friday, 28 June 2002 09:59:50 UTC