xsl-list
[Top] [All Lists]

Re: XSL nested tag (new question)

2002-10-08 12:33:28
Add a template matching on the root node:

<xsl:template match="/">
  <xsl:for-each select="//SNIPPET">
    <xsl:value-of select="."/><br/>
  </xsl:for-each>
  <xsl:apply-templates/>
</xsl:template>

Regards,

Joerg

Mani Malarvannan wrote:
Hi Michael,
But I'm using the XSL templates as shown in my mail below. For this XSL templates how can I add this for loop?

Thanks

-Mani
At Tuesday, 8 October 2002, you wrote:


This is very easy:

<xsl:for-each select="//SNIPPET">
<xsl:value-of select="."/><br/>
</xsl:for-each>

Michael Kay
Software AG
home: Michael(_dot_)H(_dot_)Kay(_at_)ntlworld(_dot_)com
work: Michael(_dot_)Kay(_at_)softwareag(_dot_)com

-----Original Message-----
From: owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com [mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com] On Behalf Of Mani Malarvannan
Sent: 08 October 2002 15:38
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] XSL nested tag (new question)


Hi,
Thanks for helping me in my nested-tag question yesterday. Now I need to make simple adjustment in my output.

I've following XML
<snippet>
<p>
<SNIPPET>This is test 1 snip.</SNIPPET>
</p>
<p>
<SNIPPET> <Hit>Auto</Hit> Test 2 snip </SNIPPET>
</p>
<p>
<SNIPPET>test 3 snip/SNIPPET>
</p>
<p>
<SNIPPET>test 4 snip <Hit>Auto</Hit> test 5 snip </SNIPPET> </p> <p> <SNIPPET>test 6 snip <Hit>Auto</Hit> test 7 snip <Hit>Auto</Hit> test 8 snip </SNIPPET>
</p>

</snippet>

For the above XML I need the output to be
This is test 1 snip.
Auto Test 2 snip
test 3 snip
test 4 snip Auto test 5 snip
test 6 snip Auto test 7 snip Auto test 8 snip

Basically the text under each SNIPPET tag must come in a new line.

As per XSL-List members advise I'm using following XSL to put the text under SNIPPET and Hit in a line. But the XSL puts everything in one line instead of putting it in a new line. I think I need a way to
check the beginning and end of SNIPPET tag in the followig XSL.

<xsl:template name="snippet" match="snippet/p/SNIPPET/text()" >
      <xsl:if test="//parameter[(_at_)name='SNIPPET']">
        <xsl:if test="position() &lt; $numsnippets">
         <xsl:value-of select="." />
        </xsl:if>
      </xsl:if>
</xsl:template>

<xsl:template name="hit" match="snippet/p/SNIPPET/Hit">
    <xsl:if test="//parameter[(_at_)name='SNIPPET']">
      <xsl:if test="position() &lt; $numsnippets">
<span name="SearchTerm" class="SearchTerm"> <xsl:value-of select="." /> </span>
      </xsl:if>
    </xsl:if>

Thanks for all the help

-Mani







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


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










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




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