[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: XSLT stylesheet looping through the same node (recursion?)
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"
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 From: David Carlisle <davidc@n...> To: netbeansfan@y... Cc: xml-dev@l... Sent: Tuesday, 27 January, 2009 12:43:06 AM Subject: Re: XSLT stylesheet looping through the same node (recursion?) It would be much easier to look at your examples if you posted xml rather than a screen scrape of IE (I would guess) view source, which is full of spurious + - and spacing characters that make the result unprocessable. Also your posted stylesheet is not well formed (no closing </area>) so it presumably isn't the stylesheet that produced the posted resut? From your description It may be that you just want <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="/"> <xsl:copy-of select="/ns:html/ns:body/ns:div[@id='content']/ns:p[contains(ns:strong,'Interest:')]"/> </xsl:template> </xsl:stylesheet> which returns all p elements that match the supplied xpath. 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. http://au..rd.yahoo.com/galaxy/mail/tagline2/*http://au.docs.yahoo.com/mail/smarterinbox.
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] |
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|