Re: incrementing variable

2002-11-06 Thread Oleg Tkachenko
Phil Dickinson wrote:
John is right about not being able to change variables and I think that
in order to achieve the effect you want, you should consider using some
Java code inside your XSL.
Well, extensions are especially good as last resort, but incrementing 
variables in a side effect free langauge like xslt sounds very ugly. I 
wouldn't suggest people to go this way, but instead to stop thinking 
procedurally and to start using real power of xslt.

--
Oleg Tkachenko
eXperanto team
Multiconn Technologies, Israel


Re: incrementing variable

2002-11-06 Thread xavier gibouin



As my xml file is before traited by a java program 
in odrer generate other tag. This one will completely generate tag for creating 
barrecode so

before : xml file :
barrcecode012341223/barrcode
but impossible to realise the svg barrce code 


after : xml fil after transformation by java 
programm
barrecode
number1123412134121134211231412134242411/numbersvg 
height="50pt" width="400pt"/rec width="1.5" 
x="4.0"/rec width="1.5" 
x="7.0"/rec width="1.5" 
x="10.0"/rec width="1.5" 
x="14.5"/rec width="1.5" x="100"/
 ...
/barrcode

xsl file :

fo:instream-foreign-objectxsl:variable 
name="w" select="codebarre/svg/@width"/xsl:variable 
name="h" select="codebarre/svg/@height"/

svg xmlns="http://www.w3.org/2000/svg" width="{$w}" 
height="{$h}" x="0"g id="codebarre" 
fill="#00"xsl:for-each 
select="codebarre/rec"xsl:variable 
name="w" select="@width"/xsl:variable 
name="x" select="@x"/rect x="{$x}" 
width="{$w}" 
height="50"//xsl:for-each/g/svg/fo:instream-foreign-object


Xavier GibouinAxonieEspace Mercoeur8, rue Mercoeur44000 
Nantes02.40.48.53.23[EMAIL PROTECTED]

  - Original Message - 
  From: 
  Oleg 
  Tkachenko 
  To: [EMAIL PROTECTED] 
  Sent: Wednesday, November 06, 2002 1:45 
  PM
  Subject: Re: incrementing variable
  Phil Dickinson wrote: John is right about not being 
  able to change variables and I think that in order to achieve the 
  effect you want, you should consider using some Java code inside your 
  XSL.Well, extensions are especially good as last resort, but 
  incrementing variables in a side effect free langauge like xslt sounds 
  very ugly. I wouldn't suggest people to go this way, but instead to stop 
  thinking procedurally and to start using real power of xslt.-- 
  Oleg TkachenkoeXperanto teamMulticonn Technologies, 
Israel


Re: incrementing variable

2002-11-06 Thread J.Pietschmann
xavier gibouin wrote:
As my xml file is before traited by a java program in odrer generate 
other tag. This one will completely generate tag for creating barrecode so
If you want to generate SVG barcodes, why don't you
use the barcode XSL form RenderX?
 http://www.renderx.com/barcodes.html
J.Pietschmann


Re: incrementing variable

2002-11-05 Thread xavier gibouin



hi this is my xsl code :

xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
xmlns:fo="http://www.w3.org/1999/XSL/Format" 
xmlns:svg="http://www.w3.org/Graphics/SVG/SVG-19990812.dtd"xsl:variable 
name="x" select="10"/xsl:template 
name="codebarre"xsl:variable name="index" 
select="string-length(codebarre)"/xsl:param 
name="i" select="0"/

xsl:if test="$i lt; 
$index"xsl:choosexsl:when 
test="substring(codebarre,$i+1,1)='1'"fo:blockxsl:value-of 
select="$x"//fo:blockxsl:variable 
name="x" select="$x + 
4"//xsl:whenxsl:when 
test="substring(codebarre,$i+1,1)='2'"fo:blockxsl:value-of 
select="$x"//fo:blockxsl:variable 
name="x" select="$x + 
1.5"//xsl:whenxsl:when 
test="substring(codebarre,$i+1,1)='3'"fo:blockxsl:value-of 
select="$x"//fo:blockxsl:variable 
name="x" select="$x + 
3"//xsl:whenxsl:when 
test="substring(codebarre,$i+1,1)='4'"fo:blockxsl:value-of 
select="$x"//fo:blockxsl:variable 
name="x" select="$x + 
1.5"//xsl:when/xsl:choose

xsl:call-template 
name="codebarre"xsl:with-param name="i" 
select="$i+1"//xsl:call-template

/xsl:if/xsl:template/xsl:stylesheet

this code always writes
10
10
10
10
10
...

$x is not incremented

any ideas?

thanks a lot

Xavier GibouinAxonieEspace Mercoeur8, 
rue Mercoeur44000 Nantes02.40.48.53.23[EMAIL PROTECTED]

  - Original Message - 
  From: 
  Paul 
  Washinger 
  To: [EMAIL PROTECTED] 
  Sent: Tuesday, November 05, 2002 5:52 
  PM
  Subject: Re: variable and svg
  put braces around the variable when it is outside an xsl 
  tag: rect height="50" width="4.0" 
  x="{$x}" y="0.0"/


RE: incrementing variable

2002-11-05 Thread Phil Dickinson



Xavier,

Each 
time you use the syntax xsl:variable name="x".../ you are declaring a 
new local variable, not modifying the existing one!

Since 
your output text occursbefore the new declaration, the global value is 
output displayed and this is always ten.

Try 
moving the fo:block section to after the declaration of the new 
variable.

Phil 
Dickinson
Aicom 
Limited


  -Original Message-From: xavier gibouin 
  [mailto:[EMAIL PROTECTED]Sent: 05 November 2002 17:59To: 
  [EMAIL PROTECTED]Subject: Re: incrementing 
  variable
  hi this is my xsl code :
  
  xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
  xmlns:fo="http://www.w3.org/1999/XSL/Format" 
  xmlns:svg="http://www.w3.org/Graphics/SVG/SVG-19990812.dtd"xsl:variable 
  name="x" select="10"/xsl:template 
  name="codebarre"xsl:variable name="index" 
  select="string-length(codebarre)"/xsl:param 
  name="i" select="0"/
  
  xsl:if test="$i lt; 
  $index"xsl:choosexsl:when 
  test="substring(codebarre,$i+1,1)='1'"fo:blockxsl:value-of 
  select="$x"//fo:blockxsl:variable 
  name="x" select="$x + 
  4"//xsl:whenxsl:when 
  test="substring(codebarre,$i+1,1)='2'"fo:blockxsl:value-of 
  select="$x"//fo:blockxsl:variable 
  name="x" select="$x + 
  1.5"//xsl:whenxsl:when 
  test="substring(codebarre,$i+1,1)='3'"fo:blockxsl:value-of 
  select="$x"//fo:blockxsl:variable 
  name="x" select="$x + 
  3"//xsl:whenxsl:when 
  test="substring(codebarre,$i+1,1)='4'"fo:blockxsl:value-of 
  select="$x"//fo:blockxsl:variable 
  name="x" select="$x + 
  1.5"//xsl:when/xsl:choose
  
  xsl:call-template 
  name="codebarre"xsl:with-param name="i" 
  select="$i+1"//xsl:call-template
  
  /xsl:if/xsl:template/xsl:stylesheet
  
  this code always writes
  10
  10
  10
  10
  10
  ...
  
  $x is not incremented
  
  any ideas?
  
  thanks a lot
  
  Xavier GibouinAxonieEspace Mercoeur8, 
  rue Mercoeur44000 Nantes02.40.48.53.23[EMAIL PROTECTED]
  
- Original Message - 
From: 
Paul 
Washinger 
To: [EMAIL PROTECTED] 
Sent: Tuesday, November 05, 2002 5:52 
PM
Subject: Re: variable and svg
put braces around the variable when it is outside an xsl 
tag: rect height="50" width="4.0" 
x="{$x}" y="0.0"/