Subject: RE: [xsl] Increment a variable From: "ChandraShekar, A" <ChandraShekar.A@xxxxxxxxxxx> Date: Thu, 18 Aug 2005 18:49:45 +0530 |
Hello xsl-list, I can't figure out what is the problem in my code. Please can any body help me. Source: <?xml version="1.0" encoding="UTF-8"?> <Parameters> <parameter> <name>Param1 </name> </parameter> <parameter> <name>Param2 </name> </parameter> <parameter> <name>Param3 </name> </parameter> <parameter> <name>Param4 </name> </parameter> <parameter> <name>Param5 </name> </parameter> </Parameters> Xslt code: <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format"> <xsl:output method="xml"></xsl:output> <xsl:template match="/"> <xsl:apply-templates select="Parameters"> </xsl:apply-templates> </xsl:template> <xsl:template match="Parameters"> <parameters> <xsl:apply-templates select="parameter"> <xsl:with-param name="x" select="0"/> <xsl:with-param name="y" select="0"/> <xsl:with-param name="start" select="0"/> <xsl:with-param name="count" select="count(parameter)"/> </xsl:apply-templates> </parameters> </xsl:template> <xsl:template match="parameter"> <xsl:param name="x" select="0"/> <xsl:param name="y" select="0"/> <xsl:param name="start" select="0"/> <xsl:param name="count" select="0"/> <parameter gridx="{$x}" gridy="{$y}"> <xsl:value-of select="."> </xsl:value-of> </parameter> <xsl:if test="$start < $count"> <xsl:variable name="temp1" select="$x"/> <xsl:variable name="temp2" select="$y+1"/> <xsl:variable name="tempy" select="$temp2 mod 2"/> <xsl:message> <xsl:value-of select="$tempy"/> </xsl:message> <xsl:choose> <xsl:when test="$tempy=0"> <xsl:variable name="tempx" select="$temp1+1"/> <xsl:apply-templates select="."> <xsl:with-param name="x" select="$tempx"/> <xsl:with-param name="y" select="$tempy"/> <xsl:with-param name="start" select="$start+1"/> <xsl:with-param name="count" select="$count"/> </xsl:apply-templates> </xsl:when> <xsl:otherwise> <xsl:variable name="tempx" select="$temp1"/> <xsl:apply-templates select="."> <xsl:with-param name="x" select="$tempx"/> <xsl:with-param name="y" select="$tempy"/> <xsl:with-param name="start" select="$start+1"/> <xsl:with-param name="count" select="$count"/> </xsl:apply-templates> </xsl:otherwise> </xsl:choose> </xsl:if> </xsl:template> </xsl:stylesheet> Destination expected: <?xml version="1.0" encoding="UTF-16" ?> - <parameters xmlns:fo="http://www.w3.org/1999/XSL/Format"> <parameter gridx="0" gridy="0">Param1</parameter> <parameter gridx="0" gridy="1">Param2</parameter> <parameter gridx="1" gridy="0">Param3</parameter> <parameter gridx="1" gridy="1">Param4</parameter> <parameter gridx="2" gridy="0">Param5</parameter> </parameters> But the result is : <?xml version="1.0" encoding="UTF-16" ?> - <parameters xmlns:fo="http://www.w3.org/1999/XSL/Format"> <parameter gridx="0" gridy="0">Param1</parameter> <parameter gridx="0" gridy="1">Param1</parameter> <parameter gridx="1" gridy="0">Param1</parameter> <parameter gridx="1" gridy="1">Param1</parameter> <parameter gridx="2" gridy="0">Param1</parameter> <parameter gridx="2" gridy="1">Param1</parameter> <parameter gridx="0" gridy="0">Param2</parameter> <parameter gridx="0" gridy="1">Param2</parameter> <parameter gridx="1" gridy="0">Param2</parameter> <parameter gridx="1" gridy="1">Param2</parameter> <parameter gridx="2" gridy="0">Param2</parameter> <parameter gridx="2" gridy="1">Param2</parameter> <parameter gridx="0" gridy="0">Param3</parameter> <parameter gridx="0" gridy="1">Param3</parameter> <parameter gridx="1" gridy="0">Param3</parameter> <parameter gridx="1" gridy="1">Param3</parameter> <parameter gridx="2" gridy="0">Param3</parameter> <parameter gridx="2" gridy="1">Param3</parameter> <parameter gridx="0" gridy="0">Param4</parameter> <parameter gridx="0" gridy="1">Param4</parameter> <parameter gridx="1" gridy="0">Param4</parameter> <parameter gridx="1" gridy="1">Param4</parameter> <parameter gridx="2" gridy="0">Param4</parameter> <parameter gridx="2" gridy="1">Param4</parameter> <parameter gridx="0" gridy="0">Param5</parameter> <parameter gridx="0" gridy="1">Param5</parameter> <parameter gridx="1" gridy="0">Param5</parameter> <parameter gridx="1" gridy="1">Param5</parameter> <parameter gridx="2" gridy="0">Param5</parameter> <parameter gridx="2" gridy="1">Param5</parameter> </parameters> Thanks in advance, Chandu
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Increment a variable, omprakash . v | Thread | Re: [xsl] Increment a variable, David Carlisle |
Re: [xsl] Annoying XSLT code, David Carlisle | Date | Re: [xsl] Increment a variable, David Carlisle |
Month |