[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: How to use arrays type of variable in XSLT?
Hi, > In XSLT, we declare some global variable like this.. > > <xsl:variable name="x1">10</xsl:variable> > <xsl:variable name="x2">100</xsl:variable> > <xsl:variable name="x3">151</xsl:variable> > > <xsl:output method="xml" encoding="UTF-8" > indent="yes"/> > <xsl:template match="/"> > <xsl:element name="layout"> > <xsl:call-template name="office-body"/> > </xsl:element> > </xsl:template> > > In other template, I am using position() to extract > the variable value using position() as index. > > <xsl:template name="table_row_traversing"> > <xsl:for-each select="table:table-row"> > <xsl:for-each select="table:table-cell"> > <xsl:variable name="col_width"> > <xsl:value-of select="position()"/> > </xsl:variable> > <xsl:value-of select="x[$col_width]"/> > </xsl:for-each> > </xsl:for-each> > </xsl:template> > > Here I need to get the value x1, x2, x3 etc based on > the position(). > > I didnt get any output using this code? (Inventing new functionality rarely works.) <xsl:value-of select="x[$col_width]"/> Extracts the string value of element "x", whose position is equal to $col_width variable. If I understood you correctly, you want to extract the value of variable $x*. You can't do this with vanilla XSLT, you need to use variable or use another approach. You can, e.g., declare <xsl:variable name="columns" select="document('')/*/x:columns"/> <x:columns> <column>10</column> <column>100</column> <column>151</column> </x:columns> as top-level elements and in your template use <xsl:value-of select="$columns/*[$col_width]"/> Cheers, Jarno - Neurotic Fish: M.F.A.P.L. (Intelligent Tribal Freak mix)
|
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
|