org_eclipse_lemminx_extensions_contentmodel_XMLSchemaPublishDiagnosticsTest_java
org.apache.xerces.impl.xs.XMLSchemaValidator
void processAttributes(org.apache.xerces.xni.QName qName, XMLAttributes xMLAttributes, XSAttributeGroupDecl xSAttributeGroupDecl) {
        String string = null;
        int n = xMLAttributes.getLength();
        Augmentations augmentations = null;
        AttributePSVImpl attributePSVImpl = null;
        boolean bl = this.fCurrentType == null || this.fCurrentType.getTypeCategory() == 16;
        XSObjectList xSObjectList = null;
        int n2 = 0;
        XSWildcardDecl xSWildcardDecl = null;
        if (!bl) {
            xSObjectList = xSAttributeGroupDecl.getAttributeUses();
            n2 = xSObjectList.getLength();
            xSWildcardDecl = xSAttributeGroupDecl.fAttributeWC;
        }
        for (int i = 0; i < n; ++i) {
            XSObject xSObject;
            xMLAttributes.getName(i, this.fTempQName);
            if (this.fAugPSVI || this.fIdConstraint) {
                augmentations = xMLAttributes.getAugmentations(i);
                attributePSVImpl = (AttributePSVImpl)augmentations.getItem("ATTRIBUTE_PSVI");
                if (attributePSVImpl != null) {
                    attributePSVImpl.reset();
                } else {
                    attributePSVImpl = new AttributePSVImpl();
                    augmentations.putItem("ATTRIBUTE_PSVI", attributePSVImpl);
                }
                attributePSVImpl.fValidationContext = this.fValidationRoot;
            }
            if (this.fTempQName.uri == SchemaSymbols.URI_XSI) {
                xSObject = null;
                if (this.fTempQName.localpart == SchemaSymbols.XSI_TYPE) {
                    xSObject = XSI_TYPE;
                } else if (this.fTempQName.localpart == SchemaSymbols.XSI_NIL) {
                    xSObject = XSI_NIL;
                } else if (this.fTempQName.localpart == SchemaSymbols.XSI_SCHEMALOCATION) {
                    xSObject = XSI_SCHEMALOCATION;
                } else if (this.fTempQName.localpart == SchemaSymbols.XSI_NONAMESPACESCHEMALOCATION) {
                    xSObject = XSI_NONAMESPACESCHEMALOCATION;
                }
                if (xSObject != null) {
                    this.processOneAttribute(qName, xMLAttributes, i, (XSAttributeDecl)xSObject, null, attributePSVImpl);
                    continue;
                }
            }
            if (this.fTempQName.rawname == XMLSymbols.PREFIX_XMLNS || this.fTempQName.rawname.startsWith("xmlns:")) continue;
            if (bl) {
                this.reportSchemaError("cvc-type.3.1.1", new Object[]{qName.rawname, this.fTempQName.rawname});
                continue;
            }
            xSObject = null;
            for (int j = 0; j < n2; ++j) {
                XSAttributeUseImpl xSAttributeUseImpl = (XSAttributeUseImpl)xSObjectList.item(j);
                if (xSAttributeUseImpl.fAttrDecl.fName != this.fTempQName.localpart || xSAttributeUseImpl.fAttrDecl.fTargetNamespace != this.fTempQName.uri) continue;
                xSObject = xSAttributeUseImpl;
                break;
            }
            if (!(xSObject != null || xSWildcardDecl != null && xSWildcardDecl.allowNamespace(this.fTempQName.uri))) {
                this.reportSchemaError("cvc-complex-type.3.2.2", new Object[]{qName.rawname, this.fTempQName.rawname});
                this.fNFullValidationDepth = this.fElementDepth;
                continue;
            }
            XSAttributeDecl xSAttributeDecl = null;
            if (xSObject != null) {
                xSAttributeDecl = ((XSAttributeUseImpl)xSObject).fAttrDecl;
            } else {
                if (xSWildcardDecl.fProcessContents == 2) continue;
                SchemaGrammar schemaGrammar = this.findSchemaGrammar((short)6, this.fTempQName.uri, qName, this.fTempQName, xMLAttributes);
                if (schemaGrammar != null) {
                    xSAttributeDecl = schemaGrammar.getGlobalAttributeDecl(this.fTempQName.localpart);
                }
                if (xSAttributeDecl == null) {
                    if (xSWildcardDecl.fProcessContents != 1) continue;
                    this.reportSchemaError("cvc-complex-type.3.2.2", new Object[]{qName.rawname, this.fTempQName.rawname});
                    continue;
                }
                if (xSAttributeDecl.fType.getTypeCategory() == 16 && xSAttributeDecl.fType.isIDType()) {
                    if (string != null) {
                        this.reportSchemaError("cvc-complex-type.5.1", new Object[]{qName.rawname, xSAttributeDecl.fName, string});
                    } else {
                        string = xSAttributeDecl.fName;
                    }
                }
            }
            this.processOneAttribute(qName, xMLAttributes, i, xSAttributeDecl, (XSAttributeUseImpl)xSObject, attributePSVImpl);
        }
        if (!bl && xSAttributeGroupDecl.fIDAttrName != null && string != null) {
            this.reportSchemaError("cvc-complex-type.5.2", new Object[]{qName.rawname, string, xSAttributeGroupDecl.fIDAttrName});
        }
    }
 -> java.lang.String.startsWith(java.lang.String): boolean -> java.util.Vector.size(): int -> java.lang.Object.toString(): java.lang.String -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.StringBuffer.toString(): java.lang.String -> java.util.StringTokenizer.countTokens(): int -> java.util.StringTokenizer.nextToken(): java.lang.String -> java.lang.Object.toString(): java.lang.String -> java.lang.String.length(): int -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.StringBuffer.length(): int -> java.lang.String.length(): int -> java.lang.String.indexOf(int): int -> java.lang.String.lastIndexOf(int,int): int -> java.lang.String.lastIndexOf(int,int): int -> java.lang.String.lastIndexOf(int,int): int -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.substring(int,int): java.lang.String -> java.lang.String.length(): int -> java.lang.String.trim(): java.lang.String -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.toLowerCase(java.util.Locale): java.lang.String -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.substring(int,int): java.lang.String -> java.lang.String.length(): int -> java.lang.String.indexOf(int,int): int -> java.lang.String.charAt(int): char -> java.lang.String.lastIndexOf(int,int): int -> java.lang.String.substring(int,int): java.lang.String -> java.lang.String.length(): int -> java.lang.String.length(): int -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.endsWith(java.lang.String): boolean -> java.lang.String.lastIndexOf(int): int -> java.lang.String.endsWith(java.lang.String): boolean -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.length(): int -> java.lang.String.substring(int,int): java.lang.String -> java.lang.String.length(): int -> java.util.Vector.size(): int
 [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] -> java.lang.String.startsWith(java.lang.String): boolean [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] -> java.util.Vector.size(): int [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] -> java.lang.Object.toString(): java.lang.String [CALL] -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.StringBuffer.toString(): java.lang.String [EXIT] [EXIT] -> java.util.StringTokenizer.countTokens(): int [CALL] [EXIT] -> java.util.StringTokenizer.nextToken(): java.lang.String [CALL] -> java.lang.Object.toString(): java.lang.String [CALL] -> java.lang.String.length(): int [CALL] -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.String.charAt(int): char -> java.lang.StringBuffer.append(char): java.lang.StringBuffer -> java.lang.StringBuffer.length(): int [EXIT] [CALL] [CALL] -> java.lang.String.length(): int -> java.lang.String.indexOf(int): int -> java.lang.String.lastIndexOf(int,int): int -> java.lang.String.lastIndexOf(int,int): int -> java.lang.String.lastIndexOf(int,int): int [CALL] -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.substring(int,int): java.lang.String -> java.lang.String.length(): int [CALL] [CALL] -> java.lang.String.trim(): java.lang.String -> java.lang.String.length(): int -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.length(): int -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] [EXIT] -> java.lang.String.toLowerCase(java.util.Locale): java.lang.String [EXIT] [EXIT] -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.substring(int,int): java.lang.String [CALL] -> java.lang.String.length(): int -> java.lang.String.indexOf(int,int): int -> java.lang.String.charAt(int): char -> java.lang.String.lastIndexOf(int,int): int -> java.lang.String.substring(int,int): java.lang.String -> java.lang.String.length(): int [CALL] [CALL] -> java.lang.String.length(): int -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.endsWith(java.lang.String): boolean -> java.lang.String.lastIndexOf(int): int -> java.lang.String.endsWith(java.lang.String): boolean -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] -> java.lang.String.charAt(int): char [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] -> java.lang.String.length(): int -> java.lang.String.substring(int,int): java.lang.String [EXIT] [CALL] -> java.lang.String.length(): int [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] -> java.util.Vector.size(): int [EXIT] [EXIT] [EXIT]