xsl-list
[Top] [All Lists]

Re: [xsl] Including markup in a replace string

2016-10-06 08:32:33
Yes if you can use analyze-string:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
version="2.0">
  <xsl:output method="xml" encoding="UTF-8"/>
  <xsl:template match="/">
    <body>
      <xsl:analyze-string select="'my text has {{ many curly }} braces
lots more {{ than }}  I expected'" regex="{'\{\{|\}\}'}">
        <xsl:matching-substring>
          <span class="noProcess">
            <xsl:value-of select="."/>
          </span>
        </xsl:matching-substring>
        <xsl:non-matching-substring>
          <xsl:value-of select="."/>
        </xsl:non-matching-substring>
      </xsl:analyze-string>
    </body>
  </xsl:template>
</xsl:stylesheet>

outputs


<body>my text has
  <span class="noProcess">{{</span> many curly
  <span class="noProcess">}}</span> braces lots more
  <span class="noProcess">{{</span> than
  <span class="noProcess">}}</span> I expected
</body>


Heiko


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(.,'(\{\{|\}\})','&lt;span
class=&quot;noProcess&quot;&gt;$1&lt;/span&gt;')"/>

  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?

  I've tried entering the actual characters - doesn't work. I've tried
escaping the characters with backslashes - doesn't work either.

  So unless there's a way to trick replace I'll have to try analyze-string
and see if I can get what I need there.

Thanks,
  Craig

Here's 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: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
--~--

<Prev in Thread] Current Thread [Next in Thread>