Subject: Re: [xsl] Re: not simple (or simple? :-) xpath matching From: Jeni Tennison <mail@xxxxxxxxxxxxxxxx> Date: Thu, 7 Jun 2001 21:03:35 +0100 |
Hi Daniel, > now, i want to have a default chapter, if given is incorrect and > print a short information, that one asked for non-existent. Sure. In that case finding the chapter that's been requested is very similar to before, using @name rather than @id - you want the part whose @name is equal to the $part parameter and, within that, the chapter whose @name is equal to the $chapter parameter: part[@name = $part]/chapter[@name = $chapter] If you store the result of that expression in a variable, then you have a variable that has an empty node set if there is no such chapter: <xsl:variable name="part-element" select="part[@name = $part]" /> <xsl:variable name="chapter-element" select="$part-element/chapter[@name = $chapter]" /> You can then use xsl:choose/xsl:when to test whether there is such a chapter, and if it isn't then give a bit of explanatory text: <xsl:choose> <xsl:when test="$chapter-element"> <xsl:apply-templates select="$chapter-element" /> </xsl:when> <xsl:otherwise> Sorry, you asked for rather impossible chapter. Here's the first chapter in '<xsl:value-of select="$part" />': <xsl:apply-templates select="$part-element/chapter[1]" /> </xsl:otherwise> </xsl:choose> I hope that helps, Jeni --- Jeni Tennison http://www.jenitennison.com/ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Re: not simple (or simple? :-, Daniel Bauke | Thread | [xsl] position() of a current node, Daniel Bauke |
RE: [xsl] A whitespace question, bu, Nice, Kerry A. (LNG- | Date | [xsl] NIST Tests, Carmelo Montanez |
Month |