Hi David,
Thank you for responding with such detail and enthusiasm.
Your suggestion make sense but I still encountered some error messages that needed further guidance with.
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:ns="http://www.w3.org/1999/xhtml"
exclude-result-prefixes="ns">
<xsl:template match="/">
<area>
<xsl:for-each test="/ns:html/ns:body/ns:div[@id='content']/ns:p/ns:strong">
<xsl:choose>
<xsl:when test="contains(.,'Firstname:')">
<firstname><xsl:value-of select="."/></firstname>
</xsl:when>
<xsl:otherwise>
<firstname>Unknown</firstname>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>>
</area>
</xsl:template>
</xsl:stylesheet>
XSLT Transformation output returned:
Error at xsl:for-each on line 10 of file:/C:/Documents and Settings/Jack/TestApplications/:
Attribute test is not allowed on this element
Error at xsl:for-each on line 10 of file:/C:/Documents and Settings/Jack/TestApplications/:
Element must have a "select" attribute
Any further suggestion would be appreciated.
Thanks again,
Jack
From: David Carlisle <davidc@nag.co.uk>
To: netbeansfan@yahoo.com.au
Cc: xml-dev@lists.xml.org
Sent: Friday, 23 January, 2009 12:07:45 AM
Subject: Re: [xml-dev] XSLT Stylesheet Exclude Parental Search Results?
<xsl:template match="/">
so the cntext here is the root of the document, ie the parent of the
html element.
<xsl:when test="contains(.,'Firstname:')">
so . here is the whole document and you are taking its string value,
which is all the character data in the document, ignoring all element
markup. So if the file, anywhere contains the string 'Firstname:' and
it also has an element matching
/ns:html/ns:body/ns:div[@id='content']/ns:p/ns:strong"
then you do <xsl:value-of select="."/> which is the string value of teh
whole document.
a) you probably want to as on xsl-list rather than here and b) you want
somthing like
<xsl:for-each test="/ns:html/ns:body/ns:div[@id='content']/ns:p/ns:strong">
<xsl:choose>
<xsl:when test="contains(.,'Firstname:')">
<firstname><xsl:value-of select="."/></firstname>
</xsl:when>
so you are testing the strong element and outputting its content, not
testing the whole document.
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.
________________________________________________________________________
Stay connected to the people that matter most with a smarter inbox. Take a look.