- From: Bijan Parsia <bparsia@isr.umd.edu>
- Date: Tue, 23 Mar 2004 00:11:20 -0500
- To: Umit Yalcinalp <umit.yalcinalp@oracle.com>
- Cc: David Booth <dbooth@w3.org>, www-ws-desc@w3.org, Sanjiva Weerawarana <sanjiva@watson.ibm.com>
On Mar 22, 2004, at 9:03 PM, Umit Yalcinalp wrote: [snip] > I am not sure that Sanjiva is alone. Here are my concerns. > > If a processor is not required to process all aspects of the WSDL > document, then it is impossible, technically, to find out whether a > document is conformant or not, because "conformant" processors may > choose to ignore certain portions of a document and end up not > reporting errors. Note that by "sheer ignorance" (as it is bliss ;-)), > it is equivalent to consume or ignore a specific portion of a > document. If it is valid/legal, you are conformant by default, if it > is not, well you are allowed to ignore certain portions of it. Nice! Something like this got raised in the last F2F. By me. My understanding is that it's pretty tricky to write what I'll call a WSDL validator. Or what I would like a validator to do. Basically, the validator has to explore all the "paths" through the document (or all the legal querys against the WSDL "database/document") and check each one. Hmm. Maybe it's enough to explore the whole thing once...except, I guess it could be possible for a feature to tweak something from wrong to right someplace else. Ick. > Based on this definition, a document may not be conformant but the > processor will be. So, what is the purpose of defining a conformant > processor? A processor that can handle valid WSDL documents and more > or a processor that will reject invalid WSDL documents? It seems that > a conformant processor is NOT the processor that may be able to reject > a non-conformant document by this change. [snip] It does seem that being a document isn't as central to WSDL as one might like :) OTOH, it's sorta like old HTML...if you don't understand something in a binding that *you rightly don't care about*, ignore it. There is some language in the Web Archtecture document about extensible langauges et al. Maybe that would help :) Ah yes, section 1.2.2: """Language subset: one language is a subset (or, "profile") of a second language if any document in the first language is also a valid document in the second language and has the same interpretation in the second language. Language extension: one language is an extension of a second language if the second is a language subset of the first (thus, the extension is a superset). Clearly, creating an extension language is better for interoperability than creating an incompatible language. Ideally, many instances of a superset language can be safely and usefully processed as though they were in the subset language. Languages that exhibit this property are said to be "extensible." Language designers can facilitate extensibility by defining how implementations must handle unknown extensions -- for example, that they be ignored (in some way) or should be considered errors.""" Hmm. This is still a bit confused and confusing, especially for our purposes. Maybe we can treat the "partial document" processing processor as processing a language subset of the WSDL document (ugh, that sounds tinny). Cheers, Bijan Parsia.
Received on Tuesday, 23 March 2004 02:02:38 UTC