Thanks Michael,
Once I use the <xsl:apply-templates> to a particular node in the
document (like <section> you have mentioned below), is it possible to
revert back to the earlier situation before applying
<xsl:apply-templates> ?
What I understand by using <xsl:apply-template> means filtering the
nodes in XML document four output?
Regards.
-----Original Message-----
From: Michael Kay [mailto:mike(_at_)saxonica(_dot_)com]
Sent: Wednesday, August 01, 2007 1:33 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: RE: [xsl] Output as per the filter is missing
In XSLT 1.0, if you do <xsl:value-of select="xxx"> and xxx selects more
than one node, only the first node in the set is output. To iterate over
several nodes, use xsl:for-each or (better) xsl:apply-templates.
You are doing <xsl:for-each select="section">, but that's rather
pointless because there is only one section.
At this stage of the game, it's much better to get into the habit of
using apply-templates. Write a template rule for each element saying
what you want done with it, for example
<xsl:template match="para">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="section">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="message[(_at_)priority='warn']">
<p><xsl:value-of select="."/></p>
</xsl:template>
<xsl:template match="message[(_at_)priority='info']">
<xsl:comment><xsl:value-of select="."/></xsl:comment> </xsl:template>
Michael Kay
http://www.saxonica.com/
-----Original Message-----
From: Sharma, Jaikumar [mailto:jaikumar(_dot_)sharma(_at_)barco(_dot_)com]
Sent: 01 August 2007 08:44
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Output as per the filter is missing
Hi All,
I have the following XML document and XSL stylesheet.
Problem : When I try to render the XML document in HTML using browser.
It gives me the following output, but does not list all the warning
messages as per the filter in XSL stylesheet, it only list the first
warning message.
Output :
___________________________
Test Page
warn message 1
____________________________
XML document :
__________________________________________________________
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="test.xsl"?> <docroot>
<mydocument>
<para>
<section>
<message priority="warn">warn message 1</message>
<message priority="warn">warn message 2</message>
<message priority="info">info message 1</message>
<message priority="info">info message 2</message>
<message priority="info">info message 3</message>
</section>
</para>
</mydocument>
</docroot>
__________________________________________________________
XSL stylesheet :
_________________________________________________________
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" indent="yes" />
<xsl:template match="/">
<html>
<head><p><b>Test Page</b></p></head>
<body>
<xsl:apply-templates select="docroot/mydocument/para"/>
</body>
</html>
</xsl:template>
<xsl:template match="*">
<xsl:for-each select="section">
<xsl:value-of select="message[(_at_)priority='warn']"/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
_______________________________________________________
I am Newbie to XSL, does somebody know which step I am missing here ?
Thanks.
DISCLAIMER:
Unless indicated otherwise, the information contained in this message
is privileged and confidential, and is intended only for the use of
the addressee(s) named above and others who have been specifically
authorized to receive it. If you are not the intended recipient, you
are hereby notified that any dissemination, distribution or copying of
this message and/or attachments is strictly prohibited. The company
accepts no liability for any damage caused by any virus transmitted by
this email. Furthermore, the company does not warrant a proper and
complete transmission of this information, nor does it accept
liability for any delays. If you have received this message in error,
please contact the sender and delete the message. Thank you.
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
DISCLAIMER:
Unless indicated otherwise, the information contained in this message is
privileged and confidential, and is intended only for the use of the
addressee(s) named above and others who have been specifically authorized to
receive it. If you are not the intended recipient, you are hereby notified that
any dissemination, distribution or copying of this message and/or attachments
is strictly prohibited. The company accepts no liability for any damage caused
by any virus transmitted by this email. Furthermore, the company does not
warrant a proper and complete transmission of this information, nor does it
accept liability for any delays. If you have received this message in error,
please contact the sender and delete the message. Thank you.
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--