Lists Home |
Date Index |
>Subscribe by email to email@example.com
Well, as long as we've got the thread going here...
>Lax processing is recursive, so the non-beta
>children of alpha will be laxly validated as well, unto the n-th
Then why was the word "children" used in the quoted passage ("...or any
items among its [children]")instead of "descendants"?
My experience seems to bear out what Dare says. Here's my schema:
<xs:any processContents="lax" maxOccurs="unbounded"/>
<xs:element name="c" type="xs:string"/>
<xs:element name="d" type="xs:string"/>
Xerces C++ reports errors for the third beta element below, but not the
<beta><c/><d/></beta> <!-- matches beta content model -->
<beta><x/></beta> <!-- doesn't, but grandchild of alpha -->
<beta><y/></beta> <!-- doesn't -->
In the absence of the kinds of declarations described by Jeni for other
potential parents of beta, descendants of the processContents="lax"
element's children seem to be processed as if those children had a
processContents value of "skip". Otherwise, the x element in the second beta
element would have triggered an error, right?
My basic goal is this: to write a schema that accepts everything in a
well-formed document except those elements specifically declared in that
schema, wherever they may turn up in the document. It's not looking
encouraging in XSD, although I have managed it in RNG.