XMLBeans claims "100% support of XML Schema". But from what I've seen in this thread, it appears to ignore the internal structure of complexTypes, so that this:

           <xs:element name="name">
               <xs:complexType>
                   <xs:sequence maxOccurs="unbounded">
                       <xs:element name="nameElement" type="xs:string"/>
                       <xs:element name="nameValue" type="xs:string"/>
                   </xs:sequence>
               </xs:complexType>
           </xs:element>

is intentionally treated the same as this:

           <xs:element name="name">
               <xs:complexType>
                   <xs:sequence>
<xs:element name="nameElement" maxOccurs="unbounded" type="xs:string"/> <xs:element name="nameValue" maxOccurs="unbounded" type="xs:string"/>
                   </xs:sequence>
               </xs:complexType>
           </xs:element>

If that's true it's a major flaw in XMLBeans, and pretty much rubbishes the schema support claim.

I realize that by changing the schema you can manipulate XMLBeans into producing something that creates the intended XML structure. But the reason people use XMLBeans in the first place is because it's supposed to create that structure automatically.

 - Dennis

Dennis M. Sosnoski
SOA and Web Services in Java
Training and Consulting
http://www.sosnoski.com - http://www.sosnoski.co.nz
Seattle, WA +1-425-939-0576 - Wellington, NZ +64-4-298-6117



Stefan Offermann wrote:
Dennis Sosnoski schrieb:
I'm confused by your statement. Elements in a <sequence> most definitely *are* ordered. Does this mean that XMLBeans ignores nested compositors?

I'm sorry, elements in a sequence *are* *sorted*, shame on me for the false information (When I learned xml-schema I was told that they are not ordered, but they are as I read today...)

The solution for Maya may be a schema which generates this output:

<Name>
  <NameComponent>
    <NameValue>NameValue</NameValue>
    <NameElement>Name</NameElement>
  </NameComponent>
  <NameComponent>
    <NameValue>NameValue1</NameValue>
    <NameElement>Name1</NameElement>
  </NameComponent>
</Name>

This would keep the order, but there is one more Type called "NameComponent".

Another solution could be:

<Name>
  <NameComponent element="foo">fooValue</NameComponent>
  <NameComponent element="bar">barValue</NameComponent>
</Name>

Best regards, Stefan

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to