RE: Usage of compositors and groups

Hi Randy,
Using a choice compositor with minOccurs="0" and maxOccurs="unbounded"
should achieve what you want. This means that the choice group can occur
0 to any number of times and every time it occurs, it can choose one
among B/C/D/E/F.

<xs:element name="A">
    <xs:complexType>
	<xs:choice minOccurs="0" maxOccurs="unbounded">
	    <xs:element name="B" type="xs:string"/>
	    <xs:element name="C" type="xs:string"/>
	    <xs:element name="D" type="xs:string"/>
	    <xs:element name="E" type="xs:string"/>
	    <xs:element name="F" type="xs:string"/>
	</xs:choice>
    </xs:complexType>
</xs:element>

Thanks,
Priya

-----Original Message-----
From: Randy Eastwood [mailto:sunmesa@cox.net] 
Sent: Thursday, April 18, 2002 1:35 PM
To: W3C XSchema List
Subject: Usage of compositors and groups

Hi folks,

I've been reading two references on schema. The W3C recommendation and a
Wrox book titled
Professional XSchema. I am trying to answer what seems to me to be a
basic simple question.

I need to construct an element A as an anonymous complexType with
element only content. There are 5
elements (B,C,D,E, and F) to be included in the complex type for element
A.

Elements B thru F do not need to be in sequence, do not have to occurr
at all, and are unbounded in
occurrence limit.

What combination of compositors (all | sequence | choice | group) and/or
constraints (minOccur and
maxOccur) does the trick?

Here's the template minus all the compositors and/or constraints:

<xs:element name="A">
    <xs:complexType>
    <xs:element name="B" type="xs:string"/>
    <xs:element name="C" type="xs:string"/>
    <xs:element name="D" type="xs:string"/>
    <xs:element name="E" type="xs:string"/>
    <xs:element name="F" type="xs:string"/>
    </xs:complexType>
</xs:element>

/r Randy

Quote from Ellen Ullman's book, "Close to the Machine":

"Human thinking can skip over a great deal, leap over small
misunderstandings, can contain ifs and
buts in untroubled corners of the mind. But the machine has no corners.
Despite all the attempts to
see the computer as a brain, the machine has no foreground or
background. It can be programmed to
behave as if it were working with uncertainty, but -- underneath, at the
code, at the circuits -- it
cannot simultaneously do something and withhold for later something that
remains unknown. In the
painstaking working out of the specification, line by code line, the
programmer confronts an awful,
inevitable truth: The ways of human and machine understanding are
disjunct."

Received on Thursday, 18 April 2002 16:52:06 UTC