Next in thread →
Next in month →
Re: [xml-dev] XSLT Stylesheet test for special character
Hello,
( 4 ) <xsl:value-of select="ns:strong"/>
does not do anything, except dumping the text content of ns:strong into the output. If you want to use that value, you have to set a variable with that, like :
<xsl:variable name="value" select="ns:strong/text()"/>
Try that with a XSLT debugger, see what you have in that variable, and then you can try something like :
<xsl:when test="contains($value, 'Firstname:')">
Be aware that if you do text() when current node is <ns:p> (you previously did <xsl:for-each select="/ns:html/ns:body/ns:div[@id='content']/ns:p">), you obtain the concatenation of recursively applying text() on all the children node of <ns:p> so you will have white spaces, content of markup <a>, etc...
Use a debugger ! (Oxygen has a great one)
Regards
Nico
http://debeissat.nicolas.free.fr/
( 4 ) <xsl:value-of select="ns:strong"/>
does not do anything, except dumping the text content of ns:strong into the output. If you want to use that value, you have to set a variable with that, like :
<xsl:variable name="value" select="ns:strong/text()"/>
Try that with a XSLT debugger, see what you have in that variable, and then you can try something like :
<xsl:when test="contains($value, 'Firstname:')">
Be aware that if you do text() when current node is <ns:p> (you previously did <xsl:for-each select="/ns:html/ns:body/ns:div[@id='content']/ns:p">), you obtain the concatenation of recursively applying text() on all the children node of <ns:p> so you will have white spaces, content of markup <a>, etc...
Use a debugger ! (Oxygen has a great one)
Regards
Nico
http://debeissat.nicolas.free.fr/
2009/1/22 Jack Bush <[email protected]>
Hi Bjoern,
Neither did string(.) = 'Firstname:' or text() = 'Firstname:' work hence it branched to the otherwise option instead.
Thanks for trying anyway,
Jack
From: Bjoern Hoehrmann <[email protected]>
To: Jack Bush <[email protected]>
Cc: [email protected]
Sent: Wednesday, 21 January, 2009 1:31:09 PM
Subject: Re: [xml-dev] XSLT Stylesheet test for special character
* Jack Bush wrote:
><strong>Firstname:</strong>
>( 4 ) <xsl:value-of select="ns:strong"/>
>( 5 ) <xsl:choose>
>( 6 ) <xsl:when test="Firstname:">
>The error message has something like: Invalid QName on line 6 of stylesheet......
Your test looks for a <Firstname:> child element, which cannot exist.
You have to compare the string value of the strong element to the string
'Firstname:', e.g. using
string(.) = 'Firstname:'
or
text() = 'Firstname:'
http://www.w3.org/TR/xslt#section-Conditional-Processing-with-xsl:choose
http://www.w3.org/TR/xslt#dt-expression
http://www.w3.org/TR/xpath#NT-Expr
http://www.w3.org/TR/xpath#node-tests
--
Björn Höhrmann · mailto:[email protected] · http://bjoern.hoehrmann.de
Am Badedeich 7 · Telefon: +49(0)160/4415681 · http://www.bjoernsworld.de
25899 Dagebüll · PGP Pub. KeyID: 0xA4357E78 · http://www.websitedev.de/
_______________________________________________________________________
XML-DEV is a publicly archived, unmoderated list hosted by OASIS
to support XML implementation and development. To minimize
spam in the archives, you must subscribe before posting.
[Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
Or unsubscribe: [email protected]
subscribe: [email protected]
List archive: http://lists.xml.org/archives/xml-dev/
List Guidelines: http://www.oasis-open.org/maillists/guidelines.php
Next in thread →
Next in month →