SchemaType.getElementProperties() return all possible properties for a
type. What is the easiest recommended way to find their
grouping/relationship? For example some of these may belong to a
'choice' particle.
Is walking the particle tree the only option to find these
relationships?
For example, on the following type 'foo', getElementProperties() will
return {A, B, C, D, E, F, G}. How do I know that after property 'A' you
can either have {B, C} or {D, E, F, G}?
<xsd:complexType name="foo">
<xsd:sequence>
<xsd:element name="A" type="..." />
<xsd:choice>
<xsd:sequence>
<xsd:element name="B" type="..."/>
<xsd:element name="C" type="..."/>
</xsd:sequence>
<xsd:sequence>
<xsd:element name="D" type="..."/>
<xsd:element name="E" type="..."/>
<xsd:element name="F" type="..."/>
<xsd:element name="G" type="..."/>
</xsd:sequence>
</xsd:choice>
</xsd:sequence>
</xsd:complexType>