W3C home > Mailing lists > Public > xmlschema-dev@w3.org > March 2007

RE: any validation for elements

From: Shlomo Yona <S.Yona@F5.com>
Date: Tue, 6 Mar 2007 20:34:03 -0800
Message-ID: <B546C312A37C12438A22154026CDC7E011E326E6@exchfive.olympus.f5net.com>
To: "Michael Kay" <mike@saxonica.com>, <xmlschema-dev@w3.org>


Thanks for the explanation. I understand. Also, I’m happy you used the tern “the usual view” as it does seem that the standard has allowed some room for different interpretations regarding how to process “lax”.


Do you agree with the exceptions mentioned with regards to xsi:type mentioned in a previous reply to my question?







From: Michael Kay [mailto:mike@saxonica.com] 
Sent: â 06 îøõ 2007 23:26
To: Shlomo Yona; xmlschema-dev@w3.org
Subject: RE: any validation for elements


I think your interpretation is pretty close.


Why use strict? It's useful when you are writing a schema that you expect to be imported into another schema. It says "at this point you can insert any element that has been defined in the importing schema".


With lax, if you find an element that has a definition in the schema, then you validate it according to that definition (that is, you validate the whole subtree). There's some debate about what you do with elements that don't have a definition in the schema, the usual view seems to be that you carry on doing lax validation to the grandchildren and so on.


Michael Kay




	From: xmlschema-dev-request@w3.org [mailto:xmlschema-dev-request@w3.org] On Behalf Of Shlomo Yona
	Sent: 06 March 2007 15:56
	To: xmlschema-dev@w3.org
	Subject: xsd:any validation for elements



	I’m not sure that I’m clear about the parsing instructions for xsd:any. Your help in interpretation of the standard is most appreciated:


	The “skip” parser instruction in xsd:any says (I think) – only perform well formedness and namespace checks but don’t try to validate element names and types.

	The “lax” parser instruction in xsd:any says (I think) – same as skip but if you encounter an element name that is defined in your schema, then validate it against the schema.

	The “strict” says (I think) – same as “lax” but if you don’t know the element name – it is a validation error.


	The following things make me think that I misinterpret the standard correctly:

	*	Why use “strict”? you might as well not defined your content group as xsd:any. 
	*	The “lax” confuses me because I’m not sure if when I encounter <a> I should make sure that all its child elements and attributes conform with the schema or just <a> itself with its attributes 


	Actually, there are a few more unclear things, but I might resolve them if I get the above stuff straight.


	Thanks in advance for your help.



Received on Wednesday, 7 March 2007 04:34:15 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 23:15:41 UTC