- From: <noah_mendelsohn@us.ibm.com>
- Date: Wed, 30 Apr 2003 17:11:06 -0400
- To: "Joshua Allen" <joshuaa@microsoft.com>
- Cc: "Paul Prescod" <paul@prescod.net>, robin.berjon@expway.fr, www-tag@w3.org, "Henry S. Thompson" <ht@cogsci.ed.ac.uk>, cmsmcq@w3.org
Joshua Allen writes: > True; if they happen to use the same schema *and* the > same schema-validation tools, and they do make sure > that the schema is associated with a namespace name > explicitly (not always the case), then they ought to be > bug-compatible, yes. I'm a little confused: are you suggesting that there are any conforming (or even plausible buggy) implementations of XML schema that would validate the attribute: <e2 p:a="1" xmlns:p="http://example.org/x"/> against a schema with: <xsd:schema targetNamespace="http://EXAMPLE.ORG/x"> ... <xsd:attribute name="a">...</xsd:attribute> .. </xsd:schema> I hope the schema recommendation is quite clear that doing such a validation would be incorrect, though I will defer to Henry Thompson, who tends to know these things best (Henry: you may need to check the TAG archive to get the context on this.) I've certainly never heard it suggested that schema processors had any latitude to do scheme-sensitive "canonicalizations" or the like at any of the processing steps that pertain to this example (I.e. starting with the characters literally present in the targetNamespace attribute, prepare a schema component for the attribute declaration with a value for its {target namespace} property, then use that property to resolve the declaration to be used in validation.) Since the URI in the example input infoset is already in canonical form, I think it's fair to say that nobody would suggest that its input infoset would somehow turn out to have the DNS name in uppercase either. So if neither the mechanisms of schema nor the processing of the input document into an Infoset causes the namespace strings to match, I think it's clear that the attribute doesn't validate. Similarly, a schema declaring targetNamespace="http://EXAMPLE.ORG/x" could import another declaring http://example.org/x and these would in all respects be treated as separate target namespaces by the Schema recommendation. You could use such a combined schema to validate both the attributes in the original example: <e p:a="1" q:a="2" xmlns:p="http://example.org/x" xmlns:q="http://EXAMPLE.ORG/x" /> I'm not for a minute saying it would be good practice for users to do this, but I'm very surprised to hear a suggestion that there is any ambiguity or question of correct behavior for conforming processors. Skirting for the moment Roy's question about whether the mechanisms of Namespaces or Schema are intended to solve a syntactic vs semantic problem (I'm not sure that's a distinction that the XML, Namespaces, or for these purposes Schema recommendations tend to draw), I think we need clear answers to certain questions: which documents are unambiguously well formed? which ones are unambiguously in error? for which do processors have discretion to decide? Is element <e> above conformant with namespaces 1.1 or not? Similarly in the case of validation examples such as the e2 example above: my view is that the clear intention of the schema workgroup was that the attribute not be validated by the example schema. If the recommendation is unclear on that point, I would view it as an erratum. In any case, I would strongly argue for a single answer, and to avoid a situation where conforming processors have the option to validate or not. Thank you. ------------------------------------------------------------------ Noah Mendelsohn Voice: 1-617-693-4036 IBM Corporation Fax: 1-617-693-8676 One Rogers Street Cambridge, MA 02142 ------------------------------------------------------------------ "Joshua Allen" <joshuaa@microsoft.com> Sent by: www-tag-request@w3.org 04/30/2003 04:13 PM To: "Paul Prescod" <paul@prescod.net> cc: <robin.berjon@expway.fr>, <www-tag@w3.org>, (bcc: Noah Mendelsohn/Cambridge/IBM) Subject: RE: Grinding to a halt on Issue 27. > > Two different divisions in the same company may use what they *think* is > > the same namespace for their documents (and when they click on the > > namespace name it sure enough connects them to the right place, so how > > are they to know differently?). > > If they share schemas and schema-validate the schema will tell them > differently. If they don't schema-validate then they are liable to run True; if they happen to use the same schema *and* the same schema-validation tools, and they do make sure that the schema is associated with a namespace name explicitly (not always the case), then they ought to be bug-compatible, yes.
Received on Wednesday, 30 April 2003 17:21:00 UTC