[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: How can I do a string substitution for turning ent
I'll give this a try today. I know that the output is not ideal, but its coming from an application that allows for the freeform entry of html codes, then through JAXB which is just not fun when it comes to working with a layout that can change. Thanks for the help. -----Original Message----- From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of Jim Hart Sent: Wednesday, April 16, 2003 8:29 AM To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: Re: How can I do a string substitution for turning entities into html tags On Tuesday, April 15, 2003, at 05:37 PM, Bill Chmura wrote: > > > Here is an example of my xml data > > <text> > <p>Sometext here. Followed by more text</p> > <p>More text.</p> > <li>For more info see </li> > </text> > > This turns the tags into elements so you can do other things with them if you want to. Note that the elements must have open and close tags. <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="/"> <xsl:apply-templates select="*"/> </xsl:template> <xsl:template match="text"> <xsl:call-template name="makeElements"> <xsl:with-param name="string"><xsl:value-of select="text()"/> </xsl:with-param> </xsl:call-template> </xsl:template> <xsl:template name="makeElements"> <xsl:param name="string"/> <xsl:choose> <xsl:when test="contains($string,'<')"> <xsl:value-of select="substring-before($string,'<')"/> <xsl:call-template name="makeElement"> <xsl:with-param name="string"> <xsl:value-of select="substring-after($string,'<')"/> </xsl:with-param> </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:value-of select="$string"/> </xsl:otherwise> </xsl:choose> </xsl:template> <xsl:template name="makeElement"> <xsl:param name="string"/> <xsl:element name="{substring-before($string,'>')}"> <xsl:value-of select="substring-before(substring-after($string,'>'),'<')"/> </xsl:element> <xsl:call-template name="makeElements"> <xsl:with-param name="string"> <xsl:value-of select="substring-after(substring-after($string,'>'),'>')"/> </xsl:with-param> </xsl:call-template> </xsl:template> </xsl:stylesheet> Jim Hart, Project Manager Academic Technology Services Library and Information Services Bates College Lewiston, Maine, USA XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list 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
|