W3C home > Mailing lists > Public > www-ws-desc@w3.org > July 2003

RE: Value of @processContents: Recommend "strict"

From: Martin Gudgin <mgudgin@microsoft.com>
Date: Wed, 16 Jul 2003 15:06:37 -0700
Message-ID: <7C083876C492EB4BAAF6B3AE0732970E0C173176@red-msg-08.redmond.corp.microsoft.com>
To: "Arthur Ryman" <ryman@ca.ibm.com>, <www-ws-desc@w3.org>
Arthur,
 
Although the schema in the WSDL 1.1 spec document does not specify a
processContents value, the actual schema at
http://schemas.xmlsoap.org/wsdl/ uses processContents='lax' ( and has
done for a long time ).
 
processContents='lax' seems to be the 'sweet spot' here as it allows me
to validate a WSDL document even if I don't have schemas for all the
extensions therein. I don't want validation to fail just because I don't
have an extension schema.
 
Gudge


________________________________

	From: www-ws-desc-request@w3.org
[mailto:www-ws-desc-request@w3.org] On Behalf Of Arthur Ryman
	Sent: 14 July 2003 11:30
	To: www-ws-desc@w3.org
	Subject: Value of @processContents: Recommend "strict"
	
	

	Since we are using wildcards for extensions instead of
substitution groups, we need to decide on how extensions get validated.
The <xs:any> and <xs:anyAttribute> elements have the @processContents
attribute which controls validation as follows [1]: 
	
	{process contents}
<http://www.w3.org/TR/xmlschema-1/#process_contents>  controls the
impact on *assessment* <http://www.w3.org/TR/xmlschema-1/#key-va>  of
the information items allowed by wildcards, as follows: 
	strict 
	There must be a top-level declaration for the item available, or
the item must have an xsi:type, and the item must be *valid*
<http://www.w3.org/TR/xmlschema-1/#key-vn>  as appropriate. 
	skip 
	No constraints at all: the item must simply be well-formed XML. 
	lax 
	If the item, or any items among its [children]
<http://www.w3.org/TR/xml-infoset/#infoitem.element>  if it's an element
information item, has a uniquely determined declaration available, it
must be *valid* <http://www.w3.org/TR/xmlschema-1/#key-vn>  with respect
to that definition, that is, *validate*
<http://www.w3.org/TR/xmlschema-1/#key-vn>  where you can, don't worry
when you can't. 
	
	The default value is strict. The value used in WSDL 1.1 [2] is
the default, i.e. strict. Since tools need to process WSDL, it makes
sense for extensions to be validated as much as possible by the XML
schema validator. Therefore, we should use strict. This choice places a
burden on extension authors to provide a schema for the extension, but
the benefit is simplified extension processing code in tools (less need
for hand-coded validity checking). 
	
	[1] http://www.w3.org/TR/xmlschema-1/#Wildcards 
	[2] http://www.w3.org/TR/2001/NOTE-wsdl-20010315#A4.1
	
	Arthur Ryman
Received on Wednesday, 16 July 2003 18:06:44 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:58:25 GMT