Re: [xsl] [xslt] not working transformation when function called

Subject: Re: [xsl] [xslt] not working transformation when function called
From: "Christopher R. Maden" <crism@xxxxxxxxx>
Date: Thu, 19 Mar 2009 17:26:26 -0400
Michalmas wrote:
> But why this trigger:
> 
> <xsl:template match="move/from">
>   <datatype><xsl:value-of select="local:getNodeType(/,
> ./dataname)"/></datatype> <!--DATATYPE -->
> </xsl:template>
> 
> doesn't work?

You should probably review some basic texts, just as Jeni Tennisonbs,
Michael Kaybs, or Ken Holmanbs; there seems to be some confusion about
the basic XSLT processing model.

To elaborate on what David Carlisle said:

You have a template that matches /, the document node.  It says to apply
templates (to its children).

The first child encountered is move.  There is no template that
explicitly matches move; instead, the template matching * is used.  That
template says to copy the element.  Thus, the entire move element is copied.

And... thatbs it.  There are no more children of /, so nothing else is done.

You probably want, as I suggested, to nuke the * template and allow the
default template to apply, or else use the identity transformation
(which is available in a thousand places with a quick Web search) as
your starting point.

~Chris
-- 
Chris Maden, text nerd  <URL: http://crism.maden.org/ >
bAll I ask of living is to have no chains on me,
 And all I ask of dying is to go naturally.b b Laura Nyro
GnuPG Fingerprint: C6E4 E2A9 C9F8 71AC 9724 CAA3 19F8 6677 0077 C319

Current Thread