[
Lists Home |
Date Index |
Thread Index
]
> it doesn't address this thread's quandry, which is what to do about
> names in content.
--------------
Going back to Richard Tobin's remark:
.... If QNames were only used for element and attribute names, they
could be (as indeed they are) resolved at parse-time and there would be
no need to keep the prefix -> namespace-name map around afterwards.
But many systems build on top of XML+namespaces - notably XPath - want
to interpret QNames in element content and attribute values, so the
map has to be available in some form or other. (There is of course
no need to use the Infoset's description of [in-scope namespaces] as
an implementation specification!)
To get around this, you would have to either
- not use QNames in content, but use some more direct form such as
{http://example.org}foo, or
-----------------------
A PUNT process would replace all recognized namespace prefixes appearing in
content with a prefix akin to the universal name that Richard notes, above.
If the prefix declarations are lost, they can be regenerated *assuming one
can identify the universal name component in content.*
Which is, of course, the crux of the matter. But at least with PUNTed XML,
because of the idiosyncracies of the pseudo-universal name prefix's lexical
representation, the chance for the devil to gum up the works is much smaller
than with ordinary prefixes. In other words, the chances of PUNT-like
content mimicking actual PUNT prefixes is pretty unlikely, given an unusual
enough format for the pseudo-prefix. Especially compared to similar chances
occuring with user-defined namespace prefixes.
> -----Original Message-----
> From: james anderson [mailto:james.anderson@setf.de]
> Sent: Monday, April 15, 2002 12:43 PM
> To: Jeff Lowery
> Subject: Re: [xml-dev] [a proposal] about NS 1.1
>
>
>
>
> Jeff Lowery wrote:
> >
> > I've been noodling around with an idea I call PUNT (Pseudo-Universal
> > Namespace Transform). PUNT would be (I think) an XSLT
> stylesheet that would
> > take existing QNames and change them to a form similar to
> universal names.
> > The universal name-like prefixes would then be added
> through namespace
> > prefix declarations on the root.
> >
> > An XML processor further down the chain could either:
> >
> > (a) transform the universal name-like prefixes back to the
> user defined
> > prefixes
> > (b) use the universal name-like prefixes as regular
> namespace prefixes
> > (which they are)
> > (c) avoid prefix resolution altogether and parse the
> namespace prefixes as
> > univeral names
>
> sure. this works if the transform generates prefixes which
> correspond to
> the namepace names at the same time as they being legal ncnames.
>
> it doesn't address this thread's quandry, which is what to do about
> names in content.
>
> >
> > For (c), prefix declarations could be effectively discarded
> for processors
> > that are PUNT-aware.
> >
|