[Home] [By Thread] [By Date] [Recent Entries]

  • From: Michael Ludwig <milu71@g...>
  • To: 'XML Developers List' <xml-dev@l...>
  • 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]


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member