[Q] How should SAX support Namespaces?

John Cowan cowan at locke.ccil.org
Fri Jul 24 23:29:26 BST 1998


Peter Murray-Rust wrote:

> [I]f we can find a SEPARATOR which is
> guaranteed not to occur in a URN  it just makes it a bit easier (this is
> DavidM's #2 but with something other than COLON). [It never sees the light
> of day, anyway].

Dagger!  \U2020!  Dagger!

> <?jumbo:namespace ns="http://xml-cml.org" prefix="CML"
> java="jumbo.cml.%sNode">
> where localPart (with initial capitalises letter) replaces %s. Thus
> CML:Molecule is mapped to jumbo.cml.MoleculeNode. When a common mechanism
> is agreed this PI can be disabled.

The trouble here IMHO is that this mapping is app-specific, not really
document-specific.  You will want to load various Java classes 
depending on what you want to *do* to a particular element:
edit it, render it, translate its content into HTML, ...
 
>         The problem I face is with other specs (especially XPointer). These will
> have to be revised to fit namespaces, since I think relying on a prefix in
> a given document may be very dangerous. Thus I'd like to be able to search
> for <CML:Molecule> in a document using XPointer but cannot rely on the
> 'CML'. [I know that some people say XPointer shouldn't be used for such
> 'searches' but my will is weak.]

I think you are over-generalizing.  The point of namespace PIs is
to let you realize that my FOO:BAR is your BAZ:BAR, because my FOO prefix
has the same namespace URI as your BAZ prefix.  So your document can
refer to some element of mine as BAZ:BAR, and a proper XLL engine
will actually return FOO:BAR.  There is no need, IMHO, to handle
the case that you insist on finding literally "BAZ:BAR" as an
element name.

> I wonder whether namespace-aware DTD software has to add defaults on the
> basis of Universal names and not element types. Thus:
> 
> <?xml:namespace ns="http://xml-cml.org" prefix="CML"?>
> <?xml:namespace ns="http://xml-cml.org" prefix="ChemML"?>
> <!DOCTYPE CML [
> <!ATTLIST CML:Molecule title CDATA #FIXED "A molecule">
> ]>
> <CML>
>   <ChemML:Molecule>...</ChemML>
> </CML>
> 
> What attributes does the <ChemML:Molecule> element have??

None!  DTD processing is SGML-compatible and namespace-blind.
To DTD-based software, CML:Molecule and ChemML:Molecule are
as different as A and \U0391 (GREEK CAPITAL LETTER ALPHA).
 
-- 
John Cowan	http://www.ccil.org/~cowan		cowan at ccil.org
	You tollerday donsk?  N.  You tolkatiff scowegian?  Nn.
	You spigotty anglease?  Nnn.  You phonio saxo?  Nnnn.
		Clear all so!  'Tis a Jute.... (Finnegans Wake 16.5)



xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)




More information about the Xml-dev mailing list