Subject: Re: [xsl] Problem with position( ) function From: Manolis Mavrikis <M.Mavrikis@xxxxxxxx> Date: Fri, 28 Nov 2003 03:29:29 +0000 (UTC) |
I am not sure what you are trying to do as your JavaScript and what you are showing the xslt to generate seems different but I assume you want to haver these ACT_DES_COR data there but then your foramt seems very complicated. Anyway this is not the issue and maybe you don't want/can't change it but still I think you over-complicated the matter a lot. Unless you are trying to do as well with the template <xsl:template match="actividades/ROWSET/ROW"> then I think that (assuming that this is waht you want to do) you just have to call a template when you want to construct the array: Array(<xsl:call-templates select="actividades-indexing"><xsl:with-param name="agr_id" select="AGR_ID" /></xsl:call-template>) <xsl:template name="actividades-indexing"> <xsl:param name="agr_id" /> <xsl:for-each select="/yourroot/actividates/ROWSET/ROW[ACT_AGR_ID = $agr_id]]]/"/> '<xsl:value-of select="position()"/>|<xsl:value-of select="ACT_DES_COR" />' <xsl:if test = "position() < last()">,</xsl:if> </xsl:fot-each> </xsl:template> I am sorry I cannot test it at the moment but it seems consistent with what you want to do. Manolis p.s. btw I don't know what you want to do with these data assigned in the Arrays but in a similiar case I used JavaScript 'hashmaps' to assign things into and then when I needed to call them i just refered to them with their id On Thu, 27 Nov 2003, Jaime A Stuardo Bahamondes wrote: Hi all.. I have this piece of XML: <actividades> <ROWSET> <ROW id="1"> <ACT_ID>6</ACT_ID> <ACT_FEC_ING>27-11-2003 09:43:32</ACT_FEC_ING> <ACT_DES_LAR>Finanzas, Impuestos y Política Monetaria</ACT_DES_LAR> <ACT_DES_COR>Finanzas, Impuestos y Política Monetaria</ACT_DES_COR> <ACT_EST>v</ACT_EST> <ACT_AGR_ID>1</ACT_AGR_ID> </ROW> <ROW id="2"> <ACT_ID>1</ACT_ID> <ACT_FEC_ING>27-11-2003 09:43:31</ACT_FEC_ING> <ACT_DES_LAR>Gobierno en General, Municipalidades</ACT_DES_LAR> <ACT_DES_COR>Gobierno en General, Municipalidades</ACT_DES_COR> <ACT_EST>v</ACT_EST> <ACT_AGR_ID>1</ACT_AGR_ID> </ROW> -......--- </actividades> <agrupaciones> <ROWSET> <ROW id="1"> <AGR_ID>1</AGR_ID> <AGR_FEC_ING>11-11-2003</AGR_FEC_ING> <AGR_FEC_MOD>14-11-2003 11:22:04</AGR_FEC_MOD> <AGR_DES_LAR>Administración Publica</AGR_DES_LAR> <AGR_DES_COR>Administración Publica</AGR_DES_COR> <AGR_EST>v</AGR_EST> </ROW> <ROW id="2"> <AGR_ID>2</AGR_ID> <AGR_FEC_ING>18-11-2003 11:34:08</AGR_FEC_ING> <AGR_DES_LAR>Agricultura</AGR_DES_LAR> <AGR_DES_COR>Agricultura</AGR_DES_COR> <AGR_EST>v</AGR_EST> </ROW> </agrupaciones> I'm programming an XSL that generates a JavaScript this way: var actividades = new Array(2); // 2 "agrupaciones" actividades[0] = new Array(6, 1); // 6 and 1 are "actividades" corresponding to "agr_id" = 1 actividades[1] = new Array(7,9,15); // 7, 9 and 15 are "actividades" corresponding to "agr_id" = 2 (not shown in XML above) and so on. I programmed this XSL: <xsl:template match="agrupaciones/ROWSET/ROW"> actividades[<xsl:value-of select="position()-1"/>] = new Array(<xsl:apply-templates select="../../../actividades/ROWSET/ROW"><xsl:with-param name="agr_id"><xsl:value-of select="AGR_ID" /></xsl:with-param></xsl:apply-templates>) </xsl:template> <xsl:template match="actividades/ROWSET/ROW"> <xsl:param name="agr_id" /> <xsl:if test="ACT_AGR_ID = $agr_id">'<xsl:value-of select="position()" />|<xsl:value-of select="ACT_DES_COR" />'<xsl:if test = "position() < last() ">,</xsl:if></xsl:if> </xsl:template> The problem I have is that the following is generated by those templates: actividades[0] = new Array(6,1,); // realize about the last "comma" actividades[1] = new Array(7,9,15,); To avoid that, I placed the condition position() < last(), but I realized that position( ) isn't resetted by each iteration of the template. Any help on this? And other question. I have placed all the xsl instructions on the same line because if I write the xsl more readable, empty lines are inserted in the generated JavaScript. Is it possible to solve it? Thanks in advance Jaime XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Problem with position( ) func, Jaime A Stuardo Baha | Thread | [xsl] test, please ignore, Tassos Anastasiou |
[xsl] Nested elements problem, Justin F. Knotzke | Date | RE: [xsl] CR parsing issue, Jarno . Elovirta |
Month |