Subject: RE: [xsl] Preceding comment() match From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Fri, 22 Dec 2006 00:09:27 -0000 |
Just google for XSLT replace newline with <br> element or try http://www.biglist.com/lists/xsl-list/archives/200103/msg00184.html Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: Karl Stubsjoen [mailto:kstubs@xxxxxxxxx] > Sent: 21 December 2006 23:56 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: Re: [xsl] Preceding comment() match > > 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(normali > ze-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 > > > > ==================================================================== > > > ==
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Preceding comment() match, David Carlisle | Thread | [xsl] FOP sum, Dave Dran |
Re: [xsl] Preceding comment() match, David Carlisle | Date | [xsl] FOP sum, Dave Dran |
Month |