I believe that both XSDHelper and XSD2JavaGenerator are not properly
accounting for sequence and read-only indicators in the XSD.  I have a test
case which I can attach to the Jira.  I'm appending my XSD below because the
problem may lie in my XSD.

If I define the Type with the TypeHelper using
       readOnlyProperty.setBoolean("readOnly", true);
and
       seqType.setBoolean("sequenced", true);
Then the test case passes.

I created the XSD from my understanding of the 2.1 Spec.  (sdo:sequence - p.
84 of 2.1 and sdo:readOnly  - pp.107, 108).  I'll open a Jira unless
somebody can tell me how I've misunderstood the spec.

The XSD:

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"; xmlns:sdo="
commonj.sdo" xmlns:simple="http://example.com/ExpectedException";
targetNamespace="http://example.com/ExpectedException";>
   <xsd:import namespace="commonj.sdo" schemaLocation="sdoModel.xsd"/>

    <xsd:element name="expectedExceptionsElem"
type="simple:ExpectedExceptionType"/>

    <xsd:complexType name="ExpectedExceptionType">
      <xsd:sequence>
         <xsd:element name="stringVal" type="sdo:String"/>
         <xsd:element name="booleanVal" type="sdo:Boolean"/>
         <xsd:element name="booleanVal2" type="sdo:Boolean"/>
         <xsd:element name="byteVal" type="sdo:Byte"/>
         <xsd:element name="stringVal2" type="sdo:String"/>
         <xsd:element name="decimalVal" type="sdo:Decimal"/>
         <xsd:element name="decimalVal2" type="sdo:Decimal"/>
         <xsd:element name="intVal" type="sdo:Int"/>
         <xsd:element name="floatVal" type="sdo:Float"/>
         <xsd:element name="doubleVal" type="sdo:Double"/>
         <xsd:element name="dateVal" type="sdo:Date"/>
         <xsd:element name="shortVal" type="sdo:Short"/>
         <xsd:element name="longVal" type="sdo:Long"/>
         <xsd:element maxOccurs="unbounded" minOccurs="0" name="listVal"
type="sdo:String"/>
         <xsd:element name="bytesVal" type="sdo:Bytes"/>
         <xsd:element name="integerVal" type="sdo:Integer"/>
         <xsd:element name="charVal" type="sdo:Character"/>
         <xsd:element name="readOnlyVal" sdo:readOnly="true"
type="sdo:String"/>
         <xsd:element name="readOnlyListVal" sdo:readOnly="true"
type="sdo:String"/>
      </xsd:sequence>
  </xsd:complexType>

  <xsd:element name="sequencedReadOnlyElem"
type="simple:SequenceReadOnlyType"/>

  <xsd:complexType sdo:sequence="true" name="SequenceReadOnlyType">
      <xsd:sequence>
          <xsd:element name="readOnlyVal" sdo:readOnly="true"
type="sdo:String"/>
          <xsd:element name="readOnlyListVal" sdo:readOnly = "true"
type="sdo:String"/>
          <xsd:element name="uniqueName" type="sdo:String"/>
      </xsd:sequence>
  </xsd:complexType>
</xsd:schema>

Reply via email to