[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Unexpected MSXML Javascript extension results
On 19.01.2017 22:23, C. Edward Porter cep@xxxxxxx wrote:
Hello all, It seems you simply want to do a string replacement so I wonder why you need the exec method and can't simply use the replace methods on strings e.g. function wrapGreek(str) { return str.replace(/[N1-O N-N)]+/g, function(m) { return '<span class="nosmallcaps">' + m + '<\/span>'}); } A full stylesheet is <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:mf="http://example.com/mf" xmlns:ms="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="mf ms" version="1.0"> <ms:script language="JScript" implements-prefix="mf"> <![CDATA[ function wrapGreek(str) { return str.replace(/[N1-O N-N)]+/g, function(m) { return '<span class="nosmallcaps">' + m + '<\/span>'}); } ]]> </ms:script> <xsl:template match="@* | node()"> <xsl:copy> <xsl:apply-templates select="@* | node()"/> </xsl:copy> </xsl:template> <xsl:template match="text()" priority="20"> <xsl:value-of disable-output-escaping="yes" select="mf:wrapGreek(string())"/> </xsl:template> </xsl:stylesheet> I have tested it on oXygen with MSXML 3 and the two .NET implementations offered there to support the ms:script element and the input <?xml version="1.0" encoding="UTF-8"?> <root> <title cid="pttFA" id="GUID-04193AE6-05B6-44C1-AB2A-E8A900F93CE3">DESN1CRIPN1TION</title> <title cid="1IMidE" id="GUID-D279E612-1350-4709-B662-8FFEF76CD0C0">InfrN1ared AbsoN1rption, <i cid="2KvZ79">Spectrophotometric Identification Tests, Appendix IIIC</i></title> </root> is transformed into <root> <title cid="pttFA" id="GUID-04193AE6-05B6-44C1-AB2A-E8A900F93CE3">DES<span class="nosmallcaps">N1</span>CRIP<span class="nosmallcaps">N1</span>TION</title> <title cid="1IMidE" id="GUID-D279E612-1350-4709-B662-8FFEF76CD0C0">Infr<span class="nosmallcaps">N1</span>ared Abso<span class="nosmallcaps">N1</span>rption, <i cid="2KvZ79">Spectrophotometric Identification Tests, Appendix IIIC</i></title> </root>
|
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
|