Re: [xsl] Simple template matching problem

Subject: Re: [xsl] Simple template matching problem
From: Abel Braaksma <abel.online@xxxxxxxxx>
Date: Mon, 07 May 2007 18:48:23 +0200
Steve wrote:
I want a template to match the root node of either default.xml or record.xml

Right now it only succesfully matches record.xml

default.xml

<root>
  <stuff />
</root>

record.xml

<Records>
  <Record />
</Records>

Current xsl:

<xsl:template match="root | Records">
 hey, hey. We are, in fact, the monkeys.
</xsl:template>

I suppose you are missing something like:


<xsl:apply-templates select="document('record.xml')/*" />

the match itself in your code is correct for either. Can you send something more of your code? In addition, look through your stylesheet for something like match="/Records" or something like match="Records[@id]" which both may have a higher precedence which can be a reason for not matching 'Records' in the first place.

Another way to try your code is (carefully) replacing your apply-templates with copy-of to see if you really select something in apply-templates, or that you have some error in the namespace prefix, the absence of one, or anything else that can be a cause of non-selection (missing CamelCase?).

Cheers,
-- Abel

Current Thread