xsl-list
[Top] [All Lists]

RE: [xsl] Function to accept node and name of subnode in parameter string

2008-08-20 14:50:40
From: G. Ken Holman [mailto:gkholman(_at_)CraneSoftwrights(_dot_)com]
Sent: Wednesday, August 20, 2008 3:40 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] Function to accept node and name of subnode in
parameter string

At 2008-08-20 14:29 -0500, Bordeman, Chris wrote:
Hi all.  I need to create a 2.0 function that will accept an
element()?
and a xs:string.  The string will contain the name of a subnode of the
first parameter.

But it always seems to return just the second string I pass in, not
the
value of the subnode.

... but the above assumes that your $childname contains the same
prefix-qualified name as your input tree.  If you only want to check
on the name portion without the prefix, then you will need
local-name(.) instead of name(.).

If you need a complete namespace-safe solution then pass in a third
argument:

   <xsl:param name="childns" as="xs:string"/>

... and the following test will work indpendent of any prefix chosen
by the author of the document:

   <xsl:when test="$node and $node/*[local-name(.)=$childname and
                                     namespace-uri(.)=$childns] != ''">
     <xsl:value-of select="$node/*[local-name(.)=$childname and

Or he could just change the last parameter to be a QName which packages the 
name and namespace URI together...


Andy.


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--