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 |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Processing an element only if, Dustin, Dave | Thread | Re: [xsl] Processing an element onl, David Carlisle |
RE: [xsl] Processing an element onl, Dustin, Dave | Date | [xsl] Re: Processing an element onl, Dimitre Novatchev |
Month |