Subject: Re: [xsl] HTML character entity issue From: "Atul Shinh" <atul@xxxxxxxxx> Date: Wed, 24 Dec 2008 11:52:59 +0530 |
Hi, I tried using the method suggested by you but getting the same old error. --------------------------- XSLCmd :WARNING: Error Level : 2 XSLCmd :WARNING: Error Code : 11782 (2E06) XSLCmd :WARNING: Unexpected element: 'br' after 'fo:#text' in 'fo:block'. XSLCmd :WARNING: Line 219, Col 505, /tmp/xif02ee5_7e077883.xml ------------------------- 1 <xsl:template name="fix-br"> 2 <xsl:param name="text" select="''"/> In the 2nd line above I am using "/katalog/produkt/content-tag" for select property instead of ''. I am calling the template "one" (below, step 1 ) which again calls "fix-br" . Hope that is no problem. 1 <xsl:call-template name="one" /> 2 <xsl:template name="one" match="text()" priority="2"> <xsl:call-template name="fix-br"> <xsl:with-param name="text" select="."/> </xsl:call-template> </xsl:template> Regards Atul On Wed, Dec 24, 2008 at 3:39 AM, Michael M|ller-Hillebrand <mmh@xxxxxxxxxxxxx> wrote: > Atul, > > I haven't read the original post, but I guess it would be sufficient to > "repair" the XML during processing. Of course it is always better to get > correct XML in the first place. Also sometimes it is simpler to preprocess > such documents with a different tools to search and replace all > "<br/>" with "<br/>", but nevertheless it is possible with XSL. > > "<br/>" is nothing special for XSL, just simple text. So any "repair" > must go into a template that processes text: > > <xsl:template match="text()" priority="2"> > <xsl:call-template name="fix-br"> > <xsl:with-param name="text" select="."/> > </xsl:call-template> > </xsl:template> > > <xsl:template name="fix-br"> > <xsl:param name="text" select="''"/> > <xsl:variable name="bad-br" select="'<br/>'"/> > <xsl:choose> > <xsl:when test="contains($text, $bad-br)"> > <xsl:value-of select="substring-before($text, $bad-br)"/> > <br/> > <xsl:call-template name="fix-br"> > <xsl:with-param name="text" select="substring-after($text, > $bad-br)"/> > </xsl:call-template> > </xsl:when> > <xsl:otherwise> > <xsl:value-of select="$text"/> > </xsl:otherwise> > </xsl:choose> > </xsl:template> > > This is recursive in case there is more than one "bad-br" in your content. > With XSLT 2.0 it could be written with a function and/or regular > expressions. > > HTH, > > - Michael (who sometimes has to fix bad content as well) > > Am 23.12.2008 um 20:25 schrieb Atul Shinh: > >> Hey thanks Michael and Vasu for replying back. My response got slow on >> this. >> Nothing out of this seems to be working. >> >> I have tried the CDATA and disable-output-escaping="yes". I think I am >> using it in wrong way. Can you elaborate how to use it? I give you >> description of my files. >> >> >> ---------------------------part of index.xml-------------------------- >> >> <katalog> >> <produkt> >> <!-- what a story --> >> <gruppe>Universal-T|rddmpfer VS 2000</gruppe> >> <titel>Das krdftige Topmodell mit verkleidetem Haken</titel> >> <content>My sampla text <br/> DICTATOR-T|rddmpfer bremsen >> zufallende T|ren progressiv, d.h. besonders sanft ab, ziehen sie leise >> ins T|rschlo_ und halten sie sicher geschlossen. >> >> </content> >> </produkt> >> </katalog> >> >> >> -------------------- part of index.xsl -------------------------- >> >> ............. >> ......... >> <fo:table-row> >> <fo:table-cell > >> <fo:block> >> <xsl:value-of select="content" disable-output-escaping="yes" /> >> >> </fo:block> >> </fo:table-cell> >> ............. >> ......... >> <xsl:template match="br" > >> >> <xsl:text><![CDATA[<br />]]></xsl:text> >> </xsl:template> >> --------------------------------------------------------------------- >> >> So I have given a view of my files. >> so the "br" tag is actually <br/> in xml and it is appearing as >> <br / > in output >> Michael i tried by your way also >> Is there any namespace that is neccessary for all this to work ? >> >> >> Thanks and regards >> Atul > > -- > _______________________________________________________________ > Michael M|ller-Hillebrand: Dokumentations-Technologie > Adobe Certified Expert, FrameMaker > Lvsungen und Training, FrameScript, XML/XSL, Unicode > Blog: http://cap-studio.de/ - Tel. +49 (9131) 28747
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] HTML character entity iss, Michael Müller-Hille | Thread | [xsl] Select unique xsl:key, V.Ramkumar |
Re: [xsl] HTML character entity iss, Michael Müller-Hille | Date | [xsl] Select unique xsl:key, V.Ramkumar |
Month |