Re: Validation issue with the xsi namespace

Hi,

So far I understand that the xsd and xsi namespaces should be defined as
follows:
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

However I can find some places on w3.org where the # version is defined,
like on the SPARQL language specification for a start:
http://www.w3.org/TR/rdf-sparql-query/
http://www.w3.org/2005/Incubator/mmsem/XGR-vocabularies/
http://www.w3.org/2005/Incubator/mmsem/XGR-image-annotation/
http://www.w3.org/2005/Incubator/mmsem/XGR-interoperability/

and also on the SIOC spec:
http://rdfs.org/sioc/spec/

How about the following elements using expanded URIs, are they wrong?
<size rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">10</size>
"System Infrastructure"^^<http://www.w3.org/2001/XMLSchema#string>

To put the question differently, is there any situation where it makes
sense to define
 xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
with a #? Or are these 'mistakes' due to semweb bad habits?

On a side note, the SPARQL spec [1] defines the prefix fn
fn: http://www.w3.org/2005/xpath-functions#
though according to XPath function namespace [2]
the namespace is without # but / instead.
Furthermore it seems both / and # have to be used, so that fn:max
expands to
http://www.w3.org/2005/xpath-functions/#max

This is rather confusing. Is the semweb broken? =)

regards,
Stéphane.

[1] http://www.w3.org/TR/rdf-sparql-query/
[2] http://www.w3.org/2005/xpath-functions/

Toby Inkster wrote:
>> If the W3C validator returns an error when the xsi XML namespace is not
>> well defined, then I would expect the same for the xsd XML namespace.
>> However both
>> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>> xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
>> validate in XHTML+RDFa.
>>     
>
> The W3C validator doesn't really understand namespaces - in general it
> simply ignores them - as is happening with "xmlns:xsd" in your example.
>
> However, in some DTDs, certain namespaces are hardcoded to certain
> prefixes. This is supposed to be helpful, but in real life is at best
> confusing and at worst a pain in the arse.
>
> "xmlns:xsi" is one such namespace. It's hard-coded in
> http://www.w3.org/MarkUp/DTD/xhtml-qname-1.mod, so any DTDs which
> reference that module (which is most XHTML DTDs) end up with this strange
> requirement - that if you decide to define "xmlns:xsi" in your document,
> then you must define it as "http://www.w3.org/2001/XMLSchema-instance".
>
>   

Received on Tuesday, 27 January 2009 17:17:36 UTC