Subject: Re: [xsl] hoe to use "(" within a variable From: Sergey Groznyh <gsm@xxxxxx> Date: Tue, 13 Aug 2002 11:18:54 +0400 |
>>>>> "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
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] hoe to use "(" within a v, Jeni Tennison | Thread | RE: [xsl] hoe to use "(" within a v, Stuart Brown |
Re: Scope of XSL-List {was: Re: [xs, sascha | Date | RE: [xsl] how to reassign a variabl, Yates, Danny (ANTS) |
Month |