RE: GUIDE: Dumb question re namespaces.

I still have one confusion.

The XML Namespace document (http://www.w3.org/TR/REC-xml-names/) states:

 URI references which identify namespaces are considered identical 
 when they are exactly the same character-for-character. Note that 
 URI references which are not identical in this sense may in fact
 be functionally equivalent. 

In general, when I want a prefix like 'xsd' to refer to datatypes
defined by the XML Schema definition, I include something like

 xmlns:xsd="http://www.w3.org/2001/XMLSchema"

But, the RDF and DAML+OIL documents use

 xmlns:xsd="http://www.w3.org/2001/XMLSchema#"

According to the opening quote these may be functionally identical, but
they certainly are not identical by default.  So, where is this 
equivalence asserted?  Or is it just common knowledge?

- Mike

-----Original Message-----
From: Jonathan Borden [mailto:jonathan@openhealth.org]
Sent: Wednesday, August 14, 2002 12:13 PM
To: Jos De_Roo
Cc: Smith, Michael K; www-webont-wg@w3.org
Subject: Re: GUIDE: Dumb question re namespaces.


Jos De_Roo wrote:
> 
> > Why are all of the RDF and DAML example namespace URIs suffixed with a
> '#'?
> 
> well, not *all* of them...
> it was agendum 8 for RDF Core Teleconference 2002-08-09 (datatypes, # | /)
>   http://lists.w3.org/Archives/Public/w3c-rdfcore-wg/2002Aug/0090.html
> but it wasn't discussed at that telecon
> 

Sigh, there are two answers:

1) from a practical point of view, when RDF converts an XML Qname to a
URI, the namespace URI and local name are merely appended to form a URI
reference. If an alphanumeric character is at the end of a namespace
URI, it will be unclear in the resulting (concatenated) URI which part
was from the namespace URI and which part was from the local-name,
making it impossible to recover the QName from the URI reference.

This is the essential problem with non-RDF QNames such as those that
identify XML Schema types e.g.

<foo:example rdf:about="http://example.org" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <xsd:string>an XML Schema string</xsd:string>
</foo:example>

which parses according to RDF into:

<http://example.org> <http://www.w3.org/2001/XMLSchemastring> "10" .

as opposed to (the intended)

... <http://www.w3.org/2001/XMLSchema#string> "10" .

2) 

TimBL suggests that HTTP URIs ought only identify _documents_ whereas
such URIs _with_ a '#' can identify anything (see www-tag@w3.org for
details). Hence XML Namespaces, being abstract entities rather than
documents, ought have a '#'. This view is, however, controversial.

Jonathan

Received on Wednesday, 14 August 2002 16:04:56 UTC