[xsl] finding position() of an element in a different context

Subject: [xsl] finding position() of an element in a different context
From: Kevin Burges <xmldude@xxxxxxxxxxxxxxxx>
Date: Wed, 25 Apr 2001 15:39:53 +0100
I have a document structured like this:

<top>
    <visits>
          <visit id="visit1Name"/>
          <visit id="visit2Name"/>
    </visits>
    <formtypes>
        <formtype id="formtype1Name"/>
        <formtype id="formtype2Name"/>
    </visits>
    <forms>
        <form visit="visit1Name" formtype="formtype1Name"/>
        <form visit="visit1Name" formtype="formtype2Name"/>
        <form visit="visit2Name" formtype="formtype2Name"/>
    </forms>
</top>


in my XSLT I am inside a

  <xsl:for-each select="//formtypes/formtype">
    <xsl:variable name="formtypeID" select="@id"/>
    
    <xsl:for-each select="//visits/visit">
      <xsl:variable name="visitID" select="@id"/>
      ...
    </xsl:for-each>
  </xsl:for-each>

  
I need to find the position of the matching form (based on the IDs)
within all forms. I can select the matching form be doing:

  <xsl:variable name="matchingForm"
  select="//forms/form[(@formtypeID = $formtypeID) and (@visitID =
  $visitID)]"/>

But how do I find the position of that form within all <form>
elements?

This would be simple to do if I just manually added a @number
attribute, but I don't want to have to do this.


-- 
May the flares be with you,
 Kevin                    mailto:xmldude@xxxxxxxxxxxxxxxx

++++++++++++ Cool music - http://mp3.com/marshan
++++++ Attitude Webzine - http://burieddreams.com/attitude



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


Current Thread