- From: Costello, Roger L. <costello@mitre.org>
- Date: Fri, 29 May 2009 11:23:19 -0400
- To: "'xmlschema-dev@w3.org'" <xmlschema-dev@w3.org>
Hi Folks, Here is an example of declaring a <Book> element with open content: <element name="Book"> <complexType> <openContent mode="interleaved"> <any minOccurs="..." maxOccurs="..." /> </openContent> <sequence> <element name="Title" type="string"/> <element name="Author" type="string" /> <element name="Date" type="string"/> <element name="ISBN" type="string"/> <element name="Publisher" type="string"/> </sequence> </complexType> </element> Notice that I left unspecified the value of minOccurs and maxOccurs on the <any> element. If I specify minOccurs="0" and maxOccurs="1" does it mean that 0-1 new elements can be inserted into the <sequence> content model? Or, does it mean that: Before the <Title> element there can be 0-1 new elements, and Before the <Author element there can be 0-1 new elements, and Before the <Date> element there can be 0-1 new elements, and Before the <ISBN> element there can be 0-1 new elements, and Before the <Publisher> element there can be 0-1 new elements, and After the <Publisher> element there can be 0-1 new elements. If I specify minOccurs="1" and maxOccurs="1" does it mean that 1 new element must be inserted into the <sequence> content model? Or, does it mean that: Before the <Title> element there must be 1 new element, and Before the <Author element there must be 1 new element, and Before the <Date> element there must be 1 new element, and Before the <ISBN> element there must be 1 new element, and Before the <Publisher> element there must be 1 new element, and After the <Publisher> element there must be 1 new element. If I specify minOccurs="0" and maxOccurs="unbounded" does it mean that 0-unbounded new elements can be inserted into the <sequence> content model? Or, does it mean that: Before the <Title> element there can be 0-unbounded new elements, and Before the <Author element there can be 0-unbounded new elements, and Before the <Date> element there can be 0-unbounded new elements, and Before the <ISBN> element there can be 0-unbounded new elements, and Before the <Publisher> element there can be 0-unbounded new elements, and After the <Publisher> element there can be 0-unbounded new elements. Next, suppose I change the mode to 'suffix': <element name="Book"> <complexType> <openContent mode="suffix"> <any minOccurs="..." maxOccurs="..." /> </openContent> <sequence> <element name="Title" type="string"/> <element name="Author" type="string" /> <element name="Date" type="string"/> <element name="ISBN" type="string"/> <element name="Publisher" type="string"/> </sequence> </complexType> </element> I believe mode="suffix" means that new elements must always be placed at the bottom of the <sequence> content model (after the <Publisher> element). Correct? If I specify minOccurs="0" and maxOccurs="1" does it mean that 0-1 new elements can be inserted at the bottom of the <sequence> content model? If I specify minOccurs="1" and maxOccurs="1" does it mean that 1 new element must be inserted at the bottom of the <sequence> content model? If I specify minOccurs="0" and maxOccurs="unbounded" does it mean that 0-unbounded new elements can be inserted at the bottom of the <sequence> content model? Lastly, suppose I change the mode to 'none': <element name="Book"> <complexType> <openContent mode="none"> <any minOccurs="..." maxOccurs="..." /> </openContent> <sequence> <element name="Title" type="string"/> <element name="Author" type="string" /> <element name="Date" type="string"/> <element name="ISBN" type="string"/> <element name="Publisher" type="string"/> </sequence> </complexType> </element> What does mode="none" mean? Does it mean: You cannot insert new elements into the <sequence> content model. How is it different from this (no openContent specified): <element name="Book"> <complexType> <sequence> <element name="Title" type="string"/> <element name="Author" type="string" /> <element name="Date" type="string"/> <element name="ISBN" type="string"/> <element name="Publisher" type="string"/> </sequence> </complexType> </element> Are they the same? If they are, why have mode="none"? What's its value? /Roger
Received on Friday, 29 May 2009 15:23:52 UTC