xsl-list
[Top] [All Lists]

Re: [xsl] Could not select the text() of both parent & child nodes simultaneously

2010-06-18 08:07:49
Hi Steve,

Yes, finally. This is perfect! Being able to reference the sibling node without 
being locked by the node itself.

Below is what I have ended up with:

<xsl:template match="ns:p[ns:strong='World Cup Competition:']">
  <xsl:for-each select="ns:a">
      <team><xsl:value-of 
select="concat(./normalize-space(),./following-sibling::text()[normalize-space()])"/></team>
  </xsl:for-each> 
</xsl:template> 

Thank you very much for getting this right at last. Also very much appreciates 
David Carlisle & Michal Kay for your invaluable guidances.

Jack


----- Original Message ----
From: "steve(_dot_)majewski(_at_)gmail(_dot_)com" 
<steve(_dot_)majewski(_at_)gmail(_dot_)com>
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Sent: Fri, 18 June, 2010 12:53:44 PM
Subject: Re: [xsl] Could not select the text() of both parent & child nodes 
simultaneously


On Jun 17, 2010, at 9:01 PM, Jack Bush wrote:

Hi Steve,

The desire output would be:

  <team>Brasil (30 goals)<team>
  <team>Argentina (25 goals)<team>
  <team>Germany (22 goals)<team>
  <team>USA (15 goals)<team>

Thanks in advance,

Jack




Maybe something like:


    <xsl:template match="/" >
        <xsl:for-each select="/html:html/html:body//html:p/html:a" >
            <team>
                <xsl:value-of select="concat(./text(),' ',./following- 
sibling::text()[1])" />
            </team>
        </xsl:for-each>
    </xsl:template>


( i.e. for each <a>, concatenate the text of a, a space, and the next  
following text node.  )


----- Original Message ----
From: "steve(_dot_)majewski(_at_)gmail(_dot_)com" 
<steve(_dot_)majewski(_at_)gmail(_dot_)com>
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Sent: Fri, 18 June, 2010 12:41:58 AM
Subject: Re: [xsl] Could not select the text() of both parent &  
child nodes simultaneously


On Jun 17, 2010, at 10:23 AM, Jack Bush wrote:

( A )<xsl:template match="ns:p[ns:strong='World Cup Competition:']">
        <xsl:for-each select="text()|ns:a">
          <team><xsl:value-of select="normalize-space()"/></team>
        </xsl:for-each>
      </xsl:template>
  Output
<team>Brasil<team>
<team>(30 goals)<team>
<team>Argentina<team>
<team>(25 goals)<team>
<team>Germany<team>
<team>(22 goals)<team>
<team>USA<team>
<team>(15 goals)<team>

Wnat do you want the output to look like ?



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--





--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--


      


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--