|
[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
[Recent Entries]
[Reply To This Message]
Re: Tricky inclusion match
Subject: Re: Tricky inclusion match
From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
Date: Thu, 31 Mar 2005 11:58:11 -0500
|
At 12:49 AM 3/31/2005, Dimitre wrote:
Seems a little bit too long.
This transformation:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes"/>
<xsl:variable name="vColors" select="/*/colors"/>
<xsl:template match="/">
<xsl:for-each select="/*/*/picture">
<xsl:if test="count($vColors/*[. = current()/color]) >= 2">
<xsl:value-of select="concat('Picture Id=', @sample, '
')"/>
</xsl:if>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
when performed against the originally posted source xml document,
produces the wanted result:
Picture Id=2
Picture Id=4
Picture Id=5
Nice.
It doesn't have to de-duplicate because it is able to assume there are no
duplicates among the colors listed in $vColors.
This could be further compressed, too:
<xsl:apply-templates
select="/*/*/picture[count($vColors/*[. = current()/color]) >= 2]" />
(with a template matching the picture)
Always more to learn....
Thanks, Dimitre!
Cheers,
Wendell
======================================================================
Wendell Piez mailto:wapiez@xxxxxxxxxxxxxxxx
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
======================================================================

|
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
| RSS 2.0 |
|
| Atom 0.3 |
|
|