neilg 2002/09/04 08:51:40 Modified: java/src/org/apache/xerces/impl/xpath XPath.java Log: "fix" for bug 5950. The bug itself is not valid, but a modification of it whowed that our handling of . in XPath expressions--both with and without surrounding whitespace--was broken when unions are in use. Revision Changes Path 1.9 +22 -3 xml-xerces/java/src/org/apache/xerces/impl/xpath/XPath.java Index: XPath.java =================================================================== RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/xpath/XPath.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- XPath.java 29 Aug 2002 23:25:43 -0000 1.8 +++ XPath.java 4 Sep 2002 15:51:40 -0000 1.9 @@ -1422,6 +1422,25 @@ addToken(tokens, XPath.Tokens.EXPRTOKEN_PERIOD); starIsMultiplyOperator = true; currentOffset++; + } else if (ch == '|') { + addToken(tokens, XPath.Tokens.EXPRTOKEN_PERIOD); + starIsMultiplyOperator = true; + currentOffset++; + break; + } else if (ch == ' ' || ch == 0x0A || ch == 0x09 || ch == 0x0D) { + // this is legal if the next token is non-existent or | + do { + if (++currentOffset == endOffset) { + break; + } + ch = data.charAt(currentOffset); + } while (ch == ' ' || ch == 0x0A || ch == 0x09 || ch == 0x0D); + if (currentOffset == endOffset || ch == '|') { + addToken(tokens, XPath.Tokens.EXPRTOKEN_PERIOD); + starIsMultiplyOperator = true; + break; + } + throw new XPathException ("c-general-xpath"); } else { // '.' throw new XPathException ("c-general-xpath"); }
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]