Subject: Re: [xsl] Trouble understanding the Test expression in xsl:if From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx> Date: Wed, 27 May 2009 16:59:40 -0400 |
At 2009-05-27 14:28 -0500, Keith Gilbert wrote:I'm having trouble getting my head around this:
My shortened XML data:
<category> <category_name>apples</category_name> <product>red delicious</product> </category> <category_name>oranges</category_name> <product>sunkist</product> </category>
My simplified XSLT:
<xsl:template match="category"> <xsl:apply=templates/> </xsl:template>
<xsl:template match="category_name"> <xsl:if test="category_name = apples"> <xsl:call-template name=apple_template/> </xsl:if> </xsl:template>
For the life of me I can't figure out how to evaluate the value of "category_name" in the xsl:if line. I understand (I think) how to use xsl:value-of, but that doesn't seem to work inside the xsl:if. Any thoughts?
The content of an element is evaluated as a string from the concatenation of the descendent text nodes, and you incorrectly have:
<xsl:if test="category_name = apples">
... which tests the content of the child named "category_name" with the content of the child named "apples".
You want to compare the content to a string:
<xsl:if test="category_name = 'apples'">
<xsl:template match="category_name[. = 'apples']"> <xsl:call-template name="apple_template"/> </xsl:template>
Cheers, Wendell
====================================================================== Wendell Piez mailto:wapiez@xxxxxxxxxxxxxxxx Mulberry Technologies, Inc. http://www.mulberrytech.com 17 West Jefferson Street Direct Phone: 301/315-9635 Suite 207 Phone: 301/315-9631 Rockville, MD 20850 Fax: 301/315-8285 ---------------------------------------------------------------------- Mulberry Technologies: A Consultancy Specializing in SGML and XML ======================================================================
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Trouble understanding the, G. Ken Holman | Thread | Re: [xsl] Trouble understanding the, Liam Quin |
Re: [xsl] Trouble understanding the, G. Ken Holman | Date | Re: [xsl] HTML to XML, David Carlisle |
Month |