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