xobjectcomparator.cpp
来自「IBM的解析xml的工具Xerces的源代码」· C++ 代码 · 共 970 行 · 第 1/3 页
CPP
970 行
bool v18 = XTemplateComparator::isEquivalent(lValue->fAttDefs , rValue->fAttDefs); bool v19 = XTemplateComparator::isEquivalent(lValue->fIdentityConstraints , rValue->fIdentityConstraints); return v1&&v2&&v3&&v4&&v5&&v6&&v7&&v8&&v9&&v10&&v11&&v12&&v13&&v14&&v15&&v16&&v17&&v18&&v19;#endif}bool XObjectComparator::isEquivalent(DTDElementDecl* const lValue , DTDElementDecl* const rValue){ IS_EQUIVALENT(lValue, rValue) if (!isBaseEquivalent((XMLElementDecl*)lValue, (XMLElementDecl*)rValue)) return false; //don't compare //XMLContentModel* fContentModel; //XMLCh* fFormattedModel; return ( (lValue->fModelType == rValue->fModelType) && isEquivalent(lValue->fContentSpec , rValue->fContentSpec) && isEquivalent(lValue->fAttList , rValue->fAttList) && XTemplateComparator::isEquivalent(lValue->fAttDefs , rValue->fAttDefs) ); }/********************************************************** * XMLAttDef * SchemaAttDef * DTDAttDef ************************************************************/ bool XObjectComparator::isBaseEquivalent(XMLAttDef* const lValue , XMLAttDef* const rValue){ return ( (lValue->fDefaultType == rValue->fDefaultType) && (lValue->fType == rValue->fType) && (lValue->fCreateReason == rValue->fCreateReason) && (lValue->fProvided == rValue->fProvided) && (lValue->fExternalAttribute == rValue->fExternalAttribute) && (lValue->fId == rValue->fId) && XMLString::equals(lValue->fValue, rValue->fValue) && XMLString::equals(lValue->fEnumeration, rValue->fEnumeration) );}bool XObjectComparator::isEquivalent(SchemaAttDef* const lValue , SchemaAttDef* const rValue){ IS_EQUIVALENT(lValue, rValue) if (!isBaseEquivalent((XMLAttDef*)lValue, (XMLAttDef*)rValue)) return false; return ( (lValue->fValidity == rValue->fValidity) && (lValue->fValidation == rValue->fValidation) && (lValue->fElemId == rValue->fElemId) && isEquivalent(lValue->fAttName, rValue->fAttName) && isEquivalent(lValue->fDatatypeValidator , rValue->fDatatypeValidator) && isEquivalent(lValue->fAnyDatatypeValidator , rValue->fAnyDatatypeValidator) && isEquivalent((DatatypeValidator*) lValue->fAnyDatatypeValidator , (DatatypeValidator*) rValue->fAnyDatatypeValidator) && XTemplateComparator::isEquivalent(lValue->fNamespaceList , rValue->fNamespaceList) );}bool XObjectComparator::isEquivalent(DTDAttDef* const lValue , DTDAttDef* const rValue){ IS_EQUIVALENT(lValue, rValue) if (!isBaseEquivalent((XMLAttDef*)lValue, (XMLAttDef*)rValue)) return false; return ( (lValue->fElemId == rValue->fElemId) && XMLString::equals(lValue->fName, rValue->fName) );}/********************************************************** * XMLAttDefList * SchemaAttDefList * DTDAttDefList ************************************************************/ bool XObjectComparator::isBaseEquivalent(XMLAttDefList* const lValue , XMLAttDefList* const rValue){ IS_EQUIVALENT(lValue, rValue) return true;} bool XObjectComparator::isEquivalent(SchemaAttDefList* const lValue , SchemaAttDefList* const rValue){ IS_EQUIVALENT(lValue, rValue) //no base comparision needed return XTemplateComparator::isEquivalent(lValue->fList, rValue->fList); }bool XObjectComparator::isEquivalent(DTDAttDefList* const lValue , DTDAttDefList* const rValue){ IS_EQUIVALENT(lValue, rValue) //no base comparision needed return XTemplateComparator::isEquivalent(lValue->fList, rValue->fList); }/********************************************************** * XMLEntityDecl * DTDEntityDecl * ***********************************************************/ bool XObjectComparator::isBaseEquivalent(XMLEntityDecl* const lValue , XMLEntityDecl* const rValue ){ return ( (lValue->fId == rValue->fId) && (lValue->fValueLen == rValue->fValueLen) && XMLString::equals(lValue->fValue , rValue->fValue) && XMLString::equals(lValue->fName , rValue->fName) && XMLString::equals(lValue->fNotationName , rValue->fNotationName) && XMLString::equals(lValue->fPublicId , rValue->fPublicId) && XMLString::equals(lValue->fSystemId , rValue->fSystemId) && XMLString::equals(lValue->fBaseURI , rValue->fBaseURI) );}bool XObjectComparator::isEquivalent(DTDEntityDecl* const lValue , DTDEntityDecl* const rValue ){ IS_EQUIVALENT(lValue, rValue) if (!isBaseEquivalent((XMLEntityDecl*)lValue, (XMLEntityDecl*)rValue)) return false; return ( (lValue->fDeclaredInIntSubset == rValue->fDeclaredInIntSubset) && (lValue->fIsParameter == rValue->fIsParameter) && (lValue->fIsSpecialChar == rValue->fIsSpecialChar) );}/********************************************************** * XMLNotationDecl * * XMLEntityDecl * * ComplexTypeInfo * XercesGroupInfo * XercesAttGroupInfo ***********************************************************/ bool XObjectComparator::isEquivalent(XMLNotationDecl* const lValue , XMLNotationDecl* const rValue ){ IS_EQUIVALENT(lValue, rValue) return ( (lValue->fId == rValue->fId) && XMLString::equals(lValue->fName , rValue->fName) && XMLString::equals(lValue->fPublicId, rValue->fPublicId) && XMLString::equals(lValue->fSystemId, rValue->fSystemId) && XMLString::equals(lValue->fBaseURI, rValue->fBaseURI) );}bool XObjectComparator::isEquivalent(ComplexTypeInfo* const lValue , ComplexTypeInfo* const rValue ){ /*** don't compare XMLContentModel* fContentModel; XMLCh* fFormattedModel; XSDLocator* fLocator; * * fContentSpecOrgURI: start of the array * fContentSpecOrgURISize: size of the array * fUniqueURI: the current last element in the array ***/ IS_EQUIVALENT(lValue, rValue)#ifndef _DEBUGreturn ( (lValue->fAnonymous == rValue->fAnonymous) && (lValue->fAbstract == rValue->fAbstract) && (lValue->fAdoptContentSpec == rValue->fAdoptContentSpec) && (lValue->fAttWithTypeId == rValue->fAttWithTypeId) && (lValue->fPreprocessed == rValue->fPreprocessed) && (lValue->fDerivedBy == rValue->fDerivedBy) && (lValue->fBlockSet == rValue->fBlockSet) && (lValue->fFinalSet == rValue->fFinalSet) && (lValue->fScopeDefined == rValue->fScopeDefined) && (lValue->fElementId == rValue->fElementId) && (lValue->fContentType == rValue->fContentType) && XMLString::equals(lValue->fTypeName, rValue->fTypeName) && XMLString::equals(lValue->fTypeLocalName, rValue->fTypeLocalName) && XMLString::equals(lValue->fTypeUri, rValue->fTypeUri) && isEquivalent(lValue->fBaseDatatypeValidator , rValue->fBaseDatatypeValidator) && isEquivalent(lValue->fDatatypeValidator , rValue->fDatatypeValidator) && isEquivalent(lValue->fBaseComplexTypeInfo , rValue->fBaseComplexTypeInfo) && isEquivalent(lValue->fContentSpec , rValue->fContentSpec) && isEquivalent(lValue->fAttWildCard , rValue->fAttWildCard) && isEquivalent(lValue->fAttList , rValue->fAttList) && XTemplateComparator::isEquivalent(lValue->fElements , rValue->fElements) && XTemplateComparator::isEquivalent(lValue->fAttDefs , rValue->fAttDefs) );#else bool v1 = lValue->fAnonymous == rValue->fAnonymous; bool v2 = lValue->fAbstract == rValue->fAbstract; bool v3 = lValue->fAdoptContentSpec == rValue->fAdoptContentSpec; bool v4 = lValue->fAttWithTypeId == rValue->fAttWithTypeId; bool v5 = lValue->fPreprocessed == rValue->fPreprocessed; bool v6 = lValue->fDerivedBy == rValue->fDerivedBy; bool v7 = lValue->fBlockSet == rValue->fBlockSet; bool v8 = lValue->fFinalSet == rValue->fFinalSet; bool v9 = lValue->fScopeDefined == rValue->fScopeDefined; bool v10 = lValue->fElementId == rValue->fElementId; bool v11 = lValue->fContentType == rValue->fContentType; bool v12 = XMLString::equals(lValue->fTypeName , rValue->fTypeName); bool v13 = XMLString::equals(lValue->fTypeLocalName , rValue->fTypeLocalName); bool v14 = XMLString::equals(lValue->fTypeUri , rValue->fTypeUri); bool v15 = isEquivalent(lValue->fBaseDatatypeValidator , rValue->fBaseDatatypeValidator); bool v16 = isEquivalent(lValue->fDatatypeValidator , rValue->fDatatypeValidator); bool v17 = isEquivalent(lValue->fBaseComplexTypeInfo , rValue->fBaseComplexTypeInfo); bool v18 = isEquivalent(lValue->fContentSpec , rValue->fContentSpec); bool v19 = isEquivalent(lValue->fAttWildCard , rValue->fAttWildCard); bool v20 = isEquivalent(lValue->fAttList , rValue->fAttList); bool v21 = XTemplateComparator::isEquivalent(lValue->fElements , rValue->fElements); bool v22 = XTemplateComparator::isEquivalent(lValue->fAttDefs , rValue->fAttDefs); return v1&&v2&&v3&&v4&&v5&&v6&&v7&&v8&&v9&&v10&&v11&&v12&&v13&&v14&&v15&&v16&&v17&&v18&&v19&&v20&&v21&&v22;#endif}bool XObjectComparator::isEquivalent(XercesGroupInfo* const lValue , XercesGroupInfo* const rValue ){ IS_EQUIVALENT(lValue, rValue) // don't compare // XSDLocator* fLocator; return ( (lValue->fCheckElementConsistency == rValue->fCheckElementConsistency) && (lValue->fScope == rValue->fScope) && isEquivalent(lValue->fContentSpec , rValue->fContentSpec) && isEquivalent(lValue->fBaseGroup , rValue->fBaseGroup) && XTemplateComparator::isEquivalent(lValue->fElements , rValue->fElements) );}bool XObjectComparator::isEquivalent(XercesAttGroupInfo* const lValue , XercesAttGroupInfo* const rValue ){ IS_EQUIVALENT(lValue, rValue) return ( (lValue->fTypeWithId == rValue->fTypeWithId) && isEquivalent(lValue->fCompleteWildCard , rValue->fCompleteWildCard) &&
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?