OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Why doesn't this solve this namepaces problem?

Rick Jelliffe wrote:
> Where I am moderating my position is in the case where the data provider
> only has a single resource available. Perhaps you only have an HTML
> document, or a Schematron Schema, or an RDF Schema or an XML Schema, or
> RELAX.  In that case, the related-resource document is a null layer  (and
> therefore undesirable for the WWW) : it just redirects to a
> single resource.
> So in that case, I think simplicity and efficiency both dictate that the
> null layer be omitted, and the ultimate single resource be directly
> retrieved from the namespace name.
> So namespace!=schema. Instead, the namespace resource is always a
> directory
> of related resources, but if dereferencing a namespace URIref returns a
> document that is not a directory of related resources then the
> directory of
> related resources can (i.e. must) be *implied*, with no violence to the
> conceptual model.

	I've coded the start of an implementation that does exactly this. (see
http://www.rddl.org/org/rddl/ )

	This is roughly how it works.

	A url is resolved. An attempt to parse it as XML is made. The root element
is examined, its namespace URI is stored and if its namespace isn't XHTML an
exception is thrown.

	(so either non-XML or non-XHTML documents are identified as non-RDDL).

	If XHTML, parsing continues and the rddl:resource elements are used to form
a set of maps but in particular the xlink:arcrole's are mapped to the

	For non-RDDL documents a Resource is created and mapped using:

			xlink:arcrole='root element namespace URI'
			xlink:href='namespace URI'

	and the software proceeds ... the overhead of doing this is minimal with no
extra network roundtrips and just a few client side cycles for non-RDDL

	For example, a client that wants an XSD:

	RDDLURL rurl = new RDDLURL(
	InputStream is = rurl.getInputStream();

	This would be the same for 'direct' or RDDL URIs.