-----Original Message-----
From: Jeffrey Moss [mailto:jeff(_at_)opendbms(_dot_)com]
<snip />
Well now you bring up some great points, what if I name my <box> element
<mynamespace:box> ???
Does that make things easier?
Hmm.. this is indeed definitely going to make it a lot easier. Personally, I
find it a lot more aesthetically pleasing ;)
The solution I came up with is to use parameters wherever
possible, since I
wont need the empty template solution for that (although the option is
available if I ever want to use text nodes...).
but using the match *[namesapce-uri()='http://www.w3.org/1999/xhtml'] it
looks like I could only apply the copy template to elements not in the
"mynamespace:" namespace... is that right?
Yes. Say the uri for mynamespace:* is defined as
xmlns:mynamespace="my:namespace"
Then you can do:
<xsl:template match="*[not(namespace-uri()='my:namespace']" />
The downside is that, if you *do* need to access the nodes for their
content, you'll have to use either the fully qualified (prefixed)
'mynamespace:name/...', or do it like '*[local-name()="name"]/...', but this
could be worked around/eased up a bit if you define a variable or a key for
those elements. As an example:
<xsl:key name="myns-nodes" match="*[namespace-uri()='my:namespace']"
use="local-name()" />
to acces a certain 'name' node in mynamespace: you can use
key('myns-nodes','name')[{predicate-here}]
Numerous possibilities..
Hope this helps!
Cheers,
Andreas