Hi David,
Thanks for your valuable suggestion with the following output:
( 1 ) <p xmlns="http://www.w3.org/1999/xhtml" xmlns:html="http://www.w3.org/1999/xhtml">
( 2 ) <strong>Interest:</strong>
( 3 ) <br clear="none" />
( 4 ) Tennis
( 5 ) </p>
( 6 ) <p xmlns="http://www.w3.org/1999/xhtml" xmlns:html="http://www.w3.org/1999/xhtml">
( 7 ) <strong>Interest:</strong>
( 8 ) <br clear="none" />
( 9 ) Movie
( 10 )</p>
( 11 )<p xmlns="http://www.w3.org/1999/xhtml" xmlns:html="http://www.w3.org/1999/xhtml">
( 12 ) <strong>Interest:</strong>
( 13) <br clear="none" />
( 14) Swimming
( 15 )</p>
( 16 ) >
</area>
( a ) <xsl:stylesheet version="1.0"
( b ) xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
( c ) xmlns:ns="http://www.w3.org/1999/xhtml"
( d ) exclude-result-prefixes="ns">
( e )
( f ) <xsl:template match="/">
( g )<xsl:copy-of
( h )select="/ns:html/ns:body/ns:div[@id='content']/ns:p[contains(ns:strong,'Interest:')]"/>
( i ) </xsl:template>
( j ) </xsl:stylesheet>
This is great except that I would like to achieve the following control over what comes out:
( i ) Only want the values of the current node. ie <interest>Tennis</interest>, <interest>Movie</interest>,<interest>Swimming</interest>. In other word, no lines 1, 2, 3, 5, 6, 7, 8, 10, 11, 12, 13, 15, 16.
( ii ) I am also having difficulty getting another list of element values that comes immediately after the <Interest> element. This may be due to the context node having been changed by when running the above stylesheet.
( iii ) There are other element values that I want to retrieve from the same document, where they are made up of either single value as well as multiples. I will need to some how include the above segment codes into the following current working stylesheet responsible for retrieving other single element value(s), using the current context node where possible:
<xsl:template match="/">
<area>
<xsl:for-each select="/ns:html/ns:body/ns:div[@id='content']/ns:p/ns:strong">
<xsl:if test="contains(.,'Firstname:')">
<xsl:choose>
<xsl:when test="contains(.,'Firstname:')">
<firstname><xsl:value-of select="../ns:a"/></firstname>
</xsl:when>
<xsl:otherwise>
<firstname>Unknown</firstname>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
<xsl:if test="contains(.,'Surname:')">
<xsl:choose>
<xsl:when test="contains(.,'Surname:')">
<surname><xsl:value-of select="../text()"/></surname>
</xsl:when>
<xsl:otherwise>
<surname>Unknown</surname>
</xsl:otherwise>
</xsl:choose>
......
Thanks a lot for your support,
Jack