You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by zo...@apache.org on 2005/02/09 22:44:08 UTC
cvs commit: xml-xalan/java/src/org/apache/xpath/res XPATHErrorResources.java
zongaro 2005/02/09 13:44:08
Modified: java/src/org/apache/xpath/compiler XPathParser.java
java/src/org/apache/xpath/res XPATHErrorResources.java
Log:
Fix for Jira bug report XALANJ-1478.
In the recursive descent parsing of an ill-formed XPath expression like "2+",
when the parser reaches the end of the expression while still looking for an
operand it ultimately ends up trying to see whether what remains can be parsed
as a location path. However, the LocationPath method was silently parsing the
end of an expression as a location path! Added an error for that situation.
Reviewed by Brian Minchau (minchau () ca ! ibm ! com)
Revision Changes Path
1.32 +3 -1 xml-xalan/java/src/org/apache/xpath/compiler/XPathParser.java
Index: XPathParser.java
===================================================================
RCS file: /home/cvs/xml-xalan/java/src/org/apache/xpath/compiler/XPathParser.java,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -r1.31 -r1.32
--- XPathParser.java 15 Dec 2004 17:35:55 -0000 1.31
+++ XPathParser.java 9 Feb 2005 21:44:08 -0000 1.32
@@ -1575,6 +1575,8 @@
m_ops.setOp(m_ops.getOp(OpMap.MAPINDEX_LENGTH) - 1, OpCodes.NODETYPE_ROOT);
nextToken();
+ } else if (m_token == null) {
+ error(XPATHErrorResources.ER_EXPECTED_LOC_PATH_AT_END_EXPR, null);
}
if (m_token != null)
1.29 +21 -13 xml-xalan/java/src/org/apache/xpath/res/XPATHErrorResources.java
Index: XPATHErrorResources.java
===================================================================
RCS file: /home/cvs/xml-xalan/java/src/org/apache/xpath/res/XPATHErrorResources.java,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -r1.28 -r1.29
--- XPATHErrorResources.java 23 Jan 2005 01:39:54 -0000 1.28
+++ XPATHErrorResources.java 9 Feb 2005 21:44:08 -0000 1.29
@@ -285,6 +285,8 @@
"ER_EXPECTED_REL_LOC_PATH";
/** Problem with LocationPath */
public static final String ER_EXPECTED_LOC_PATH = "ER_EXPECTED_LOC_PATH";
+ public static final String ER_EXPECTED_LOC_PATH_AT_END_EXPR =
+ "ER_EXPECTED_LOC_PATH_AT_END_EXPR";
/** Problem with Step */
public static final String ER_EXPECTED_LOC_STEP = "ER_EXPECTED_LOC_STEP";
/** Problem with NodeTest */
@@ -350,18 +352,18 @@
"WG_ILLEGAL_VARIABLE_REFERENCE";
public static final String WG_UNSUPPORTED_ENCODING ="WG_UNSUPPORTED_ENCODING";
-/** detach() not supported by XRTreeFragSelectWrapper */
-public static final String ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
- "ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-/** num() not supported by XRTreeFragSelectWrapper */
-public static final String ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
- "ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-/** xstr() not supported by XRTreeFragSelectWrapper */
-public static final String ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
- "ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-/** str() not supported by XRTreeFragSelectWrapper */
-public static final String ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
- "ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
+ /** detach() not supported by XRTreeFragSelectWrapper */
+ public static final String ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
+ "ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
+ /** num() not supported by XRTreeFragSelectWrapper */
+ public static final String ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
+ "ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
+ /** xstr() not supported by XRTreeFragSelectWrapper */
+ public static final String ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
+ "ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
+ /** str() not supported by XRTreeFragSelectWrapper */
+ public static final String ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
+ "ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
// Error messages...
@@ -981,6 +983,12 @@
{ ER_EXPECTED_LOC_PATH,
"A location path was expected, but the following token was encountered\u003a {0}"},
+ // Note to translators: A location path is a form of XPath expression.
+ // The message indicates that syntactically such a subexpression was expected,
+ // but no more characters were found in the expression.
+ { ER_EXPECTED_LOC_PATH_AT_END_EXPR,
+ "A location path was expected, but the end of the XPath expression was found instead."},
+
// Note to translators: A location step is part of an XPath expression.
// The message indicates that syntactically such an expression was expected
// following the specified characters.
---------------------------------------------------------------------
To unsubscribe, e-mail: xalan-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-cvs-help@xml.apache.org