- From: Matthew Merlo <matthew.j.merlo@lmco.com>
- Date: Thu, 24 Feb 2000 14:47:01 -0700
- To: www-xml-schema-comments@w3.org
Hi Folks, In an earlier incarnation of the XML Schema spec it allowed you to state that the content of an element is "open". My question is: What happened to it? Is it there in the current spec, but under a different guise? Or, if it's not there, is it coming back in the next version of the spec? Below is some background on "open content models" for those who are interested. /Roger Definition of "open content model": if an element is declared "open" in the schema then in the instance document the element" can contain child elements not listed in the schema. For example, consider this XML Schmema: <element name="Book"> <type> <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"/> </type> </element> This element declaration mandates that in an instance document a Book element must contain five child elements - Title, Author, Date, ISBN, and Publisher. For example: <Book> <Title>Illusions The Adventures of a Reluctant Messiah</Title> <Author>Richard Bach</Author> <Date>1977</Date> <ISBN>0-440-34319-4</ISBN> <Publisher>Dell Publishing Co.</Publisher> </Book> Suppose that, in the instance document, you wanted to add another child element of Book - perhaps you would like to add a link to Richard Bach's web page: <Book> <Title>Illusions The Adventures of a Reluctant Messiah</Title> <Author>Richard Bach</Author> <Date>1977</Date> <ISBN>0-440-34319-4</ISBN> <Publisher>Dell Publishing Co.</Publisher> <AuthorsWebPage xlink:href="http://www.rbach.com"/> </Book> An XML Schema parser will flag this instance document as invalid. Ideally, however, we would like for the XML Schema parser to ignore elements that are not defined in the schema. Thus, in this example it would ignore the <AuthorsWebPage> element. Applications that know how to deal with <AuthorsWebPage> would have the benefit of having a hyperlink to the author's web page. This ability to add elements in the instance document beyond those declared in the schema (and having the XML Schema parser ignore them) is what is mean't by an "open content model". Declaring the Book element to be "open" would enable instance documents to add elements not specified in the schema. --------------------------------------------------------------------------------------------------------- I was under the impression that in order to include elements not mentioned in the original schema, even with an open content model explicitly declared (if such a declaration exists), they must be assigned to a specific namespace (either with a prefix or in scope). Is this indeed the case? Perhaps I have distorted your definition of "open content model." -Matt
Received on Thursday, 24 February 2000 16:47:14 UTC