Subject: Re: [xsl] Returning HTML tags from a function not working From: Agnisys <agnisys@xxxxxxxxx> Date: Thu, 2 Feb 2006 06:42:14 -0800 (PST) |
Hi David, I guess I have caused more confusion by showing my code! All I want to do is output any tags inside the "doc" as they are, and replace newlines with <br /> So input is : <doc> This is a <b>Test</b> Message. </doc> ---------------- Output should be : This is a <b>Test</b><br /> Message. ---------------- I understand now that in my code when I pass the "doc" node to my function, it doesn't even see the <b> tags. Any pointers would be appreciated. Thanks, Anupam. --- David Carlisle <davidc@xxxxxxxxx> wrote: > > what are you passing as the input to this function? > > your parameter is called docnode, but you can not be passing teh > document node as it is typed as element()* and document nodes are > necessarily not elements. > > If $docnode is empty, you return nothing, and if it is non empty > you pass it to xsl:analyze-string whic as it's name implies expects a > string as its select expression not a sequence of elements. > > So if you have nore than one element in $docnode you will get an error > and if there is just one element in $docnode you will analyze teh string > value of that element (ie just take all the character data, ignoring any > elements). > > Note that XSLT has _no_ access to the tags in an input document, they > are all resolved by an XML parser before XSLT starts. > > I suspect you want to start with an identity transform then add a > template > > <xsl:template match="text()"> > <xsl:analyze-string select="." regex="\n"> > <xsl:matching-substring><br /></xsl:matching-substring> > <xsl:non-matching-substring> > <xsl:value-of select="normalize-space(.)"/> > </xsl:non-matching-substring> > </xsl:analyze-string> > </xsl:template> > > David > > ________________________________________________________________________ > This e-mail has been scanned for all viruses by Star. The > service is powered by MessageLabs. For more information on a proactive > anti-virus service working around the clock, around the globe, visit: > http://www.star.net.uk > ________________________________________________________________________ > > __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Adding tag to branch base, Bijo Alex Thomas | Thread | Re: [xsl] Returning HTML tags from , David Carlisle |
Re: [xsl] Re: Language-specific out, David Carlisle | Date | Re: [xsl] Abstracting XSLT to gener, Jon Gorman |
Month |