[xsl] Using name() with XPath expressions (fwd)

Subject: [xsl] Using name() with XPath expressions (fwd)
From: Jenny Simpson <simpson@xxxxxxxxxxx>
Date: Fri, 13 Jul 2001 22:31:11 -0600
Dear all,
      I am using the following piece of code (thanks to Michael Kay) to
convert a string value to the name of a text node.  Then I extract the
text contained in that node and use it in a comparison statement.  

<xsl:for-each select="bibliography/bibitem">

  <xsl:if test="$search = *[name() = $field]">
    <xsl:call-template name="printBib" />


Typically, $field contains something like 'year', in which case the
comparison works fine.  Here's the xml:

<bibitem type="book" label="har91">
        <title>Computer and Robot Vision</title>

The problem is that if the variable $field contains the path of a text
node instead of the name itself, the name function doesn't work.  For
example, if $field contains 'author/lastname',  the name function assumes
that 'author/lastname' is the string value of the name of a node instead
of the path to a node.  How do I alter this comparison so that it works
with $field values that are paths as well as field values that are
names?  Thanks in advance.

Jenny Simpson
Sci Institute

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list

Current Thread