[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: hoe to use "(" within a variable
>>>>> "Jeni" == Jeni Tennison <jeni@xxxxxxxxxxxxxxxx> writes: Jeni> use single quotes, as follows: Jeni> <xsl:variable name="entering_log" Jeni> select=''sprintf(log_str, "\n%s: %d: %s: %s", __FILE__, Jeni> __LINE__, fn, "Entering"); log_func();'' /> Jeni> or you could use double quotes and escape the double quotes Jeni> in the attribute value, as follows: Jeni> <xsl:variable name="entering_log" select="'sprintf(log_str, Jeni> "\n%s: %d: %s: %s", __FILE__, __LINE__, fn, Jeni> "Entering"); log_func();'" /> Also, it's almost always a bad idea to generate code in some language *directly* from XSLT: you will always have to escape things, and as a result, XSLT code will not look very readable. Instead, you may represent output as a [subset of] target language grammar, like this: <stmtseq> <stmt> <funcall> <name>sprintf</name> <arglist> <arg type="ident">log_str</arg> <arg type="string">\n%s: %d: %s: %s</arg> <arg type="ident">__FILE__</arg> <arg type="ident">__LINE__</arg> <arg type="ident">fn</arg> <arg type="string">Entering</arg> </arglist> </funcall> </stmt> <stmt> <funcall> <name>log_func</name> <void /> </funcall> </stmt> </stmtseq> and allow simple external processor to serialize resulting XML to actual C code. -- SM Groznyh "Under the wide and heavy VAX gsm@xxxxxx Dig my grave and let me relax..." 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
|