public GeneralAttrCheck (XMLErrorReporter er, DatatypeValidatorFactoryImpl datatypeRegistry) { fErrorReporter = er; fDatatypeRegistry = fDatatypeRegistry; synchronized (getClass()) { if (fExtraDVs[DT_ANYURI] == null) {  datatypeRegistry.expandRegistryToFullSchemaSet();  fExtraDVs[DT_ANYURI] = datatypeRegistry.getDatatypeValidator("anyURI");  fExtraDVs[DT_BOOLEAN] = datatypeRegistry.getDatatypeValidator("boolean");  fExtraDVs[DT_ID] = datatypeRegistry.getDatatypeValidator("ID");  fExtraDVs[DT_NONNEGINT] = datatypeRegistry.getDatatypeValidator("nonNegativeInteger");  fExtraDVs[DT_QNAME] = datatypeRegistry.getDatatypeValidator("QName");  fExtraDVs[DT_STRING] = datatypeRegistry.getDatatypeValidator("string");  fExtraDVs[DT_TOKEN] = datatypeRegistry.getDatatypeValidator("token");  fExtraDVs[DT_NCNAME] = datatypeRegistry.getDatatypeValidator("NCName");  fExtraDVs[DT_XPATH] = fExtraDVs[DT_STRING];  fExtraDVs[DT_XPATH] = fExtraDVs[DT_STRING]; } } }
private GeneralAttrCheck() {}
    public GeneralAttrCheck (XMLErrorReporter er, DatatypeValidatorFactoryImpl datatypeRegistry) {        fErrorReporter = er;        fDatatypeRegistry = fDatatypeRegistry;        synchronized (getClass()) {            if (fExtraDVs[DT_ANYURI] == null) {                // step 5: register all datatype validators for new types                datatypeRegistry.expandRegistryToFullSchemaSet();                // anyURI                fExtraDVs[DT_ANYURI] = datatypeRegistry.getDatatypeValidator("anyURI");                // boolean                fExtraDVs[DT_BOOLEAN] = datatypeRegistry.getDatatypeValidator("boolean");                // ID                fExtraDVs[DT_ID] = datatypeRegistry.getDatatypeValidator("ID");                // nonNegtiveInteger                fExtraDVs[DT_NONNEGINT] = datatypeRegistry.getDatatypeValidator("nonNegativeInteger");                // QName                fExtraDVs[DT_QNAME] = datatypeRegistry.getDatatypeValidator("QName");                // string                fExtraDVs[DT_STRING] = datatypeRegistry.getDatatypeValidator("string");                // token                fExtraDVs[DT_TOKEN] = datatypeRegistry.getDatatypeValidator("token");                // NCName                fExtraDVs[DT_NCNAME] = datatypeRegistry.getDatatypeValidator("NCName");                // xpath = a subset of XPath expression                fExtraDVs[DT_XPATH] = fExtraDVs[DT_STRING];                // xpath = a subset of XPath expression                fExtraDVs[DT_XPATH] = fExtraDVs[DT_STRING];            }        }    }