[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Including markup in a replace string
Using disable-output-escaping is always a bad idea unless there are very good reasons indeed, which isn't the case here. The reason is that it only works if your transformation is immediately followed by serialization, and that immediately reduces the flexibility and reusability of your XSLT code. Transformations rarely happen in isolation, they are usually executed as part of a pipeline, and constructing a pipeline immediately becomes more difficult if you have to serialize the output of one step and the re-parse it as input to the next. It can look like a tempting short-cut, but you (or your successors) will regret it. Michael Kay Saxonica > On 7 Oct 2016, at 05:40, Vishnu vishnu@xxxxxxxxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > > Hi Craig, > > I think we should use "disable-output-escaping="yes"" here. > > Below is the code for expected output. > > <xsl:value-of select="replace($pattern,'(\{\{|\}\})','<span class="noProcess">$1</span>')" disable-output-escaping="yes"/> > > > Regards, > Vishnu > > From: Craig Sampson craig.sampson@xxxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> > Sent: Thursday, October 6, 2016 6:40 PM > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: Including markup in a replace string > > Hi All, > I have code examples in some doc that are post processed in AngularJS. In some cases the code examples include {{ or }} which is significant to Angular. I have a simple replace that I am using to wrap a no-process span around the curly braces so the Angular process will ignore them. > > <xsl:value-of select="replace(.,'(\{\{|\}\})','<span class="noProcess">$1</span>')"/> > > The only problem is that the character entity is being output as a character entity instead of less-than and greater-than characters. > > Is there a way to trick replace into outputting the less-than and greater-than characters? > > Ive tried entering the actual characters doesnt work. Ive tried escaping the characters with backslashes doesnt work either. > > So unless theres a way to trick replace Ill have to try analyze-string and see if I can get what I need there. > > Thanks, > Craig > > Heres an example of what I need: > > <span class="noProcess">{{</span>This variable<span class="noProcess">}}</span> > > > XSL-List info and archive <http://www.mulberrytech.com/xsl/xsl-list> > EasyUnsubscribe <x-msg://179/-list/778978> (by email <applewebdata://AAC29083-3BB7-4D94-B8C2-47B7734FD943>) > "This e-mail and any attachments transmitted with it are for the sole use of the intended recipient(s) and may contain confidential , proprietary or privileged information. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message. Any unauthorized review, use, disclosure, dissemination, forwarding, printing or copying of this e-mail or any action taken in reliance on this e-mail is strictly prohibited and may be unlawful." > XSL-List info and archive <http://www.mulberrytech.com/xsl/xsl-list> > EasyUnsubscribe <-list/293509> (by email <>)
|
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
|