[xsl] variable outside a for-each loop

Subject: [xsl] variable outside a for-each loop
From: "Mathieu Malaterre" <mathieu.malaterre@xxxxxxxxx>
Date: Thu, 20 Sep 2007 14:52:27 +0200

  this is clearly a question that has been asked many times on this
mailing list. But I simply cannot find anything smart to do for my

I have the following XML (docbook):

      <para>DEF 2</para>

My goal is to produce:

    <entry one="ABC" two="DEF"/>
    <entry one="ABC" two="DEF 2"/>

In C/C++ this is trivial at each step whenever row/entry is empty I
would use some local variable instead. But in XSL I am stuck with:

                <xsl:for-each select="row">
                  <xsl:variable name="one"
select="normalize-space(string-join(entry[1]/para,' '))"/>
                  <xsl:variable name="two"
select="normalize-space(string-join(entry[2]/para,' '))"/>
                  <entry one="{$one}" two="{$two}"/>

Could someone please let me know what the correct solution is when using XSL ?

Thanks so much;


Current Thread