Hi,

This is a pure XSLT/Xpath related question...
Nothing to do with FOP. For such questions, you should ask on the right list.

That said, IMHO you should select a nodeset using actual index position (count(preceding::*) does the trick) To find the last node that is a boudary should be done with following expression:
preceding::ver...@part != 'beginning'][1]

Note that if you put your nodeset in a xsl:variable, you can have some troubles. Xalan (see [1]) or MSXML (see [2]) provide extended function for that purpose.

[1] http://xml.apache.org/xalan-j/extensionslib.html#nodeset
[2] http://msdn.microsoft.com/en-us/library/hz88kef0%28VS.71%29.aspx

HTH,
Pascal


Faehndrich Philippe a écrit :
Hello,

In a piece of theater, I have some verses that are split between different
roles.

All verses without a part attribute are complete verses.
<role name='...'>
  <verse>...</verse>
  <verse>...</verse>
  ...
</role>

The other are tagged on the following model:
<role name='...'>
   ...
  <verse>...</verse>
  <verse part="beginning">...</verse>
</role>
<role name='...'>
  <verse part="continuation">...</verse>
</role>
<role name='...'>
  <verse part="continuation">...</verse>
</role>
<role name='...'>
  <verse part="end">...</verse>
  <verse>...</verse>
  ...
</role>

I need to know if a continuation is the only one between beginning and end,
the first or the second of two, the first, second or third of three, and so
on.

<xsl:value-of select="count(preceding::ver...@part != 'beginning']) "/> gives
me the count of all preceding verses with part attribute other
than "beginning" from the beginning of the piece, what is not what I want.
I wish to have the count of preceding parts of verse from the last beginning
part.

Could someone help me?

Thanks in advance,
Ph. Faehndrich


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to