Re: [xsl] getting the last value of a nodeset

Subject: Re: [xsl] getting the last value of a nodeset
From: James Fuller <jim.fuller@xxxxxxxxxxxxxx>
Date: Sun, 06 Feb 2005 14:05:25 +0100
Prasad Akella wrote:


I am sorry i do not want to evaluate the xpath expression. i would like to have the last segment of the xpath statement as i would be using that same string to name a control in my xhtml page. thus a control in an xhtml page and the node in an xml document would be matched and i can put the value thus entered from the user browser into the respective tag. thus i have to get the last string which represents a node in an xml document and name an xhtml control with the same. i hope i am clear

with regards,

aha, sorry didnt mean to change your question....sometimes folks get confused

this is easier.....u need a tail like function


<?xml version="1.0" encoding="UTF-8"?>
<test xmlns:xforms=''>

<xforms:bind nodeset="/Exam/ExamMetaData/Title"/>



<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version = '1.0'

<xsl:output method="xml" indent="yes" />

<xsl:variable name="variable" select="/test/xforms:bind/@nodeset"/>

<xsl:template match="/">

nodeset: <xsl:value-of select="$variable"/>

 last segment name: <xsl:call-template name="tail">
   <xsl:with-param name="string" select="$variable"/>


<xsl:template name="tail">
<xsl:param name="string" select="."/>
<xsl:when test="substring-after($string,'/')">
<xsl:call-template name="tail">
<xsl:with-param name="string" select="substring-after($string,'/')"/>
<xsl:value-of select="$string"/>


should result in printout of nodeset value and last segment value

if you want to reuse then just wrap call template in a variable;

<xsl:variable name="desiredresult">

<xsl:call-template name="tail">
   <xsl:with-param name="string" select="$variable"/>


though be careful with whitespace....

gl, Jim Fuller

Current Thread