[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: testing element's contents
Hi Nate,
At 11:08 AM 10/3/2002, you wrote: hi all, Okay. Quibbles: translated into XSL-speak, what you want to do is process the children of p, but not create any node for the p itself. (XSLT doesn't know from 'tags', it knows about nodes, meaning things like elements and attributes.) Also: you seem to be giving us something different from <Media>.... However, if it does contain other nodes, such as: Could your problem be restated fairly as "if there's any text content in the paragraph, I need a paragraph in my output to wrap it, otherwise not"? If so, you could do: <xsl:template match="p"> <xsl:choose> <xsl:when test="normalize-space(.)"> <!-- this tests true if the paragraph has any string value at all after whitespace normalization. This only occurs if the paragraph or any of its descendants has non-whitespace text content --> <p> <xsl:apply-templates/> </p> </xsl:when> <xsl:otherwise> <xsl:apply-templates/> </xsl:otherwise> </xsl:choose> </xsl:template> This could also be expressed as two simpler templates: <xsl:template match="p"> <p> <xsl:apply-templates/> </p> </xsl:template> <xsl:template match="p[not(normalize-space(.))]"> <xsl:apply-templates/> </xsl:template> Here, the first template serves as a default, and the second one fires whenever it matches but not otherwise (it has a higher priority since its match is more complex). If your logic is more complex than what I'm inferring (e.g. if it is actually more dependent on the actual type of nodes you have down there, Media or whatever) you need to do something closer to what you already have. Refine the logic of your requirement and you can refine the code.... Cheers, Wendell 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. ====================================================================== Wendell Piez mailto:wapiez@xxxxxxxxxxxxxxxx Mulberry Technologies, Inc. http://www.mulberrytech.com 17 West Jefferson Street Direct Phone: 301/315-9635 Suite 207 Phone: 301/315-9631 Rockville, MD 20850 Fax: 301/315-8285 ---------------------------------------------------------------------- Mulberry Technologies: A Consultancy Specializing in SGML and XML ====================================================================== XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
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
|