xsl-list
[Top] [All Lists]

RE: URGENT : Algorithm for exclusion elements

2003-07-10 05:49:49
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



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