[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Unexpected MSXML Javascript extension results
Hello all, We have an XSL transformation that runs using some form of MSXML for the actual transformation. Given that MSXML is XSL 1.0, I am trying to code around the fact that it lacks regular expression functions by writing a JavaScript extension function to match Greek characters and wrap them in a span to avoid them being wrongly transformed to capital letters by smallcap treatment on the text around it. The JavaScript function I wrote appears to work fine if I run it locally, but when run as part of the XSL, it's not recursing properly. I don't have much of a way to debug this, so I'm hoping perhaps someone can either recognize why I'm getting inconsistent recursion, or perhaps suggest an alternative approach. Code/sample text below: JavaScript Function: <msxsl:script language="javascript" implements-prefix="uspc"><![CDATA[ //Recursive function to wrap greek characters in nosmallcaps span function wrapGreek(str){ var regex = /(.*)([N1-O N-N)])(.*)/g; var m = regex.exec(str); var rStr = ""; if(m != null){ rStr = wrapGreek(m[1]); } else { rStr = str; } if(m != null) { rStr += '<span class="nosmallcaps">' + m[2] + '</span>' + m[3]; } return "" + rStr; } ]]></msxsl:script> Text template: <xsl:template match="text()" priority="20"> <xsl:variable name="textout"> <xsl:value-of select="."/> </xsl:variable> <xsl:value-of disable-output-escaping="yes" select="uspc:wrapGreek($textout)"/> </xsl:template> Sample Content: This head composed correctly: <title cid="pttFA" id="GUID-04193AE6-05B6-44C1-AB2A-E8A900F93CE3">DESN1CRIPN1TION</title> For this one, only the second alpha symbol was wrapped, so it did not recurse. Copying this text to a JavaScript interpreter and running the function on it in isolation does appear to recurse correctly. <title cid="1IMidE" id="GUID-D279E612-1350-4709-B662-8FFEF76CD0C0">InfrN1ared AbsoN1rption, <i cid="2KvZ79">Spectrophotometric Identification Tests, Appendix IIIC</i></title> Thanks in advance! -Edward
|
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
|