[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

variable incrementing problems

Subject: variable incrementing problems
From: Eugeny Kuzakov <kev@xxxxxxxxx>
Date: Mon, 28 Jun 1999 17:56:53 +0700 (OSS)
rowspan problems
hi*

I am need correctly calculate rowspan attribute in result html-document.
I am have problems with it.

Question:
	In debug2 comment value of FolderRowspan variable correctly
	incrementes into need value.
	But after exit from <xsl:if> tag it keep previous value.
	What can I do?
Thanks.

--
	Best wishes, Eugeny Kuzakov
		Laboratory 321 ( Omsk, Russia )
		kev@xxxxxxxxx
		ICQ#: 5885106


<?xml version="1.0"?>

<document>
    <folder name="name1">
	<highligth>Some!</highligth>
	<highligth>Some2!</highligth>
	<desc>comment...</desc>
    </folder>
    <folder name="name2">
	<desc>comment...</desc>
	<subfolder name="name1">
	    <desc>Something in subfolder name1</desc>
	    <highligth>Some2!</highligth>
	</subfolder>
	<subfolder name="name2">
	    <desc>Something in subfolder name2</desc>
	</subfolder>
	<highligth>Some!</highligth>
    </folder>
    <folder name="name3">
	<desc>comment...</desc>
	<subfolder name="name1">
	    <desc>Something in subfolder name1</desc>
	</subfolder>
	<subfolder name="name2">
	    <desc>Something in subfolder name2</desc>
	</subfolder>
	<subfolder name="name3">
	    <desc>Something in subfolder name3</desc>
	    <highligth>Some2!</highligth>
	</subfolder>
	<highligth>Anything!</highligth>
    </folder>
    <folder name="name4">
	<desc>comment...</desc>
    </folder>
</document>
<?xml version="1.0"?>
<xsl:stylesheet
    xmlns:xsl="http://www.w3.org/XSL/Transform/1.0"
                  xmlns="http://www.w3.org/TR/REC-html40"
                  default-space="strip"
                  indent-result="yes"
    result-ns="">

<xsl:template match="document">
    <html>
	<head>
	    <title>Title</title>
	</head>
	<body bgcolor="white">
	    <xsl:apply-templates select="folder"/>
	</body>
    </html>
</xsl:template>


<xsl:template match="folder">
    <xsl:variable name="FolderRowspan"><xsl:value-of select="count(subfolder)*2+1"/></xsl:variable>
    <xsl:comment>debug1: Before if:<xsl:value-of select="$FolderRowspan"/></xsl:comment>
    <xsl:if test="count(highligth)+count(subfolder/highligth) &gt; 0">
	<xsl:variable name="FolderRowspan"><xsl:value-of select="$FolderRowspan+1"/></xsl:variable>
	<xsl:comment>Debug2: in if after increase:<xsl:value-of select="$FolderRowspan"/></xsl:comment>
    </xsl:if>
    <xsl:comment>Debug3: after if:<xsl:value-of select="$FolderRowspan"/></xsl:comment>

    <table border="1">
	<xsl:if test="$FolderRowspan &gt; 1">
	    <tr>
		<td>
		    <xsl:attribute name="rowspan">
			<xsl:value-of select="$FolderRowspan"/>
		    </xsl:attribute>
		    <xsl:comment>I will glad to insert here nbsp entity</xsl:comment>
		    <font color="white">_</font>
		</td>
		<td>
		    <b>Folder</b>:<xsl:value-of select="desc"/>
		</td>
    	    </tr>
	</xsl:if>

	<xsl:if test="number($FolderRowspan) = 1">
	    <tr>
		<td>
		    <xsl:comment>I will glad to insert here nbsp entity</xsl:comment>
		    <font color="white">_</font>
		</td>
		<td>
		    <b>Folder</b>:<xsl:value-of select="desc"/>
		</td>
	    </tr>
	</xsl:if>


	<xsl:for-each select="./subfolder">
	    <tr>
		<td>
	    	    <b>Subfolder</b>: <xsl:value-of select="@name"/>
		</td>
	    </tr>
	    <tr>
		<td>
		    <xsl:value-of select="desc"/>
		</td>
	    </tr>
	</xsl:for-each>
	<xsl:if test="count(highligth) &gt; 1">
	    <tr>
		<td>
		    <b><xsl:for-each select="highligth">
			<xsl:value-of select="."/>;
		    </xsl:for-each>
		    <xsl:for-each select="subfolder/highligth">
			<xsl:value-of select="."/>;
		    </xsl:for-each></b>
		</td>
	    </tr>
	</xsl:if>
    </table>
    <br />
</xsl:template>

</xsl:stylesheet>
Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.