This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: testing element's contents


Couldn't you just count the number of child nodes (including text()) and
then test for img/a?

something like:

<xsl:choose>
  <xsl:when test="count(child::node()) = 1 and (child::img or
child::a)">
    <xsl:copy-of select="child::*"/>
  </xsl:when>
  <xsl:otherwise>
    <xsl:copy-of select="."/>
  </xsl:otherwise>
</xsl:choose>

cheers
andrew 

> -----Original Message-----
> From: Nathan Shaw [mailto:n8_shaw@yahoo.com]
> Sent: 03 October 2002 16:08
> To: XSL-List@lists.mulberrytech.com
> Subject: [xsl] testing element's contents
> 
> 
> hi all,
> 
> Thanks to everyone who gave me advice on my previous
> post about images and captions. Now, I have another
> tricky lil' xslt problem. If a paragraph element
> contains ONLY a media element OR a media element
> surrounded by a link element and nothing more (read,
> no other nodes, be they text or not), such as:
> 
> <p><img
> src="http://www.mylocal.gov/images/nasausa.gif";
> height="255" width="432"/></p>
> 
> I need to strip the p tags out of resulting output.
> 
> However, if it does contain other nodes, such as:
> 
> <p><img
> src="http://www.mylocal.gov/images/nasausa.gif";
> height="255" width="432"/>This is my news release. The
> authors will be typing the news release content in
> here! I am not sure what this news release is even
> about, but lets see how it comes out in XML, shall we?
> As I see it coming out as:</p>
> 
> I need to leave it alone.
> 
> Here is what I have so far. It only looks to see if a
> media element or a media element wrapped by a link
> element exists, but does not consider if there is a
> text node after a media or link element.
> 
> <xsl:template match="p">
> <xsl:choose>
> 	<xsl:when test="((descendant::*[1])[self::Link] and
> (descendant::*[2])[self::Media]) or
> (descendant::*[1])[self::Media]"><xsl:apply-templates
> /></xsl:when>
> 	<xsl:otherwise><p><xsl:apply-templates
> /></p></xsl:otherwise>
> </xsl:choose>
> </xsl:template>
> 
> Thoughts? Ideas? Criticisms?
> 
> --nate
> 
> 
> 
> __________________________________________________
> Do you Yahoo!?
> New DSL Internet Access from SBC & Yahoo!
> http://sbc.yahoo.com
> 
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
> 
> 
> 
> ---
> Incoming mail is certified Virus Free.
> Checked by AVG anti-virus system (http://www.grisoft.com).
> Version: 6.0.393 / Virus Database: 223 - Release Date: 30/09/2002
>  
> 

---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.393 / Virus Database: 223 - Release Date: 30/09/2002
 

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]