A radical finding on Using Qualified Names (QNames) as Identifiers in Content

Rick's message highlights a number of issues that may stem from
erroneous preconceived notions about how qnames should work in XML

My mental model was that a general purpose processor that constructs a
data model for a document should have all of the prefix/URI bindings
necessary to interpret every qname in the document in the in-scope
namespace declarations associated with the infoset for the document.

That's the way XSLT works, for example. It uses real xmlns prefixes to
interpret qnames in template names, xpath expressions, etc.

Having considered Rick's message, I can see the following radical alternative.
(I'm not sure I support it, I'm just floating it for comment.)

1. Stipulate that xmlns declarations are *only* for bindings needed by
   the parser. In other words, for qualified element and attribute names.

   This gives the XML parser complete freedom to discard any namespace
   binding that it does not need.

2. Since all qnames in attribute values and element content exist only
   for some application to process (the parser can't see them),
   stipulate that the application must provide some other mechanism
   for associating prefixes and namespace names.

   This puts those extra bindings into the content of the XML document
   (or entirely out of band) in ways that no processor would consider

                                        Be seeing you,

Norman.Walsh@Sun.COM    | A life, admirable at first sight, may have
XML Standards Architect | cost so much in imposed liabilities, chores
Sun Microsystems, Inc.  | and self-abasement, that, brilliant though it
                        | appears, it cannot be considered other than a
                        | failure. Another, which seems to have
                        | misfired, is in reality a triumphant success,
                        | because it has cost so little.--Henry De
                        | Montherlant

Received on Friday, 28 June 2002 11:56:49 UTC