xml editor

Supported platforms

Compatible with Windows7 & Mac OS X Snow Leopard

Ready for data server software
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

RE: [xsl] Sorting and replacing content


Subject: RE: [xsl] Sorting and replacing content
From: <Jarno.Elovirta@xxxxxxxxx>
Date: Wed, 1 Sep 2004 12:41:25 +0300

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


Current Thread
XML Editor | XML Author | WYSIWYG Editors | Schema Editor | XSD Documentation | XSL/XSLT Editor | XQuery | XML Databases | SVN Client
© 2002-2011 SyncRO Soft Ltd. All rights reserved. | Sitemap | Privacy Policy | This website was created & generated with <oXygen/>®XML Editor