[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: variable outside a for-each loop
I'm having a hard time mapping your input to your output, but that being said, you are certainly not "stuck with" your proposed solution. What you appear to be stuck with is a hard time in giving up the procedural programming model mind-set and letting yourself operate in the XSLT functional programming model. Your input contains a <informaltable> with two <row> child elements. Each row has two <entry> child elements. Your output has a <table> root element with two <entry> child elements. That's a total of four <entry> elements in the input that somehow map to two <entry> elements in the output. Please explain your production rule a little more clearly and you will surely get a solution. -- Charles Knell cknell@xxxxxxxxxx - email -----Original Message----- From: Mathieu Malaterre <mathieu.malaterre@xxxxxxxxx> Sent: Thu, 20 Sep 2007 14:52:27 +0200 To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: variable outside a for-each loop Hello, 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 issue: I have the following XML (docbook): <informaltable> <row> <entry> <para>ABC</para> </entry> <entry> <para>DEF</para> </entry> </row> <row> <entry> <para/> </entry> <entry> <para>DEF 2</para> </entry> </row> </informaltable> My goal is to produce: <table> <entry one="ABC" two="DEF"/> <entry one="ABC" two="DEF 2"/> </table> 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}"/> </xsl:for-each> Could someone please let me know what the correct solution is when using XSL ? Thanks so much; -- Mathieu
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|