[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: XSLT test condition

Subject: Re: XSLT test condition
From: Senthilukvelaan <skumaravelan@xxxxxxxxxxxxxx>
Date: Mon, 2 Mar 2009 15:12:14 -0800
Re:  XSLT test condition
I use the below XSLT and When I content-type has the same value in
text/html and it goes to the
otherwise condition.  I am not sure how do I escape the "/" during the test.
Any pointers would be helpful.
Thanks,
Sen
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
	<xsl:variable name="HTML" select="text/html" />
	<xsl:variable name="TEXT" select="text/plain" />

	<xsl:template match="/">
		<html>
			<body>
				<table>
					<xsl:apply-templates />
				</table>
			</body>
		</html>
	</xsl:template>

	<xsl:template match="node()">
	 <xsl:if test="normalize-space(node())">
		<tr>
			<td><xsl:value-of select="name(.)" /></td>
			<td>
			<xsl:variable name="content_type"
select="normalize-space(preceding-sibling::Content-type[2])"/>
				<xsl:value-of select="$content_type"/>
			<xsl:choose>
				<xsl:when test="$content_type=$HTML" >
				<xsl:value-of select="text()" disable-output-escaping="yes"/>
				</xsl:when>
				<xsl:otherwise>
				 <xsl:value-of select="text()"/>
				</xsl:otherwise>
			</xsl:choose>
			</td>
		</tr>
			<xsl:apply-templates/>
	 </xsl:if>
	</xsl:template>

</xsl:stylesheet>

On Mon, Mar 2, 2009 at 2:53 PM, David Carlisle <davidc@xxxxxxxxx> wrote:
>
>
> you haven't said what your problem was, or shown the code causing the
> problem.
> The test you posted should be Ok (if your processor supports d-o-e) if
> the variable HTML is set to the string 'text/html', or of course you
> could use this string directly. You don't need a variable here, but
> perhaps you use the same string in several places?
>
>
> Of course it's almost always the wrong thing to do to use d-o-e (but for
> copying fragmenst of html, it's perhaps forgivable)
>
>
> Apart from yur question about the test, matching on node() will produce
> a very strange result structure.
>
> on an element you produce a table row, and then apply templates to the
> element's children, which will be a text node typically which will also
> match the template and produce a row with two empty td, the fist td empty
> as a text node has "" for name() and the second td empty as a text node
> has no text node children so select="text() is empty.
>
>
>
> David
>
> ________________________________________________________________________
> The Numerical Algorithms Group Ltd is a company registered in England
> and Wales with company number 1249803. The registered office is:
> Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.
>
> This e-mail has been scanned for all viruses by Star. The service is
> powered by MessageLabs.
> ________________________________________________________________________

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.