Fix for XALANJ-2199.  Lexical disambiguation rules for an NCName with the same
name as an operator assumed that any such name that follows an asterisk, must
really be an NCName, and not an operator, under the assumption that the asterisk
must be a multiplication operator.  However, that causes the operator in an
expression like "* or doc/ch" to be treated as an NCName, resulting in an
incorrect syntax error.

Introduced a new token to distinguish between the use of asterisk as a wildcard
and its use as a multiplication operator, and added new disambuguation rules
to identify the two uses.

Patch was reviewed by Yash Talwar (ytalwar () ca ! ibm ! com)

2 files changed