xsl-list
[Top] [All Lists]

Re: RE : [xsl] xsl:sort blocks of element with an attribute value

2005-10-18 13:12:57
Stephane,

At 01:52 PM 10/18/2005, you wrote:
        The output document is missing the ProductOption element!  Why?

<?xml version="1.0" encoding="UTF-8"?><GetProductOptionsResponse>
    <Header/>
        <DetailedProduct>
        <ProductOptionGroup>

                <NetPrice>W</NetPrice>
                <NetPrice>M</NetPrice>
                <TravelerPrice>
                    <PriceSummary/>
                </TravelerPrice>

        </ProductOptionGroup>

        </DetailedProduct>
</GetProductOptionsResponse>

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
version="1.0">
  <xsl:output method="xml"/>

  <xsl:template
match="/GetProductOptionsResponse/DetailedProduct/ProductOptionGroup/Product
Option">
    <xsl:apply-templates>
      <xsl:sort data-type="number" select="NetPrice/@NetAmount"
order="ascending"/>
    </xsl:apply-templates>
  </xsl:template>

  <xsl:template match="*">
    <xsl:copy>
      <xsl:apply-templates/>
    </xsl:copy>
  </xsl:template>
</xsl:stylesheet>

        I would like the original source document (with all attributes) with
the NetPrice elements sorted.

You have an xsl:copy in the template matching "*" but you forget you also need one when you match ProductOption.

So, try

  <xsl:template
match="/GetProductOptionsResponse/DetailedProduct/ProductOptionGroup/Product
Option">
    <xsl:copy>
      <xsl:apply-templates>
        <xsl:sort data-type="number" select="NetPrice/@NetAmount"
                  order="ascending"/>
      </xsl:apply-templates>
    </xsl:copy>
  </xsl:template>

Easy slip-up.

Cheers,
Wendell


======================================================================
Wendell Piez                            
mailto:wapiez(_at_)mulberrytech(_dot_)com
Mulberry Technologies, Inc.                http://www.mulberrytech.com
17 West Jefferson Street                    Direct Phone: 301/315-9635
Suite 207                                          Phone: 301/315-9631
Rockville, MD  20850                                 Fax: 301/315-8285
----------------------------------------------------------------------
  Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



<Prev in Thread] Current Thread [Next in Thread>