Subject: Re: How to match on namespace prefix
From: James Clark <jjc@xxxxxxxxxx>
Date: Tue, 12 Jan 1999 15:21:49 +0700
|
Chris Lilley wrote:
>
> Francois Belanger wrote:
> >
> > James Clark wrote on 04/01/99 19h16:
>
> > >Issue (pattern-namespace-wildcards): Should patterns of the form foo:*
> > >or *:foo be allowed?
> >
> > Yes, it's really needed, so is @*:foo or @foo:* for attributes, the
> > syntax is simple and intuitive.
>
> No, it should not be allowed.
...
> The key point here is that equality is beased on the declared namespace
> *name*, not the namespace *prefix* which happend to be used in a
> particular instance.
That is exactly how foo:* would work.
A template
<xml:template match="foo:*" xmlns:foo="http://www.foo.com/">...</>
would match any name whose namespace was http://www.foo.com/
irrespective of the prefix.
This parallels what XSL already does with prefixed names. A template
<xml:template match="foo:bar" xmlns:foo="http://www.foo.com/">...</>
matches an element
<f:bar xmlns:f="http://www.foo.com/"/>
or
<bar xmlns="http://www.foo.com/"/>
Since XSL is in XML syntax, we don't have to invent a new mechanism for
specifying expanded names; we can use the standard XML one.
James
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|