You are viewing a plain text version of this content. The canonical link for it is here.
Posted to j-dev@xerces.apache.org by Lucian Holland <le...@decisionsoft.com> on 2004/09/22 17:16:56 UTC

Validation/processing of xsi:schemaLocation

Hi,

Having perused the relevant sections of the schema spec I'm not really 
sure how precisely this is specified, but I'm wondering if Xerces is 
handling xsi:schemaLocation quite as it should.

The most obvious thing is that Xerces doesn't actually validate the 
values of the xsi:schemaLocation attribute according to its data type. 
On closer examination, however, Structures section 3.4.4 clause 3 seems 
to imply that xsi attributes never get validated, which seems a bit odd 
to say the least. I don't know whether I've got this wrong, since it 
would strike me as sensible for these to be validated...

On the other hand, the schema spec *does* seem to imply that when an 
xsi:schemaLocation attributes is used, the "actual value" is what 
provides the hint; i.e. invalid characters and the like should be 
escaped according to the rules for the anyURI type. Xerces doesn't 
appear to do this - it just takes the value of the attribute as it 
appears in the document.

I noticed this whilst using an entity resolver: when xerces is looking 
for a schema, the entity resolver gets called with the hint for the 
relevant namespace as the supplied systemId. This hint is the 
unprocessed string resulting from tokenizing the attribute, not the 
"actual value". If the hint is not a valid URI as it appears in the 
document, but does satisfy anyURI and consequently has an actual value 
that *is* a valid URI, I would have thought that Xerces should use this 
instead...

I haven't reported this as a bug because I'm very unsure about all of 
this. It does seem strange, however, particularly as it is at odds with 
the behaviour of schemaLocation attributes on imports etc...

Lucian

---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-j-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-j-dev-help@xml.apache.org