[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
Re: [xml-dev] My proposal: Implicit namespaces
- From: Michael Ludwig <milu71@gmx.de>
- To: 'XML Developers List' <xml-dev@lists.xml.org>
- Date: Thu, 6 Aug 2009 22:39:38 +0200
Liam Quin schrieb am 06.08.2009 um 11:11:09 (-0400):
> On Thu, Aug 06, 2009 at 03:16:58PM +0100, Dave Pawson wrote:
> > On 08/06/2009 10:21 AM, Michael Kay wrote:
> [...]
> >> Another way to achieve this goal is to allow the designer of an XML
> >> vocabulary (=a set of namespaces) to define
> >>
> > >(a) a list of predeclared namespace prefixes for that vocabulary
> >> (b) a list of local names that are known to be in each of those
> >> namespaces
"Predeclared" and "known". The parsing context (or whatever you would
call that) can be statically established. No prefix scoping to deal
with.
> >> When invoking an XML parser, the user should be able to reference
> >> this "vocabulary definition",
> [...]
>
> >> An "nnML parser" is then an XML parser with built-in knowledge of
> >> the nnML vocabulary definition.
>
> This is very close to the proposal I've made...
I might be wrong, but I'm not sure it is. Reasons below.
> > So for docbook you'd have an author include all 300+ namespaced
> > elements ?
>
> You only need to list those elements that can occur embedded in
> another vocabulary, plus the top-level element. For example, a list
> item might not make sense without a containing list.
But then again, it might:
<xsl:template match="Liste">
<list><xsl:apply-templates select="Artikel"/></list>
</xsl:apply-templates>
<xsl:template match="Artikel">
<item><xsl:apply-templates/></item>
</xsl:apply-templates>
This particular example doesn't matter much, but with XSLT used to
generate XML, it is questionable to preclude any element from appearing
embedded in another vocabulary.
> So, a docbook list would automatically introduce the docbook namespace
> for all the elements it contained (until you got down to ones that
> implied some other namespace, such as "svg" perhaps).
Voilą the concept of scope reintroduced, isn't it? It's just that
now the current namespace is not signalled by a prefix attached to
a declaration, but by the last namespace-scope-setting element.
In streaming mode, you wouldn't know what namespace you're in unless you
swim back up the river to find a namespace-scope-setting ancestor.
--
Michael Ludwig
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]