[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
[xsl] how to output previous and next values within for-each loop.
Subject: [xsl] how to output previous and next values within for-each loop. From: "Uslu, Cihan Y (MED)" <Cihan.Uslu@xxxxxxxxxx> Date: Mon, 26 Nov 2001 16:57:07 -0600 |
Hi, I am working on a XSL script to automate the previous and next links within HTML pageby using XSL to extract the data from XML file and I am not sure how to output the previous and next values in for-each loop. I am posting XSL script, current output and desired output, with the XML file to give you better explanation of this problem. Thanks.... -------------XSL script---------------- <xsl:for-each select="module"> <xsl:if test="child::* = intro"> <xsl:variable name="section_num_mod_intro"> <xsl:value-of select="./intro/@sectionNum "/> </xsl:variable> <xsl:variable name="screen_num_mod_intro"> <xsl:value-of select="./intro/@screenNum"/> </xsl:variable> <xsl:text>var m0</xsl:text><xsl:value-of select="$moduleNum"/><xsl:text>_</xsl:text><xsl:value-of select="$section_num_mod_intro"/><xsl:text>_</xsl:text><xsl:value-of select="$screen_num_mod_intro"/><xsl:text>= new Array('</xsl:text> <xsl:value-of select="./title/para/text()"/> <xsl:text>',</xsl:text> <xsl:text> </xsl:text> </xsl:if> <xsl:for-each select="./concept | ./conceptOrgan | ./task | ./process "> <xsl:if test="child::* = intro"> <xsl:variable name="section_num_mod_intro"> <xsl:value-of select="./intro/@sectionNum "/> </xsl:variable> <xsl:variable name="screen_num_mod_intro"> <xsl:value-of select="./intro/@screenNum"/> </xsl:variable> <xsl:text>var m0</xsl:text><xsl:value-of select="$moduleNum"/><xsl:text>_</xsl:text><xsl:value-of select="$section_num_mod_intro"/> <xsl:text>_</xsl:text><xsl:value-of select="$screen_num_mod_intro"/><xsl:text>= new Array('</xsl:text> <xsl:value-of select="normalize-space(./title/para/text())"/> <xsl:text>',</xsl:text> <xsl:text> </xsl:text> </xsl:if> <xsl:variable name="section_num"> <xsl:value-of select="@sectionNum "/> </xsl:variable> <xsl:for-each select=" ./conceptDetail | ./grossAnatomy | ./physiology | ./imagedAnatomy | ./indications | ./approach | ./measurements | ./interactions"> <xsl:variable name="screen_num"> <xsl:value-of select="@screenNum "/> </xsl:variable> <xsl:text>var m0</xsl:text><xsl:value-of select="$moduleNum"/><xsl:text>_</xsl:text><xsl:value-of select="$section_num"/><xsl:text>_</xsl:text><xsl:value-of select="$screen_num"/><xsl:text>= new Array('</xsl:text> <xsl:value-of select="normalize-space(./title/para/text())"/> <xsl:text>',</xsl:text> <xsl:text> </xsl:text> </xsl:for-each> </xsl:for-each> </xsl:for-each> -------------------------------current output out.txt---------------------------------------------- var m01_010_000= new Array('LightSpeed Ultra Overview', var m01_020_000= new Array('New Features', var m01_020_010= new Array('8 Slice Operation', var m01_020_011= new Array('8x1.25mm and 8x2.5mm Modes', var m01_020_012= new Array('Check Your Understanding', var m01_020_020= new Array('New Axial Prescription Screen', var m01_020_030= new Array('Helical Configurations', var m01_020_031= new Array('Helical Pitch', var m01_020_040= new Array('New Helical Prescription Screen', var m01_020_041= new Array('Scan Example', var m01_020_042= new Array('Scan Example', var m01_020_043= new Array('Scan Example', var m01_020_050= new Array('Check Your Understanding', var m01_020_060= new Array('Benefits to the Customer', var m01_030_000= new Array('LightSpeed Ultra Specifications', var m01_030_010= new Array('First Release and Features to Follow', var m01_030_020= new Array('Product Data Sheet', var m01_040_000= new Array('Data Acquisition Changes', var m01_040_010= new Array('System Block Diagram', -------------desired_out.txt---------------------- var m01_010_000= new Array('LightSpeed Ultra Overview','0','m01_020_000') var m01_020_000 = new Array('New Features','m01_010_000','m01_020_010','1'); var m01_020_010 = new Array('8 Slice Operation','m01_020_000','m01_020_011','1'); var m01_020_011 = new Array('8X1.25 and 8X2.5 Modes','m01_020_010','m01_020_012','1'); var m01_020_012 = new Array('Check Your Understanding','m01_020_011','m01_020_020','1'); var m01_020_020 = new Array('New Axial Prescription Screen','m01_020_012','m01_020_030','1'); var m01_020_030 = new Array('Helical Configurations','m01_020_020','m01_020_031','1'); var m01_020_031 = new Array('Helical Pitch','m01_020_030','m01_020_040','1'); var m01_020_040 = new Array('New Helical Prescription Screen','m01_020_031','m01_020_041','1'); var m01_020_041 = new Array('Scan Example','m01_020_040','m01_020_042','1'); var m01_020_042 = new Array('Scan Example','m01_020_041','m01_020_043','1'); var m01_020_043 = new Array('Scan Example','m01_020_042','m01_020_050','1'); var m01_020_050 = new Array('Check Your Understanding','m01_020_043','m01_020_060','1'); var m01_020_060 = new Array('Benefits to the Customer','m01_020_050','m01_030_000','1'); var m01_030_000 = new Array('Light Speed Ultra Specifications','m01_020_060','m01_030_010','1'); var m01_030_010 = new Array('Features to Follow','m01_030_000','m01_030_020','1'); var m01_030_020 = new Array('Product Data Sheet','m01_030_010','m01_040_000','1'); var m01_040_000 = new Array('Data Acquisition Changes','m01_030_020','m01_040_010','1'); var m01_040_010 = new Array('System Block Diagram','m01_040_000','0','1'); -------------test.xml---------------- <course courseNum="ct525" delete-modules="N"> <courseInfo> <title> <para>LightSpeed Ultra</para> </title> <courseDesc moduleNum="00" sectionNum="005" screenNum="000"/> </courseInfo> <module moduleNum="01" test-type="S"> <title> <para>LightSpeed Ultra Overview</para> </title> <intro sectionNum="010" screenNum="000"> </intro> <competency/> <concept sectionNum="020"> <title> <para>New Features</para> </title> <intro sectionNum="020" screenNum="000"> <para></para> </intro> <conceptDetail screenNum="010"> <title> <para>8 Slice Operation</para> </title> </conceptDetail> <conceptDetail screenNum="011"> <title> <para>8x1.25mm and 8x2.5mm Modes</para> </title> </conceptDetail> <interactions screenNum="012" type="matching"> <title> <para>Check Your Understanding</para> </title> </interactions> <conceptDetail screenNum="020"> <title> <para>New Axial Prescription Screen </para> </title> </conceptDetail> <conceptDetail screenNum="030"> <title> <para>Helical Configurations</para> </title> </conceptDetail> <conceptDetail screenNum="031"> <title> <para>Helical Pitch </para> </title> </conceptDetail> <conceptDetail screenNum="040"> <title> <para>New Helical Prescription Screen</para> </title> </conceptDetail> <conceptDetail screenNum="041"> <title> <para>Scan Example</para> </title> </conceptDetail> <conceptDetail screenNum="042"> <title> <para> Scan Example</para> </title> </conceptDetail> <conceptDetail screenNum="043"> <title> <para>Scan Example</para> </title> </conceptDetail> <interactions screenNum="050" type="multchoice"> <title> <para>Check Your Understanding</para> </title> </interactions> <conceptDetail screenNum="060"> <title> <para>Benefits to the Customer</para> </title> </conceptDetail> </concept> <concept sectionNum="030"> <title> <para>LightSpeed Ultra Specifications</para> </title> <intro sectionNum="030" screenNum="000"> </intro> <conceptDetail screenNum="010"> <title> <para>First Release and Features to Follow</para> </title> </conceptDetail> <conceptDetail screenNum="020"> <title> <para>Product Data Sheet</para> </title> </conceptDetail> </concept> <concept sectionNum="040"> <title> <para>Data Acquisition Changes </para> </title><intro sectionNum="040" screenNum="000"/> <conceptDetail screenNum="010"> <title> <para>System Block Diagram</para> </title> </conceptDetail> </concept> </module> </course> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Poorly Formed HTML inside, Michael Kay | Thread | [xsl] Re: Re: Counting Nodes, Dimitre Novatchev |
RE: [xsl] xsl and SSL, timw | Date | Re: [xsl] Counting Nodes, Peter Flynn |
Month |