[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
[Recent Entries]
[Reply To This Message]
Re: Preceding comment() match
Subject: Re: Preceding comment() match
From: "Karl Stubsjoen" <kstubs@xxxxxxxxx>
Date: Thu, 21 Dec 2006 16:55:42 -0700
|
I probably shouldn't go here...
so, now that I am self-documenting these comments, I'd like to create
line breaks for the web, where line break occur naturally in my
comments, so:
<!--
these are comments
with line breaks
should output to browser with
these line breaks.
-->
Currently, this:
<xsl:value-of select="preceding-sibling::node()[not(self::text()[not(normalize-space())])][1][self::comment()]"/>
Produces no line breaks. If I include <br/>(s) in the above comments
and add disable-output-escaping="yes" to my value-of... I get the line
breaks, but who wants to add these "unnatural" html elements to these
comments!
Any hints?
On 12/21/06, Karl Stubsjoen <kstubs@xxxxxxxxx> wrote:
Working perfect ; )
Nothing like self-documenting XSL Docs!
Karl..
On 12/21/06, Wendell Piez <wapiez@xxxxxxxxxxxxxxxx> wrote:
> Karl,
>
> Please double check your code. I would expect "every preceding
> element's first comment tag" to be
> "preceding-sibling::*/comment()[1]" (note extra step). The expression
> you provided us, "preceding-sibling::comment()[1]", would select the
> first preceding (sibling) comment.
>
> If you want the first preceding node, but only if it's a comment, that would be
>
> preceding-sibling::node()[1][self::comment()]
>
> but note that whitespace-only text nodes can impede that.
>
> Working around those would be
>
> preceding-sibling::node()[not(self::text()[not(normalize-space()])]
> [1][self::comment()]"
>
> ... which I know is a monster, but there you have it.
>
> Cheers,
> Wendell
>
> At 04:53 PM 12/21/2006, you wrote:
> >I need to match the first comment() preceding the current context.
> >
> >So from:
> >
> ><!--
> >this is the comments, first preceding
> >-->
> ><xsl:template name="example">
> >
> ></xs:template>
> >
> >
> >Assuming that this xpath should work:
> ><xsl:value-of select="preceding-sibling::comment()[1]"/>
> >
> >But instead, I am matching on every preceding elements first comment
> >tag. I just need "your" comment tag, and if you don't have one, then
> >nevermind.
> >
> >Please help.
> >
> >Karl..
>
>
> ======================================================================
> 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
> ======================================================================
|
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
RSS 2.0 |
|
Atom 0.3 |
|
|