vgritsenko 02/04/06 10:07:29 Modified: src/java/org/apache/cocoon/components/language/markup/xsp XSLTExtension.java Log: allow national characters in the XSP Revision Changes Path 1.2 +24 -3 xml-cocoon2/src/java/org/apache/cocoon/components/language/markup/xsp/XSLTExtension.java Index: XSLTExtension.java =================================================================== RCS file: /home/cvs/xml-cocoon2/src/java/org/apache/cocoon/components/language/markup/xsp/XSLTExtension.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- XSLTExtension.java 8 Mar 2002 04:08:53 -0000 1.1 +++ XSLTExtension.java 6 Apr 2002 18:07:29 -0000 1.2 @@ -55,7 +55,7 @@ * generation stylesheet to escape XML characters to make a valid Java strings. * * @author <a href="mailto:[EMAIL PROTECTED]">Vadim Gritsenko</a> - * @version CVS $Id: XSLTExtension.java,v 1.1 2002/03/08 04:08:53 vgritsenko Exp $ + * @version CVS $Id: XSLTExtension.java,v 1.2 2002/04/06 18:07:29 vgritsenko Exp $ */ public class XSLTExtension { @@ -78,17 +78,38 @@ case '\n': buffer.append("\\n"); break; + case '\b': + buffer.append("\\b"); + break; + case '\f': + buffer.append("\\f"); + break; case '"': case '\\': buffer.append('\\'); - // Fall through - default: buffer.append(chr[i]); break; + default: + if (' ' <= chr[i] && chr[i] <= 127) { + buffer.append(chr[i]); + } else { + buffer.append("\\u"); + buffer.append(int2digit(chr[i] >> 12)); + buffer.append(int2digit(chr[i] >> 8)); + buffer.append(int2digit(chr[i] >> 4)); + buffer.append(int2digit(chr[i])); + } + break; } } return buffer.toString(); + } + + private static char int2digit(int x) { + x &= 0xF; + if (x <= 9) return (char)(x + '0'); + else return (char)(x - 10 + 'A'); } /**
---------------------------------------------------------------------- In case of troubles, e-mail: [EMAIL PROTECTED] To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]