String nsURI;
String nsURI, name;
	protected boolean areAttributesComparable(Element control, Element test) {		String controlValue, testValue;		Attr[] qualifyingAttributes;		NamedNodeMap namedNodeMap = control.getAttributes();		if (qualifyingAttrNames == ALL_ATTRIBUTES) {  			qualifyingAttributes = new Attr[namedNodeMap.getLength()];			for (int n=0; n < qualifyingAttributes.length; ++n) {				qualifyingAttributes[n] = (Attr) namedNodeMap.item(n);			}		} else {			qualifyingAttributes = new Attr[qualifyingAttrNames.length];			for (int n=0; n < qualifyingAttrNames.length; ++n) {				qualifyingAttributes[n] = (Attr) namedNodeMap.getNamedItem(qualifyingAttrNames[n]);			} 		}					String nsURI;		for (int i=0; i < qualifyingAttributes.length; ++i) {			nsURI = qualifyingAttributes[i].getNamespaceURI(); 			controlValue = qualifyingAttributes[i].getNodeValue();			if (nsURI == null || nsURI.length() == 0) {				testValue = test.getAttribute(qualifyingAttributes[i].getName());			} else {				testValue = test.getAttributeNS(nsURI, qualifyingAttributes[i].getLocalName());			}			if (controlValue == null) {				if (testValue != null) {					return false;				}			} else {				if (!controlValue.equals(testValue)) {					return false;				}			}		}		return true;	}