| Subject: RE: [xsl] Problem transforming Excel XML Workbook (or how to  implement one-more-counter-yet in XSLT) From: drkm <darkman_spam@xxxxxxxx> Date: Sun, 6 Nov 2005 14:44:56 +0100 (CET) | 
Michael Kay wrote:
> <xsl:function name="excel:get-cell" as="element(Cell)?">
>   <xsl:param name="row" as="element(Row)"/>
>   <xsl:param name="cellNr" as="xs:integer"/>
>   <xsl:sequence select="excel:get-sibling-cell(Cell[1],
> (Cell[1]/@ss:Index,
> 1)[1], cellNr)"/> 
> </xsl:function>
> <xsl:function name="excel:get-sibling-cell" as="element(Cell)?">
>   <xsl:param name="current-cell" as="element(Cell)?"/>
>   <xsl:param name="current-index" as="xs:integer"/>
>   <xsl:param name="required-index" as="xs:integer"/>
>   <xsl:sequence select="
>      if (exists($current-cell)) then
>         if ($current-index eq $required-index) then
>            $current-cell
>         else
>           
excel:get-sibling-cell($current-cell/following-sibling::Cell,
>                     ($current-cell/following-sibling::Cell/@ss:index,
> $current-index + 1),
  $current-index + 1)[1],
isn't it?
>                      $required-index)
>     else ()"/>
> </xsl:function>
  And IMHO, you can change the test:
    if (exists($current-cell)) then
with something like:
    if (exists($current-cell) and
          $current-index ge $required-index) then
for stopping the recursion when the element with the
required index is not explicitely present in the document.
--drkm
	
	
		
___________________________________________________________________________ 
Appel audio GRATUIT partout dans le monde avec le nouveau Yahoo! Messenger 
Tilichargez cette version sur http://fr.messenger.yahoo.com
| Current Thread | 
|---|
| 
 | 
| <- Previous | Index | Next -> | 
|---|---|---|
| RE: [xsl] Problem transforming Exce, Nathan Young -X \(na | Thread | AW: [xsl] Using document() for mult, Huditsch Roman | 
| Fwd: [xsl] Concordance with XSLT, Dimitre Novatchev | Date | RE: [xsl] Rename element, Shailesh Shinde | 
| Month |