xsl-list
[Top] [All Lists]

Re: URGENT : Algorithm for exclusion elements

2003-07-10 07:07:24
Thanks Jarno. Your code works and you are been very kind to give me the
solution.
I'm not an XSLT expertice and now I study your, for me, very interesting
code.

Grazie e Ciao. Nicola



----- Original Message -----
From: <Jarno(_dot_)Elovirta(_at_)nokia(_dot_)com>
To: <xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com>
Sent: Thursday, July 10, 2003 2:49 PM
Subject: RE: [xsl] URGENT : Algorithm for exclusion elements


Hi,

I need to show in HTLM the <description> elements of all
groups but only if
between an item/type="T" element and another item/type="T" element are
existing item/type="P" elements. In this way, only the SECOND GROUP
<description> elements should be processed. The problem is
that I can know
that nobody <type>P</type> elements are present only after
process the group
(between <type>T</type> elements) and it's too late.

Who can help me for this URGENT problem?

  <xsl:key name="x" match="item[not(type = 'T')]"
use="generate-id(preceding-sibling::item[type = 'T'][1])"/>
  <xsl:template match="root">
    <xsl:copy>
      <xsl:for-each select="item[type = 'T']">
        <xsl:if test="key('x', generate-id(.))[type = 'P']">
          <xsl:apply-templates select=". | key('x', generate-id(.))"/>
        </xsl:if>
      </xsl:for-each>
    </xsl:copy>
  </xsl:template>
  <xsl:template match="@* | node()">
    <xsl:copy>
      <xsl:apply-templates select="@* | node()"/>
    </xsl:copy>
  </xsl:template>

Cheers,

Jarno

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



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