xsl-list
[Top] [All Lists]

Re: XPath question.

2003-05-06 19:32:50
      I have a problem, and no doubt the answer is simple...

      I have the following XSLT snippet:

<xsl:if test="starts-with(//title, 'Q') or starts-with(//episode, 'Q')">
      <xsl:call-template name="inserted.text"/>
</xsl:if>     

      The document structure it applies to is like so:

      <encyclopedia>
              <entry>
                      <title>A Title</title> -or- <episode>An episode 
name.</episode>
              </entry>
      </encyclopedia>

      The <xsl:if/> referenced above happens at the <encyclopedia/> level.

      I just want to call the template "inserted.text" if the title or 
episode 
do not start with the letter 'Q'.

if it does *not* start with the letter Q? So you want to negate the
test="" like: "not(starts-with(//title, 'Q') or starts-with(//episode,
'Q'))"

      As it is, I can't get the inserted.text to appear...no matter what I 
do. 
Am I walking down the node tree incorrectly?
That depends on what you are going for, if the fragement is always going
to look like what you posted, you might want to do:

<xsl:if test="not(starts-with(entry/title, 'Q') or
starts-with(entry/episode, 'Q'))">


+=== full sheet that will run with your sample

<?xml version="1.0" encoding="utf-8"?>
<!--
        Author: 
        File: 
        Date: 
        Purpose: 
-->
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
        <xsl:output method="xml" indent="yes" encoding="UTF-8"/>
        <xsl:template match="/">
                <xsl:if test="not(starts-with(//title, 'Q') or 
starts-with(//episode,
'Q'))">
                        <xsl:call-template name="inserted.text"/>
                </xsl:if>
        </xsl:template>
        <xsl:template name="inserted.text">
                <xsl:value-of select="." />
        </xsl:template>
</xsl:stylesheet>

-- 
    _/  _/_/    _/_/_/
   _/_/   _/ _/     _/
  _/               _/
 _/             _/
_/          _/_/_/_/
http://treebeard.sourceforge.net
http://ashpool.sourceforge.net


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



<Prev in Thread] Current Thread [Next in Thread>