Re: [xsl] sequential navigation problem (long)

Subject: Re: [xsl] sequential navigation problem (long)
From: David Carlisle <davidc@xxxxxxxxx>
Date: Thu, 5 Dec 2002 12:18:30 GMT
 <xsl:param name="known.gis">
  PART | CHAP | SECT | ART | SYMBOLS | APPENDIX | SART
  </xsl:param>


That's made $known.gis into a result tree fragment corresponding to
of a root node containing a text node with value teh string 

"
  PART | CHAP | SECT | ART | SYMBOLS | APPENDIX | SART
  "

It _is not_ an Xpath expression.

  <xsl:when test="child::($known.gis)[@ID][1]">
You can't ever have a ( after :: so that's a syntax error, but even if
$known.gis was simply  PART and you went
child::$known.gis
then that would be equivalent to using
child::'PART'
which is also a syntax error: you can't have a string after :: either.

You can not, using standard XSLT use fragments of XPath expressions as
values. Any more than in C you can use the string "x +1" and somehow use
it to increment the variable x.  Of course in either language you _can_
use such a string to have the specified effect but you can'tjust use the
string where an expression is expected, you have to write a parser
for the language contained in the string.

In your case, writing a parser in XSLT isn't much fun (although people
have done that) but do you really need the element list to be passed in
as a parameter. having that as a requirment vastly complicates the
problem.

David


_____________________________________________________________________
This message has been checked for all known viruses by Star Internet
delivered through the MessageLabs Virus Scanning Service. For further
information visit http://www.star.net.uk/stats.asp or alternatively call
Star Internet for details on the Virus Scanning Service.

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


Current Thread