- From: Costello, Roger L. <costello@mitre.org>
- Date: Fri, 5 Jun 2009 13:44:39 -0400
- To: "xmlschema-dev@w3.org" <xmlschema-dev@w3.org>
Hi Folks, Here are five questions I have about openContent when used with a type and subtype. QUESTION #1 Consider this base type (with mode="interleave") and a subtype: <complexType name="Publication" abstract="true"> <openContent mode="interleave"> <any /> </openContent> <sequence> <element name="Title" type="string" /> <element name="Author" type="string" /> <element name="Date" type="gYear"/> </sequence> </complexType> <complexType name="BookPublication"> <complexContent> <extension base="pub:Publication"> <sequence> <element name="ISBN" type="string"/> <element name="Publisher" type="string"/> </sequence> </extension> </complexContent> </complexType> Now I declare the <Book> element to be of type BookPublication: <element name="Book" type="pub:BookPublication"> In the instance document, can I insert extension elements around the base type elements: Title, Author, Date? How about around the subtype elements: ISBN, Publisher? <Book> <Title>My Life and Times</Title> <-- around here? <Author>Paul McCartney</Author> <-- around here? <Date>1998</Date> <-- around here? <ISBN>1-56592-235-2</ISBN> <-- around here? <Publisher>McMillin Publishing</Publisher> <-- around here? </Book> QUESTION #2 Consider this base type (with mode="interleave") and subtype (with mode="none"): <complexType name="Publication" abstract="true"> <openContent mode="interleave"> <any /> </openContent> <sequence> <element name="Title" type="string" /> <element name="Author" type="string" /> <element name="Date" type="gYear"/> </sequence> </complexType> <complexType name="BookPublication"> <complexContent> <extension base="pub:Publication"> <openContent mode="none"> <any /> </openContent> <sequence> <element name="ISBN" type="string"/> <element name="Publisher" type="string"/> </sequence> </extension> </complexContent> </complexType> Now I declare the <Book> element to be of type BookPublication: <element name="Book" type="pub:BookPublication"> In the instance document, can I insert extension elements around the base type elements: Title, Author, Date? How about around the subtype elements: ISBN, Publisher? <Book> <Title>My Life and Times</Title> <-- around here? <Author>Paul McCartney</Author> <-- around here? <Date>1998</Date> <-- around here? <ISBN>1-56592-235-2</ISBN> <-- around here? <Publisher>McMillin Publishing</Publisher> <-- around here? </Book> -- From Michael's latest message, -- this is an invalid schema. Yes? QUESTION #3 Consider this base type and subtype (with mode="interleave"): <complexType name="Publication" abstract="true"> <sequence> <element name="Title" type="string" /> <element name="Author" type="string" /> <element name="Date" type="gYear"/> </sequence> </complexType> <complexType name="BookPublication"> <complexContent> <extension base="pub:Publication"> <openContent mode="interleave"> <any /> </openContent> <sequence> <element name="ISBN" type="string"/> <element name="Publisher" type="string"/> </sequence> </extension> </complexContent> </complexType> Now I declare the <Book> element to be of type BookPublication: <element name="Book" type="pub:BookPublication"> In the instance document, can I insert extension elements around the base type elements: Title, Author, Date? How about around the subtype elements: ISBN, Publisher? <Book> <Title>My Life and Times</Title> <-- around here? <Author>Paul McCartney</Author> <-- around here? <Date>1998</Date> <-- around here? <ISBN>1-56592-235-2</ISBN> <-- around here? <Publisher>McMillin Publishing</Publisher> <-- around here? </Book> QUESTION #4 Consider this base type (mode="suffix") and subtype (with mode="interleave"): <complexType name="Publication" abstract="true"> <openContent mode="suffix"> <any /> </openContent> <sequence> <element name="Title" type="string" /> <element name="Author" type="string" /> <element name="Date" type="gYear"/> </sequence> </complexType> <complexType name="BookPublication"> <complexContent> <extension base="pub:Publication"> <openContent mode="interleave"> <any /> </openContent> <sequence> <element name="ISBN" type="string"/> <element name="Publisher" type="string"/> </sequence> </extension> </complexContent> </complexType> Now I declare the <Book> element to be of type BookPublication: <element name="Book" type="pub:BookPublication"> In the instance document, can I insert extension elements around the base type elements: Title, Author, Date? How about around the subtype elements: ISBN, Publisher? <Book> <Title>My Life and Times</Title> <-- around here? <Author>Paul McCartney</Author> <-- around here? <Date>1998</Date> <-- around here? <ISBN>1-56592-235-2</ISBN> <-- around here? <Publisher>McMillin Publishing</Publisher> <-- around here? </Book> QUESTION #5 Consider this base type (mode="interleave") and subtype (with mode="suffix"): <complexType name="Publication" abstract="true"> <openContent mode="interleave"> <any /> </openContent> <sequence> <element name="Title" type="string" /> <element name="Author" type="string" /> <element name="Date" type="gYear"/> </sequence> </complexType> <complexType name="BookPublication"> <complexContent> <extension base="pub:Publication"> <openContent mode="suffix"> <any /> </openContent> <sequence> <element name="ISBN" type="string"/> <element name="Publisher" type="string"/> </sequence> </extension> </complexContent> </complexType> Now I declare the <Book> element to be of type BookPublication: <element name="Book" type="pub:BookPublication"> In the instance document, can I insert extension elements around the base type elements: Title, Author, Date? How about around the subtype elements: ISBN, Publisher? <Book> <Title>My Life and Times</Title> <-- around here? <Author>Paul McCartney</Author> <-- around here? <Date>1998</Date> <-- around here? <ISBN>1-56592-235-2</ISBN> <-- around here? <Publisher>McMillin Publishing</Publisher> <-- around here? </Book> /Roger
Received on Friday, 5 June 2009 17:45:14 UTC