Subject: Re: [xsl] testing element's contents From: Nathan Shaw <n8_shaw@xxxxxxxxx> Date: Thu, 3 Oct 2002 09:27:01 -0700 (PDT) |
Excellent Joerg! The only place this would not work is if I have a paragraph element with only a Link element in it, such as: <p><Link href="blah.html">This is a link</Link></p> I need those to pass through the test and be wrapped in a p tag. Otherwise, it catches everything else I need! Thank you! That gives me great direction... --nate --- Joerg Heinicke <joerg.heinicke@xxxxxx> wrote: > <xsl:when test="descendant::node()[not(self::Link or > self::Media)]"> > <p><xsl:apply-templates/></p> > </xsl:when> > > If there is any descendant node (including elements, > comments, PIs, > text), which is not element Link or element Media, > create <p> in output > tree. > > Regards, > > Joerg > > Nathan Shaw wrote: > > 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 > > > > > > > XSL-List info and archive: > http://www.mulberrytech.com/xsl/xsl-list > __________________________________________________ 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
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] testing element's content, Joerg Heinicke | Thread | Re: [xsl] testing element's content, Joerg Heinicke |
Re: [xsl] testing element's content, David Carlisle | Date | Re: [xsl] testing element's content, Joerg Heinicke |
Month |