protected XSAttributeDecl traverseGlobal(Element attrDecl, XSDocumentInfo schemaDoc, SchemaGrammar grammar) { // General Attribute Checking Object[] attrValues = fAttrChecker.checkAttributes(attrDecl, true, schemaDoc); XSAttributeDecl attribute = traverseNamedAttr(attrDecl, attrValues, schemaDoc, grammar, true, null); fAttrChecker.returnAttrArray(attrValues, schemaDoc); return attribute; }
resolveNamespace(element, attrs, schemaDoc.fNamespaceSupport); reportSchemaError("s4s-elt-schema-ns", new Object[] {elName}, element); reportSchemaError ("s4s-elt-invalid", new Object[] {elName}, element); return null; Object[] attrValues = getAvailableArray(); reportSchemaError ("s4s-att-not-allowed", new Object[] {elName, attrName}, element); reportSchemaError ("s4s-att-not-allowed", new Object[] {elName, attrName}, element); while (st.hasMoreTokens()) { Object avalue = dv.validate(st.nextToken(), schemaDoc.fValidationContext, null); modifyQNameForChameleonProcessing(schemaDoc, avalue); ((Vector)attrValues[ATTIDX_SUBSGROUP]).addElement(avalue); modifyQNameForChameleonProcessing(schemaDoc, avalue); ((Vector)attrValues[ATTIDX_SUBSGROUP]).addElement(avalue); Object avalue = dv.validate(attrVal, schemaDoc.fValidationContext, null); if (oneAttr.dvIndex == DT_QNAME) { modifyQNameForChameleonProcessing(schemaDoc, avalue); attrValues[oneAttr.valueIndex] = validate(attrValues, attrName, attrVal, oneAttr.dvIndex, schemaDoc);
void returnSchemaAttrs () { fAttrChecker.returnAttrArray (fSchemaAttrs, null); fSchemaAttrs = null; }
/** * Check whether the specified element conforms to the attributes restriction. * an array of attribute values is returned. the caller must call * <code>returnAttrArray</code> to return that array. * * @param element which element to check * @param isGlobal whether a child of <schema> or <redefine> * @param schemaDoc the document where the element lives in * @return an array containing attribute values */ public Object[] checkAttributes(Element element, boolean isGlobal, XSDocumentInfo schemaDoc) { return checkAttributes(element, isGlobal, schemaDoc, false); }
} else { try { retValue = validate(attrValues, attr, value, DT_NONNEGINT, schemaDoc); } catch (NumberFormatException e) { throw new InvalidDatatypeValueException("cvc-datatype-valid.1.2.3", new Object[]{value, "(nonNegativeInteger | unbounded)"}); attrValues[ATTIDX_NAMESPACE_LIST] = processNamespaceList(value, schemaDoc); case DT_NOTNAMESPACE: retValue = processNamespaceList(value, schemaDoc); break; case DT_WHITESPACE:
fTargetNamespace = attrChecker.checkTargetNamespace(root, this); fSchemaAttrs = attrChecker.checkAttributes(root, true, this);
reportSchemaError ("s4s-att-invalid-value", new Object[] {elName, attrName, ide.getMessage()}, null);
fAttributeChecker.reset(fSymbolTable); fAttributeGroupTraverser.reset(fSymbolTable, fValidateAnnotations, locale); fAttributeTraverser.reset(fSymbolTable, fValidateAnnotations, locale);
private void createTraversers() { fAttributeChecker = new XSAttributeChecker(this); fAttributeGroupTraverser = new XSDAttributeGroupTraverser(this, fAttributeChecker); fAttributeTraverser = new XSDAttributeTraverser(this, fAttributeChecker); fComplexTypeTraverser = new XSDComplexTypeTraverser(this, fAttributeChecker); fElementTraverser = new XSDElementTraverser(this, fAttributeChecker); fGroupTraverser = new XSDGroupTraverser(this, fAttributeChecker); fKeyrefTraverser = new XSDKeyrefTraverser(this, fAttributeChecker); fNotationTraverser = new XSDNotationTraverser(this, fAttributeChecker); fSimpleTypeTraverser = new XSDSimpleTypeTraverser(this, fAttributeChecker); fUniqueOrKeyTraverser = new XSDUniqueOrKeyTraverser(this, fAttributeChecker); fWildCardTraverser = new XSDWildcardTraverser(this, fAttributeChecker); } // createTraversers()
/** * Traverse <anyAttribute> * * @param elmNode * @param schemaDoc * @param grammar * @return the wildcard node index */ XSWildcardDecl traverseAnyAttribute(Element elmNode, XSDocumentInfo schemaDoc, SchemaGrammar grammar) { // General Attribute Checking for elmNode Object[] attrValues = fAttrChecker.checkAttributes(elmNode, false, schemaDoc); XSWildcardDecl wildcard = traverseWildcardDecl(elmNode, attrValues, schemaDoc, grammar); fAttrChecker.returnAttrArray(attrValues, schemaDoc); return wildcard; }
/** * Traverse a globally declared element. * * @param elmDecl * @param schemaDoc * @param grammar * @return the element declaration */ XSElementDecl traverseGlobal(Element elmDecl, XSDocumentInfo schemaDoc, SchemaGrammar grammar) { // General Attribute Checking' Object[] attrValues = fAttrChecker.checkAttributes(elmDecl, true, schemaDoc); XSElementDecl element = traverseNamedElement(elmDecl, attrValues, schemaDoc, grammar, true, null); fAttrChecker.returnAttrArray(attrValues, schemaDoc); return element; }
XSSimpleType traverseLocal(Element elmNode, XSDocumentInfo schemaDoc, SchemaGrammar grammar, XSObject context) { // General Attribute Checking Object[] attrValues = fAttrChecker.checkAttributes(elmNode, false, schemaDoc); String name = genAnonTypeName(elmNode); XSSimpleType type = getSimpleType(name, elmNode, attrValues, schemaDoc, grammar); if (type instanceof XSSimpleTypeDecl) { ((XSSimpleTypeDecl)type).setAnonymous(true); if (context != null && fSchemaHandler.fSchemaVersion == Constants.SCHEMA_VERSION_1_1) { ((XSSimpleTypeDecl)type).setContext(context); } } fAttrChecker.returnAttrArray(attrValues, schemaDoc); return type; }
XSAnnotationImpl traverseAnnotationDecl(Element annotationDecl, Object[] parentAttrs, boolean isGlobal, XSDocumentInfo schemaDoc) { Object[] attrValues = fAttrChecker.checkAttributes(annotationDecl, isGlobal, schemaDoc); fAttrChecker.returnAttrArray(attrValues, schemaDoc); attrValues = fAttrChecker.checkAttributes(child, true, schemaDoc); fAttrChecker.returnAttrArray(attrValues, schemaDoc);
Object[] attrValues = fAttrChecker.checkAttributes(elmNode, false, schemaDoc); XSWildcardDecl wildcard = traverseWildcardDecl(elmNode, attrValues, schemaDoc, grammar); fAttrChecker.returnAttrArray(attrValues, schemaDoc);
/** * Traverse local complexType declarations * * @param Element * @param XSDocumentInfo * @param SchemaGrammar * @return XSComplexTypeDecl */ XSComplexTypeDecl traverseLocal(Element complexTypeNode, XSDocumentInfo schemaDoc, SchemaGrammar grammar, XSObject context) { Object[] attrValues = fAttrChecker.checkAttributes(complexTypeNode, false, schemaDoc); String complexTypeName = genAnonTypeName(complexTypeNode); contentBackup(); XSComplexTypeDecl type = traverseComplexTypeDecl (complexTypeNode, complexTypeName, attrValues, schemaDoc, grammar, context); contentRestore(); // need to add the type to the grammar for later constraint checking grammar.addComplexTypeDecl(type, fSchemaHandler.element2Locator(complexTypeNode)); type.setIsAnonymous(); fAttrChecker.returnAttrArray(attrValues, schemaDoc); return type; }
Object[] attrValues = fAttrChecker.checkAttributes(elmNode, false, schemaDoc); fAttrChecker.returnAttrArray(attrValues, schemaDoc); return null; fAttrChecker.returnAttrArray(attrValues, schemaDoc); return attrGrp;
Object[] attrValues = fAttrChecker.checkAttributes(icElem, false, schemaDoc); QName referredIcQName = (QName)attrValues[XSAttributeChecker.ATTIDX_REF]; fAttrChecker.returnAttrArray(attrValues, schemaDoc); return; fAttrChecker.returnAttrArray(attrValues, schemaDoc); return; fAttrChecker.returnAttrArray(attrValues, schemaDoc);
Object[] attrs = fAttributeChecker.checkAttributes(grandKid, false, currSchema); QName derivedBase = (QName)attrs[XSAttributeChecker.ATTIDX_BASE]; if (derivedBase == null || fAttributeChecker.returnAttrArray(attrs, currSchema); Object[] attrs = fAttributeChecker.checkAttributes(greatGrandKid, false, currSchema); QName derivedBase = (QName)attrs[XSAttributeChecker.ATTIDX_BASE]; if (derivedBase == null ||
Object[] complexContentAttrValues = fAttrChecker.checkAttributes(complexContentElement, false, schemaDoc); mixedContent = mixedAtt.booleanValue(); if (mixedOnTypePresent && mixedContent != mixedOnType) { fAttrChecker.returnAttrArray(complexContentAttrValues, schemaDoc); throw new ComplexTypeRecoverableError("src-ct11.4", new Object[]{fName}, complexContentElement); fAttrChecker.returnAttrArray(complexContentAttrValues, schemaDoc); throw new ComplexTypeRecoverableError("s4s-elt-invalid-content.2", new Object[]{fName,SchemaSymbols.ELT_COMPLEXCONTENT}, fAttrChecker.returnAttrArray(complexContentAttrValues, schemaDoc); throw new ComplexTypeRecoverableError("s4s-elt-invalid-content.1", new Object[]{fName, complexContentName}, complexContent); fAttrChecker.returnAttrArray(complexContentAttrValues, schemaDoc); String siblingName = DOMUtil.getLocalName(elemTmp); throw new ComplexTypeRecoverableError("s4s-elt-invalid-content.1", Object[] derivationTypeAttrValues = fAttrChecker.checkAttributes(complexContent, false, schemaDoc); QName baseTypeName = (QName) derivationTypeAttrValues[XSAttributeChecker.ATTIDX_BASE]; fAttrChecker.returnAttrArray(complexContentAttrValues, schemaDoc); fAttrChecker.returnAttrArray(derivationTypeAttrValues, schemaDoc); throw new ComplexTypeRecoverableError("s4s-att-must-appear", new Object[]{complexContentName, "base"}, complexContent);
Object[] attrValues = fAttrChecker.checkAttributes(uElem, false, schemaDoc); reportSchemaError("s4s-att-must-appear", new Object [] {DOMUtil.getLocalName(uElem) , SchemaSymbols.ATT_NAME }, uElem); fAttrChecker.returnAttrArray(attrValues, schemaDoc); return; fAttrChecker.returnAttrArray(attrValues, schemaDoc);