You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by mr...@apache.org on 2007/02/18 21:15:40 UTC
svn commit: r508975 -
/xerces/java/trunk/src/org/apache/xerces/impl/xs/identity/XPathMatcher.java
Author: mrglavas
Date: Sun Feb 18 12:15:40 2007
New Revision: 508975
URL: http://svn.apache.org/viewvc?view=rev&rev=508975
Log:
Fixing JIRA Bug #1218:
http://issues.apache.org/jira/browse/XERCESJ-1218
If we matched an attribute we need to clear the entry in the matched array
at the end of the element. Because we were failing to do this, Xerces was
not detecting multiple matches on an attribute field.
Modified:
xerces/java/trunk/src/org/apache/xerces/impl/xs/identity/XPathMatcher.java
Modified: xerces/java/trunk/src/org/apache/xerces/impl/xs/identity/XPathMatcher.java
URL: http://svn.apache.org/viewvc/xerces/java/trunk/src/org/apache/xerces/impl/xs/identity/XPathMatcher.java?view=diff&rev=508975&r1=508974&r2=508975
==============================================================================
--- xerces/java/trunk/src/org/apache/xerces/impl/xs/identity/XPathMatcher.java (original)
+++ xerces/java/trunk/src/org/apache/xerces/impl/xs/identity/XPathMatcher.java Sun Feb 18 12:15:40 2007
@@ -387,8 +387,11 @@
else {
int j = 0;
for(; j < i && ((fMatched[j] & MATCHED) != MATCHED); j++);
- if ((j < i) || (fMatched[j] == 0) ||
- ((fMatched[j] & MATCHED_ATTRIBUTE) == MATCHED_ATTRIBUTE)) {
+ if ((j < i) || (fMatched[j] == 0)) {
+ continue;
+ }
+ if ((fMatched[j] & MATCHED_ATTRIBUTE) == MATCHED_ATTRIBUTE) {
+ fMatched[i] = 0;
continue;
}
// only certain kinds of matchers actually
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@xerces.apache.org
For additional commands, e-mail: commits-help@xerces.apache.org