[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: Sorting and replacing content
Hi, > I can manage to make a stylesheet with an <xsl:if> for each <A> to <E> > asking whether the number is 1, 2, 3, 4 or 5, but I am sure > there must be a > simpler way to do this. I can not use position() since the > position af the > tags can change in the structure. > > <Root> > <a>10</a> > <b>20</b> > <c>30</c> > <d>40</d> > <e>50</e> > ... > > ... > <A>3</A> > <B>5</B> > <C>1</C> > <D>2</D> > <E>4</E> > </Root> > > Result I need: > > <no>30</no> <!-- C = 1 has to be first with the value of c > (which is 30) --> > <no>40</no> > <no>10</no> > <no>50</no> > <no>30</no> For example <xsl:template match="Root"> <xsl:for-each select="A | A/following-sibling::*"> <xsl:sort select="." data-type="number"/> <no> <xsl:value-of select="../*[name() = translate(name(current()), 'ABCDE', 'abcde')]"/> </no> </xsl:for-each> </xsl:template> Cheers, Jarno
|
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
|