I do not believe you are correct, at least with the version of XMLBeans that I am using. I am using 2.2.0, JKD 1.4.2.
The java class I used is attached. The output is listed below: <Root> <First>first string</First> <Second>second string</Second> </Root> Process finished with exit code 0 Rob --- Ophir Bleiberg <[EMAIL PROTECTED]> wrote: > It appears that the when creating a document through the Java API, > the order of the elements in a sequence in the produced document is > the order in which 'set' was called, and not the order defined in > the schema (that is, we produce an invalid document!). > This seems like a reasonable bean-based approach, otherwise you > need to know the exact schema in order to populate an XML sequence. > Also, it means it's a real pain to modify an existing document by > adding an optional element in the middle of a sequence. > Surly the schema provides enough information for the engine to > order the sequence elements regardless of the order of calling the > 'setter' method. > Are we doing something wrong, or is this just how XMLBeans works? > > For example: > > <?xml version="1.0" encoding="UTF-8"?> > <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" > elementFormDefault="qualified" attributeFormDefault="unqualified"> > <xs:element name="Root"> > <xs:annotation> > <xs:documentation>Root Element</xs:documentation> > </xs:annotation> > <xs:complexType> > <xs:sequence> > <xs:element name="First" type="xs:string"> > <xs:annotation> > <xs:documentation>First element > in > sequence</xs:documentation> > </xs:annotation> > </xs:element> > <xs:element name="Second" type="xs:string"> > <xs:annotation> > <xs:documentation>Second > element in > sequence</xs:documentation> > </xs:annotation> > </xs:element> > </xs:sequence> > </xs:complexType> > </xs:element> > </xs:schema> > > If we call 'setSecond' before 'setFirst' an invalid document is > produced. > > Thanks, > Ophir > > "Beware of the man who works hard to learn something, > learns it, and finds himself no wiser than before. He is full of > murderous resentment of people who are ignorant without having > come by their ignorance the hard way." > > __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com
import noNamespace.RootDocument; import noNamespace.RootDocument.Root; import org.apache.xmlbeans.XmlOptions; public class test { public static void main(String[] args) { RootDocument rootDocument = RootDocument.Factory.newInstance(); Root root = rootDocument.addNewRoot(); root.setSecond("second string"); root.setFirst("first string"); System.out.println(rootDocument.xmlText(new XmlOptions().setSavePrettyPrint())); } }
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]