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

Subject: RE: Matching all elements in a namespace
From: "Michael Kay" <mhk@xxxxxxxxx>
Date: Sat, 7 Feb 2004 21:42:11 -0000
> 
> So, the obvious thing felt like something like...: 
> <xsl:template match="namespace-uri() = 
> 'http://www.w3.org/TR/xhtml1/strict'">
> 	      <xsl:copy-of select="."/>
> </xsl:template>
> 
> ...and I've tried numerous variations over this theme over the past 
> couple of weeks, but it doesn't "work". 

When the obvious thing doesn't work, the time has come to read the spec.

You can match all elements in a namespace by writing

<xsl:template
match="*[namespace-uri()='http://www.w3.org/TR/xhtml1/strict']"

or by

<xsl:template match="xhtml:*"
xmlns:xhtml="http://www.w3.org/TR/xhtml1/strict">

Note that this doesn't require the elements in the source document to
use the same prefix.

Whether <xsl:copy-of> is really what you want to do inside the template
rather depends on details of the requirement, which you haven't
explained very fully.

Michael Kay


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


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