Author: antonio Date: Tue May 3 18:10:29 2005 New Revision: 168036 URL: http://svn.apache.org/viewcvs?rev=168036&view=rev Log: Revert use regexp for checking valid XSLT parameter names
Modified: cocoon/trunk/src/java/org/apache/cocoon/transformation/TraxTransformer.java Modified: cocoon/trunk/src/java/org/apache/cocoon/transformation/TraxTransformer.java URL: http://svn.apache.org/viewcvs/cocoon/trunk/src/java/org/apache/cocoon/transformation/TraxTransformer.java?rev=168036&r1=168035&r2=168036&view=diff ============================================================================== --- cocoon/trunk/src/java/org/apache/cocoon/transformation/TraxTransformer.java (original) +++ cocoon/trunk/src/java/org/apache/cocoon/transformation/TraxTransformer.java Tue May 3 18:10:29 2005 @@ -55,7 +55,6 @@ import org.apache.excalibur.source.SourceValidity; import org.apache.excalibur.xml.xslt.XSLTProcessor; import org.apache.excalibur.xml.xslt.XSLTProcessorException; -import org.apache.regexp.RE; import org.xml.sax.SAXException; @@ -200,9 +199,6 @@ /** Exception that might occur during setConsumer */ private SAXException exceptionDuringSetConsumer; - /** Check if an expression is a valid XSLT Parameter Name **/ - private static final RE reValidXSLTParameterName = new RE("^[\\w][\\w\\d\\.-]*"); - /** * Configure this transformer. */ @@ -490,7 +486,25 @@ * Test if the name is a valid parameter name for XSLT */ static boolean isValidXSLTParameterName(String name) { - return reValidXSLTParameterName.match(name); + if (name.length() == 0) { + return false; + } + + char c = name.charAt(0); + if (!(Character.isLetter(c) || c == '_')) { + return false; + } + + for (int i = name.length()-1; i > 1; i--) { + c = name.charAt(i); + if (!(Character.isLetterOrDigit(c) || + c == '-' || + c == '_' || + c == '.')) { + return false; + } + } + return true; } /**