⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 schemainfo.hpp

📁 基于属性证书的访问控制源代码,由c++编写,包括openssl,xercesc等
💻 HPP
📖 第 1 页 / 共 2 页
字号:
inline unsigned int SchemaInfo::getNamespaceScopeLevel() const {    return fNamespaceScopeLevel;}inline XMLCh* SchemaInfo::getCurrentSchemaURL() const {    return fCurrentSchemaURL;}inline const XMLCh* const SchemaInfo::getTargetNSURIString() const {    return fTargetNSURIString;}inline const DOMElement* SchemaInfo::getRoot() const {    return fSchemaRootElement;}inline int SchemaInfo::getTargetNSURI() const {    return fTargetNSURI;}inline int SchemaInfo::getScopeCount() const {    return fScopeCount;}inline BaseRefVectorEnumerator<SchemaInfo>SchemaInfo::getImportingListEnumerator() const {    return BaseRefVectorEnumerator<SchemaInfo>(fImportingInfoList);}inline ValueVectorOf<const DOMElement*>*SchemaInfo::getRecursingAnonTypes() const {    return fRecursingAnonTypes;}inline ValueVectorOf<const XMLCh*>*SchemaInfo::getRecursingTypeNames() const {    return fRecursingTypeNames;}inline ValueVectorOf<DOMNode*>* SchemaInfo::getNonXSAttList() const{    return fNonXSAttList;}// ---------------------------------------------------------------------------//  Setter methods// ---------------------------------------------------------------------------inline void SchemaInfo::setScopeCount(const int aValue) {    fScopeCount = aValue;}inline void SchemaInfo::setBlockDefault(const int aValue) {    fBlockDefault = aValue;}inline void SchemaInfo::setFinalDefault(const int aValue) {    fFinalDefault = aValue;}inline void SchemaInfo::setElemAttrDefaultQualified(const unsigned short aValue) {    fElemAttrDefaultQualified = aValue;}inline void SchemaInfo::setProcessed(const bool aValue) {    fProcessed = aValue;/*    if (fProcessed && fIncludeInfoList) {        unsigned int includeListLen = fIncludeInfoList->size());        for (unsigned int i = 0; i < includeListLen; i++) {            fIncludeInfoList->elementAt(i)->clearTopLevelComponents();        }    }*/}// ---------------------------------------------------------------------------//  SchemaInfo: Access methods// ---------------------------------------------------------------------------inline void SchemaInfo::addImportedNS(const int namespaceURI) {    if (!fImportedNSList) {        fImportedNSList = new (fMemoryManager) ValueVectorOf<int>(4, fMemoryManager);    }    if (!fImportedNSList->containsElement(namespaceURI))        fImportedNSList->addElement(namespaceURI);}inline void SchemaInfo::addSchemaInfo(SchemaInfo* const toAdd,                                      const ListType aListType) {    if (aListType == IMPORT) {        if (!fImportedInfoList)            fImportedInfoList = new (fMemoryManager) RefVectorOf<SchemaInfo>(4, false, fMemoryManager);        if (!fImportedInfoList->containsElement(toAdd)) {            fImportedInfoList->addElement(toAdd);            addImportedNS(toAdd->getTargetNSURI());            toAdd->updateImportingInfo(this);        }    }    else {        if (!fIncludeInfoList) {            fIncludeInfoList = new (fMemoryManager) RefVectorOf<SchemaInfo>(8, false, fMemoryManager);            fAdoptInclude = true;        }        if (!fIncludeInfoList->containsElement(toAdd)) {		    fIncludeInfoList->addElement(toAdd);            toAdd->fIncludeInfoList = fIncludeInfoList;        }    }}inline SchemaInfo* SchemaInfo::getImportInfo(const unsigned int namespaceURI) const {    unsigned int importSize = (fImportedInfoList) ? fImportedInfoList->size() : 0;    SchemaInfo* currInfo = 0;    for (unsigned int i=0; i < importSize; i++) {        currInfo = fImportedInfoList->elementAt(i);        if (currInfo->getTargetNSURI() == (int) namespaceURI)            break;    }    return currInfo;}inline bool SchemaInfo::containsInfo(const SchemaInfo* const toCheck,                                     const ListType aListType) const {    if ((aListType == INCLUDE) && fIncludeInfoList) {        return fIncludeInfoList->containsElement(toCheck);    }    else if ((aListType == IMPORT) && fImportedInfoList) {        return fImportedInfoList->containsElement(toCheck);    }    return false;}inline bool SchemaInfo::circularImportExist(const unsigned int namespaceURI) {    unsigned int importSize = fImportingInfoList->size();    for (unsigned int i=0; i < importSize; i++) {        if (fImportingInfoList->elementAt(i)->getTargetNSURI() == (int) namespaceURI) {            return true;        }    }    return false;}inline bool SchemaInfo::isFailedRedefine(const DOMElement* const anElem) {    if (fFailedRedefineList)        return (fFailedRedefineList->containsElement(anElem));    return false;}inline void SchemaInfo::addFailedRedefine(const DOMElement* const anElem) {    if (!fFailedRedefineList) {        fFailedRedefineList = new (fMemoryManager) ValueVectorOf<const DOMElement*>(4, fMemoryManager);    }    fFailedRedefineList->addElement(anElem);}inline bool SchemaInfo::isImportingNS(const int namespaceURI) {    if (!fImportedNSList)        return false;    return (fImportedNSList->containsElement(namespaceURI));}inline void SchemaInfo::addRecursingType(const DOMElement* const elem,                                         const XMLCh* const name) {    if (!fRecursingAnonTypes) {        fRecursingAnonTypes = new (fMemoryManager) ValueVectorOf<const DOMElement*>(8, fMemoryManager);        fRecursingTypeNames = new (fMemoryManager) ValueVectorOf<const XMLCh*>(8, fMemoryManager);    }    fRecursingAnonTypes->addElement(elem);    fRecursingTypeNames->addElement(name);}inline void SchemaInfo::clearTopLevelComponents() {    for (unsigned int i = 0; i < C_Count; i++) {        delete fTopLevelComponents[i];        fTopLevelComponents[i] = 0;    }}XERCES_CPP_NAMESPACE_END#endif/**  * End of file SchemaInfo.hpp  */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -