Naming ModSAX features: good use for the 'java:' URI scheme?

Dan Brickley Daniel.Brickley at
Mon Mar 8 22:58:18 GMT 1999

On Mon, 8 Mar 1999, Tom Harding wrote:

> David Megginson wrote:
> > As I wrote before, it doesn't much matter whether we use Java property
> > names incorporating domain names (like
> > 'org.xml.sax.features.validation') or URIs (like
> > ''), as long as we have the
> > ability for people to create new names without fear of collision.
> I would also urge against using an http: URI since it is not meant that a resource actually be
> retrieved using the http protocol.

I think I've found a compromise of sorts that'll let us use the Java
naming scheme (for those uncomfortable with naming conceptual entities
in the http namespace), whilst still using URIs.


	Addressing Schemes 
	This is (an attempt at) an exhaustive list of URI schemes. I try to list
	them all, whether they're standard or not. 

Under 'J' we find a useful looking entry...

	java:  identifies java classes (@@spec?) 

There's also a reference to a JavaRMI: URI schema invented by Bill
Jansen, which would be interesting to track down. But anyway...

So... here's the proposal:

	Naming ModSAX Features

	ModSAX is intended to be easily extensible, and is designed to
	anticipate future independently developed extensions ('features').
	For ModSAX-aware software to cope with the decentralised evolution of
	new features, it is important to have a controlled mechanism for naming
	these features unambiguously. For this we adopt the Uniform Resource
	Identifier (URI) system defined in RFC 2396[URI]. Each (version of a) ModSAX
	feature should be assigned a unique URI. It should not be assumed that 
	these identifiers can always be  dereferenced to acquire further
	information about the feature they name. 
	For example, the 'http:' scheme and 'java:' schemes can be used.
	'' and 'java:org.desire.sax.MyFeature'
	are both legitimate names for SAX features. 'phone:+44-117-9287493'
	would not be an appropriate name, since the 'phone:' URI namespace can
	only be used for telephone numbers. 

This way, people who manage http: URI names and want to use them to name
SAX features are free to do so. Others can piggyback on the DNS via the
java: scheme instead. But both through the same overarching approach.

So... It would be nice to have a reference to some spec defining the 'java:'
URI scheme mentioned at
Maybe somebody from Sun has a pointer to this...?

BTW as a side effect of having a URI scheme for Java classes and
intefaces, we can exchange (aggregate, search, reason over) RDF
metadata about those resources. This would be handy in Sun's JINI
amongst other places.... Here's a quick and dull example of metadata
keyed off a java: URI...

	<rdf:Description rdf:about="java:org.desire.rudolf.jtree.NavApplet">
	<dc:Creator>Dan Brickley and Larry Franklin</dc:Creator>
	<dc:Description>This applet is an attempt at a metadata browsing tree control</dc:Description>
	<rdfs:seeAlso rdf:resource="../moremetadata.rdf"/>

But I'm sidetracking again. I'm really just saying one thing: the
existence of a URI schema for Java classes (and packages) means we don't
need to choose between Java and URI naming formalisms. We can have the
best of both worlds...


[URI] Uniform Resource Identifiers (URI): Generic Syntax; Berners-Lee,  
Fielding, Masinter, Internet Draft Standard August, 1998; RFC2396. 

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at
Archived as: and on CD-ROM/ISBN 981-02-3594-1
To (un)subscribe, mailto:majordomo at the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at

More information about the Xml-dev mailing list