while ((wd = derived.nextWildcardTransition(d, dn, indexd)) != null) {
private Boolean checkAllEmpty() { // If base (empty) has an open content, turn it into an "all". int[] idx = new int[]{-1}; if (base.nextWildcardTransition(b, bn, idx) != null) { base = new XS11AllCM(false, 0, null, ((XSEmptyCM)base).getOpenContent()); return null; } // Base allows nothing. Derived must be empty too. return Boolean.valueOf(derived.nextElementTransition(d, dn, idx) == null && derived.nextWildcardTransition(d, dn, idx) == null); }
XSWildcardDecl wd1; while (!emptyWildcard() && (wd1 = derived.nextWildcardTransition(d, dn, idx)) != null) { if (wd1 != wd) { subtractWildcard(wd1, true); while (!emptyWildcard() && (wb = base.nextWildcardTransition(b, bn, indexb)) != null) {
wDNList.addAll(siblingsD); indexd[0] = -1; while ((wd = derived.nextWildcardTransition(d, dn, indexd)) != null) { if (!matchWE(usedB)) {
idx[0] = -1; XSWildcardDecl wd1; while (!emptyWildcard() && (wd1 = derived.nextWildcardTransition(d, dn, idx)) != null) { if (wd1 != wd) { subtractWildcard(wd1, true); while ((wb = base.nextWildcardTransition(b, bn, indexb)) != null) { if (!base.isOpenContent(wb) && overlap()) { int min = allb.min(indexb[0]);
private boolean findElementInBase() { // for all edges in the base that leaves the base state // check whether it's an edge matching the base edge. // if it is, return the next state. indexb[0] = -1; while ((eb = base.nextElementTransition(b, bn, indexb)) != null) { // Base element edge, check whether it matches the derived element if (matchElementWithBaseElement()) { // If name matches, check type, nil, fixed etc. return checkEERestriction(); } } // No matching element edge, try wildcards. indexb[0] = -1; while ((wb = base.nextWildcardTransition(b, bn, indexb)) != null) { // Base wildcard edge, check whether it matches the derived element qname.uri = ed.fTargetNamespace; qname.localpart = ed.fName; if (base.allowExpandedName(wb, qname, sgh, this)) { // If name matches, check whether there is a matching global. return checkEWRestriction(); } } return false; }