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

Subject: RE: [xsl] Function to accept node and name of subnode in parameter string
From: "Houghton,Andrew" <houghtoa@xxxxxxxx>
Date: Wed, 20 Aug 2008 15:50:03 -0400
> From: G. Ken Holman [mailto:gkholman@xxxxxxxxxxxxxxxxxxxx]
> Sent: Wednesday, August 20, 2008 3:40 PM
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> 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.

Current Thread