- From: Arthur Ryman <ryman@ca.ibm.com>
- Date: Tue, 11 Jan 2005 13:29:37 -0500
- To: Roberto Chinnici <Roberto.Chinnici@Sun.COM>
- Cc: Asir Vedamuthu <asirv@webmethods.com>, public-ws-desc-comments@w3.org, Vlad Klicnik <klicnik@ca.ibm.com>
- Message-ID: <OFF09FAECD.0461044C-ON85256F86.0063FD3D-85256F86.00659732@ca.ibm.com>
Roberto/Asir, I agree that the <choice> approach is awkward (although it could be fixed to address (a) and (b)), but I'd like to drop that suggestion and offer a much cleaner and simpler one. I am assuming that we really do want to enforce the order of the top level elements. The structure of a WSDL document then really has 3 parts: 1. A "prelude" where we import and include other documents. (This could also be called a prolog, preamble, head, header, etc.) 2. A "types" section where we define XML types, and 3. A "components" section where we define Web service components (This could also be called the body) So why not introduce two new, optional, top level elements, and have the following schema: <description> <prelude>? <types>? <components>? </description> <prelude> (<import> | <include> | extension)+ </prelude> <components> (<interface> | <binding> | <service> | extension)+ </components> This has the following advantages: 1. It enforces the order via the schema 2. It is human-readable 3. It is code generator friendly 4. It is deterministic 5. It is consistent with the current <types> element which collects together the XML type definitions 6. It is similar to HTML which has a <head> and <body> 7. It makes no change to the component model Arthur Ryman, Rational Desktop Tools Development 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 intranet: http://labweb.torolab.ibm.com/DRY6/ Roberto Chinnici <Roberto.Chinnici@Sun.COM> 01/10/2005 04:33 PM To Asir Vedamuthu <asirv@webmethods.com> cc Arthur Ryman/Toronto/IBM@IBMCA, public-ws-desc-comments@w3.org, Vlad Klicnik/Toronto/IBM@IBMCA Subject Re: The WSDL 2.0 XSD for Root Element is Too Loose Asir Vedamuthu wrote: > Arthur, > >> The above grammar is deterministic and enforces the ordering >> constraint expressed in the spec using XSD constructs > > Yes, it is deterministic. Yes, it enforces the ordering constraints. > But, at a cost (at a glance): > > (a) rules out extensibility elements > (b) types element is required if either include or import element is > present > (c) .. so on (d) A XSD->Java tool will generate yucky code when it encounters it. (Most tools will, regardless of the target language. <xsd:choice/> is just too hard to translate.) >> I am in favour of expressing as many as possible constraints in XSD > > I agree with you, whenever feasible. I don't. I'd rather have a human-readable schema than a complete one, especially given we can't make it 100% accurate. Roberto
Received on Tuesday, 11 January 2005 18:30:21 UTC