Altova Mailing List Archives>Archive Index >xmlschema-dev Archive Home >Recent entries >Thread Prev - new to schema: Unique Particle Attribution [Thread Next] RE: new to schema: Unique Particle AttributionTo: "'Kostas Karadamoglou'" <karadamoglou_k@-----.-->, <xmlschema-dev@--.---> Date: 4/6/2005 11:06:00 AM
>
> I am new to xml schema and to this mailing list (if misuse it please
> inform me).
>
> I would like to write an element (question) which does the following:
>
> question can have either:
>
> title(optional), content and weight
>
> or:
>
> title, content(optional), weight(optional) and question
Since no repetition is involved you can tackle this by writing out all the
permitted sequences:
CW
TCW
TQ
TCQ
TWQ
TCWQ
and then factor them by combining those that start with the same
subsequence:
(CW)|(T(C(WQ?|Q)|WQ|Q))
that is,
choice (
sequence(C, W),
sequence (T,
choice(
sequence(C,
choice (sequence (W, Q?), Q),
sequence(W, Q),
Q)
)
)
Michael Kay
http://www.saxonica.com/
>
> I tried to implement the above rules in an xml schema but I got a
> "Unique Particle Attribution". Below I provide you with the
> xml fragment
> that implement the rules. Can you tell me how I can implement
> these rules?
>
> <xs:group name="simpleQuestionItems">
> <xs:sequence>
> <xs:element ref="title" minOccurs="0" maxOccurs="1"/>
> <xs:element ref="content"/>
> <xs:element ref="weight"/>
> </xs:sequence>
> </xs:group>
>
> <xs:group name="complexQuestionItems">
> <xs:sequence>
> <xs:element ref="title"/>
> <xs:element ref="content" minOccurs="0" maxOccurs="1"/>
> <xs:element ref="weight" minOccurs="0" maxOccurs="1"/>
> <xs:element ref="question" minOccurs="1"
> maxOccurs="unbounded"/>
> </xs:sequence>
> </xs:group>
>
> <xs:element name="question">
> <xs:complexType>
> <xs:choice>
> <xs:group ref="simpleQuestionItems"/>
> <xs:group ref="complexQuestionItems"/>
> </xs:choice>
> <xs:attribute name="required" type="xs:boolean"
> default="false"/>
> </xs:complexType>
> </xs:element>
>
>
>
>
From ht@i... Wed Jul 06 08:16:11 2005
Received: from maggie.w3.org ([193.51.208.68])
by frink.w3.org with esmtp | ||||||
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | Mobile | Full Site | |||
|
