xsl-list
[Top] [All Lists]

Re:

2004-02-19 02:16:24
On Thu, 2004-02-19 at 03:28, tsterlin(_at_)email(_dot_)arizona(_dot_)edu wrote:
Hello,
I'm attempting to produce an HTML document from an XML one using XSLT.
I need to make a numbered list of a certain tag's

Elements.

(<ITEM>) info contained within the XML document.  This challenge here 
is that I only want certain <ITEM>s to be contained in my list while 
others should be omitted, however all <ITEM>s have the same ancestry.  
The only distinguishing element is a sibling tag known as <TITLE> with 
different literal values stored in them.  It is the value stored in 
this <TITLE> that needs to determine the <ITEM>'s inclusion to or
exclusion from the list:

<xsl:template match="GROUP">
  <ol>
    <xsl:apply-templates/>
  </ol>
</xsl:template>

<xsl:template match="ITEM">
  <xsl:if test="parent::STEP1/preceding-sibling::TITLE!='Raging River'">
    <li>
      <xsl:apply-templates/>
    </li>
  </xsl:if>
</xsl:template>

<xsl:template match="TITLE"/>

If you want the test to match a list of values instead of exclude a
single value, use

<xsl:template match="ITEM">
  <xsl:variable name="title" 
        select="parent::STEP1/preceding-sibling::TITLE"/>
  <xsl:if test="$title='Magic Mountains' or
               $title='Spectacular Sky'">
    <li>
      <xsl:apply-templates/>
    </li>
  </xsl:if>
</xsl:template>

///Peter

<GROUP>
  <PARA0>
    <TITLE>Magic Mountains</TITLE>
    <STEP1>
      <ITEM>This is the first item.</ITEM>
    </STEP1>
    <STEP1>
      <ITEM>This is the second item.</ITEM>
    </STEP1>
  </PARA0>
  <PARA0>
    <TITLE>Raging River</TITLE>
    <STEP1>
      <ITEM>I don't want this item.</ITEM>
    </STEP1>
    <STEP1>
      <ITEM>I don't want this item either.</ITEM>
    </STEP>
  </PARA0>
  <PARA0>
    <TITLE>Spectacular Sky</TITLE>
    <STEP1>
      <ITEM>This is the third item.</ITEM>
    </STEP1>
    <STEP1>
      <ITEM>This is the fourth item.</ITEM>
    </STEP1>
  </PARA0>
</GROUP>

---------------The HTML output should be as follows:
             1.  This is the first item.
             2.  This is the second item.
             3.  This is the third item.
             4.  This is the fouth item.

Any ideas?







 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>