[Home] [By Thread] [By Date] [Recent Entries]


>Subscribe by email to xmlschema-dev-request@w...

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
>generation.

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:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  
    <xs:element name="alpha">
      <xs:complexType>
        <xs:sequence>
          <xs:any processContents="lax" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
    </xs:element>
  
    <xs:element name="beta">
      <xs:complexType>
        <xs:sequence>
          <xs:element name="c" type="xs:string"/>
          <xs:element name="d" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
    </xs:element>
  
  </xs:schema>
 
Xerces C++ reports errors for the third beta element below, but not the
second:

  <alpha xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:noNamespaceSchemaLocation="alpha.xsd">
    <beta><c/><d/></beta> <!-- matches beta content model -->
    <e/>
    <f>
      <beta><x/></beta> <!-- doesn't, but grandchild of alpha -->
    </f>
    <beta><y/></beta>       <!-- doesn't -->
  </alpha>
   
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. 

Bob

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member