return (XSAttributeGroupDecl)localXSAttributeGroupDecl;
}
XSAttributeGroupDecl traverseGlobal(Element paramElement, XSDocumentInfo paramXSDocumentInfo, SchemaGrammar paramSchemaGrammar)
{
XSAttributeGroupDecl localXSAttributeGroupDecl = new XSAttributeGroupDecl();
Object[] arrayOfObject = this.fAttrChecker.checkAttributes(paramElement, true, paramXSDocumentInfo);
String str = (String)arrayOfObject[XSAttributeChecker.ATTIDX_NAME];
if (str == null)
{
reportSchemaError("s4s-att-must-appear", new Object[] { "attributeGroup (global)", "name" }, paramElement);
str = "no name";
}
localXSAttributeGroupDecl.fName = str;
localXSAttributeGroupDecl.fTargetNamespace = paramXSDocumentInfo.fTargetNamespace;
Element localElement = DOMUtil.getFirstChildElement(paramElement);
XSAnnotationImpl localXSAnnotationImpl = null;
if ((localElement != null) && (DOMUtil.getLocalName(localElement).equals(SchemaSymbols.ELT_ANNOTATION)))
{
localXSAnnotationImpl = traverseAnnotationDecl(localElement, arrayOfObject, false, paramXSDocumentInfo);
localElement = DOMUtil.getNextSiblingElement(localElement);
}
else
{
localObject1 = DOMUtil.getSyntheticAnnotation(paramElement);
if (localObject1 != null)
localXSAnnotationImpl = traverseSyntheticAnnotation(paramElement, (String)localObject1, arrayOfObject, false, paramXSDocumentInfo);
}
Object localObject1 = traverseAttrsAndAttrGrps(localElement, localXSAttributeGroupDecl, paramXSDocumentInfo, paramSchemaGrammar, null);
if (localObject1 != null)
{
localObject2 = new Object[] { str, "(annotation?, ((attribute | attributeGroup)*, anyAttribute?))", DOMUtil.getLocalName((Node)localObject1) };
reportSchemaError("s4s-elt-must-match.1", localObject2, (Element)localObject1);
}
localXSAttributeGroupDecl.removeProhibitedAttrs();
Object localObject2 = (XSAttributeGroupDecl)this.fSchemaHandler.getGrpOrAttrGrpRedefinedByRestriction(2, new QName(XMLSymbols.EMPTY_STRING, str, str, paramXSDocumentInfo.fTargetNamespace), paramXSDocumentInfo, paramElement);
Object localObject3;
if (localObject2 != null)
{
localObject3 = localXSAttributeGroupDecl.validRestrictionOf(str, (XSAttributeGroupDecl)localObject2);
if (localObject3 != null)
{
reportSchemaError((String)localObject3[(localObject3.length - 1)], localObject3, localElement);
reportSchemaError("src-redefine.7.2.2", new Object[] { str, localObject3[(localObject3.length - 1)] }, localElement);
}