- From: Arthur Ryman <ryman@ca.ibm.com>
- Date: Tue, 21 Feb 2006 12:08:50 -0500
- To: www-ws-desc@w3.org, lmandel@ca.ibm.com
- Message-ID: <OF7B1ACB85.29AFF567-ON8525711C.005CEB9B-8525711C.005E2D7E@ca.ibm.com>
I've implemented R2 as agreed to at the 2006-02-16 telecon.
Arthur Ryman,
IBM Software Group, Rational Division
blog: http://ryman.eclipsedevelopersjournal.com/
phone: +1-905-413-3077, TL 969-3077
assistant: +1-905-413-2411, TL 969-2411
fax: +1-905-413-4920, TL 969-4920
mobile: +1-416-939-5063, text: 4169395063@fido.ca
----- Forwarded by Arthur Ryman/Toronto/IBM on 02/21/2006 11:54 AM -----
Arthur Ryman/Toronto/IBM@IBMCA
Sent by: www-ws-desc-request@w3.org
02/16/2006 07:09 AM
To
www-ws-desc@w3.org
cc
Lawrence Mandel/Toronto/IBM@IBMCA
Subject
Proposal for Resolution of CR005
Here is my proposal for resolving CR005 [1].
The issue is that the spec currently says that a WSDL document does not
need to <xsd:import> the XSD namespace when it refers to it components in
it [2], but the spec doesn't say if those components are always present in
the WSDL component model.
A WSDL 2.0 document MUST NOT refer to XML Schema components in a given
namespace unless an xs:import or xs:schema element information item for
that namespace is present or the namespace is the XML Schema namespace
which contains built-in types as defined in XML Schema Part 2: Datatypes
Second Edition [XML Schema: Datatypes].
In fact, the only built-in types defined by XML Schema are the simple
datatypes like xs:string, xs:int, etc., and the only WSDL components that
could possibly references these are Property components via the {value
constrain} property.[3] For example, suppose you want to define a Property
that has a xsd:string value.
<property ref="http://example.org/property/foo">
<constraint>xs:string</constraint>
</property>
The spec says the WSDL document does not have to <xs:import>
http://www.w3.org/2001/XMLSchema
This exception was introduced as a simplification for authors because I
thought authors would frequently refer to the built-in types. But in fact
they are only references from Property components and authors might well
define there own types anyway to express additional constraints, e.g.
using facets.
There are two possible resolutions.
R1 - remove the exception so that document do have to import the XML
Schema namespace. This means that any document that references the XML
Schema built-in types would have to include a section like:
<type/>
<xs:import namespace="http://www.w3.org/2001/XMLSchema " />
</type>
R2 - add a statement to the state stating that every component model
contains the built in types. I would add the following statement to 2.1.1
The Description Component
The {type definitions} property of the Description component MUST contain
all of the built-in datatypes defined by XML Schema Part 2: Datatypes
Second Edition [XMLSchema: Datatypes] [4], namely string, boolean,
decimal, float, double, duration, dateTime, time, date, gYearMonth, gYear,
gMonthDay, gDay, gMonth, hexBinary, base64, Binary, anyURI, QName,
NOTATION, normalizedString, token, language, NMTOKEN, NMTOKENS, Name,
NCName, ID, IDREF, IDREFS, ENTITY, ENTITIES, integer, nonPositiveInteger,
negativeInteger, long, int, short, byte, nonNegativeInteger, unsignedLong,
unsignedInt, unsignedShort, unsignedByte, positiveInteger.
After reflection on this issue, I recommend R1 because I don't think it is
really much of a burden to authors to add the <xs:import> in those cases
where they actually define Property components that directly reference
built-in XML Schema types.. It makes the spec simpler since there are no
exceptions to the import rule. It makes the component model simpler since
it removes some of the coupling with XML Schema.
[1] http://www.w3.org/2002/ws/desc/5/cr-issues/issues.html#CR005
[2] http://www.w3.org/TR/2006/CR-wsdl20-20060106/#xsd-types
[3]
http://www.w3.org/TR/2006/CR-wsdl20-20060106/#property-Property.valueconstraint
[4] http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/#built-in-datatypes
Arthur Ryman,
IBM Software Group, Rational Division
blog: http://ryman.eclipsedevelopersjournal.com/
phone: +1-905-413-3077, TL 969-3077
assistant: +1-905-413-2411, TL 969-2411
fax: +1-905-413-4920, TL 969-4920
mobile: +1-416-939-5063, text: 4169395063@fido.c
Received on Tuesday, 21 February 2006 17:09:01 UTC