[xsl] Re: Processing an element only if there are no better options

Subject: [xsl] Re: Processing an element only if there are no better options
From: "Dimitre Novatchev" <dnovatchev@xxxxxxxxx>
Date: Thu, 22 May 2003 06:43:33 +0200
Use:

<xsl:stylesheet version="1.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
  <xsl:output omit-xml-declaration="yes"/>
  <xsl:template match="ProductGroup">
    <xsl:for-each select="Product">
      <xsl:sort select="substring-after(@Type, 'Type')"
                data-type="number"/>
      <xsl:if test="position() = 1">
        <xsl:copy-of select="."/>
      </xsl:if>
    </xsl:for-each>
  </xsl:template>
</xsl:stylesheet>

When the above transformation is applied on this source.xml:

<ProductGroup>
  <Product Type="Type3">[...]</Product>
  <Product Type="Type1">[...]</Product>
  <Product Type="Type2">[...]</Product>
</ProductGroup>

the wanted result is produced:

<Product Type="Type1">[...]</Product>



=====
Cheers,

Dimitre Novatchev.
http://fxsl.sourceforge.net/ -- the home of FXSL

"Dustin, Dave" <Dave.Dustin@xxxxxxxxxx> wrote in message
news:2124ED9D3EF87D40B223B489CC93A94D9CC550@xxxxxxxxxxxxxxxxxxxxx
> Sorry for the vague title, but I don't know how I could word the problem
is
> a couple of words.
>
> Imagine a couple of dataset like these:
>
> [doc #1]
> <ProductGroup>
> <Product Type="Type1">[...]</Product>
> <Product Type="Type2">[...]</Product>
> <Product Type="Type3">[...]</Product>
> </ProductGroup>
> [/doc #1]
>
>
> [doc #2]
> <ProductGroup>
> <Product Type="Type2">[...]</Product>
> </ProductGroup>
> [/doc #2]
>
>
> What I need to do is only extract the contents of _1_ Product in an order
of
> preference.
>
> i.e. If there is a Type1 product, then don't output Type2 or Type3.
> However, if there is no Type1, then output Type2, but not Type3 if it's
> present.
>
>
> Any help would be greatly appreciated.
>
> Thanks
>
>
> Dave
>
>  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