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