This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: Position X Sort-> Please urgent!
- To: <xsl-list at lists dot mulberrytech dot com>
- Subject: RE: [xsl] Position X Sort-> Please urgent!
- From: "Chris Bayes" <chris at bayes dot co dot uk>
- Date: Thu, 27 Sep 2001 19:53:59 +0100
- Reply-To: xsl-list at lists dot mulberrytech dot com
Paulo,
You might want something like
<xsl:template match="ORIGINAL">
<xsl:for-each select="TEST">
<xsl:sort select="." data-type="number" order="descending"/>
<xsl:value-of select="."/>
<xsl:variable name="var_pos" select="position()"/>
<xsl:for-each select="document('XMLADD.XML')//ADDS/ADD">
<xsl:sort select="." data-type="text"
order="descending"/>
<xsl:if test="position()=$var_pos"><xsl:value-of
select="."/></xsl:if>
</xsl:for-each>
</xsl:for-each>
</xsl:template>
Ciao Chris
XML/XSL Portal
http://www.bayes.co.uk/xml
> -----Original Message-----
> From: owner-xsl-list@lists.mulberrytech.com
> [mailto:owner-xsl-list@lists.mulberrytech.com] On Behalf Of
> Paulo Henrique S. Bermejo
> Sent: 27 September 2001 19:21
> To: xsl-list@lists.mulberrytech.com
> Subject: [xsl] Position X Sort-> Please urgent!
>
>
> Hi all,
>
> I'm with problems with my transformation and I need to give
> my project in next week, and need to make others things.
> Well... I've 2 xml documents and 1 xsl document. The first
> doc xml (XMLORIGINAL.XML) The second xml document
> (XMLADD.XML) have informations about first document. The
> relashion this elements is for position, but I need to print
> this context using the sort, and I'm having problems with
> this. Exists a formal of to get a position of element in
> original formate? My example:
>
> <!-- XMLORIGINAL.XML -->
> <?xml-stylesheet type="text/xsl" href="XSLORIGINAL.XSL"?> <ORIGINAL>
> <TEST>1</TEST>
> <TEST>2</TEST>
> <TEST>3</TEST>
> <TEST>4</TEST>
> <TEST>5</TEST>
> </ORIGINAL>
>
>
> <!-- XMLADD.XML -->
> <ADDS>
> <ADD>A</ADD> <!-- This element if referent the 1º <TEST> element -->
> <ADD>B</ADD> <!-- This element if referent the 2º <TEST> element -->
> <ADD>C</ADD> <!-- This element if referent the 3º <TEST> element -->
> <ADD>D</ADD> <!-- This element if referent the 4º <TEST> element -->
> <ADD>E</ADD> <!-- This element if referent the 5º <TEST>
> element --> </ADDS>
>
> <!-- XSLORIGINAL.XSL -->
> <xsl:template match="ORIGINAL">
> <xsl:for-each select="TEST">
> <xsl:sort select="." data-type="number" order="descending"/>
> <xsl:value-of select="."/>
> <xsl:variable name="var_pos" select="position()"/>
> <xsl:value-of
> select="document('XMLADD.XML')/ADDS/ADD[$var_pos]">
> </xsl:for-each>
> </xsl:template>
>
>
> I need to print so:
> ------------------
> 5E
> 4D
> 3C
> 2B
> 1A
>
> And my result is:
> ------------------
> 5A
> 4B
> 3C
> 2D
> 1E
>
> If I can't to print so, then exist another form????
>
>
> Thanks all,
>
>
> Paulo.
>
>
> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
>
>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list