📄 complextypeinfo.hpp
字号:
return fContentType;}inline unsigned int ComplexTypeInfo::elementCount() const { if (fElements) { return fElements->size(); } return 0;}inline XMLCh* ComplexTypeInfo::getTypeName() const { return fTypeName;}inline DatatypeValidator* ComplexTypeInfo::getBaseDatatypeValidator() const { return fBaseDatatypeValidator;}inline DatatypeValidator* ComplexTypeInfo::getDatatypeValidator() const { return fDatatypeValidator;}inline ComplexTypeInfo* ComplexTypeInfo::getBaseComplexTypeInfo() const { return fBaseComplexTypeInfo;}inline ContentSpecNode* ComplexTypeInfo::getContentSpec() const { return fContentSpec;}inline const SchemaAttDef* ComplexTypeInfo::getAttWildCard() const { return fAttWildCard;}inline SchemaAttDef* ComplexTypeInfo::getAttWildCard() { return fAttWildCard;}inline const SchemaAttDef* ComplexTypeInfo::getAttDef(const XMLCh* const baseName, const int uriId) const { return fAttDefs->get(baseName, uriId);}inline SchemaAttDef* ComplexTypeInfo::getAttDef(const XMLCh* const baseName, const int uriId){ return fAttDefs->get(baseName, uriId);}inline SchemaElementDecl*ComplexTypeInfo::elementAt(const unsigned int index) { if (!fElements) { return 0; // REVISIT - need to throw an exception } return fElements->elementAt(index);}inline const SchemaElementDecl*ComplexTypeInfo::elementAt(const unsigned int index) const { if (!fElements) { return 0; // REVISIT - need to throw an exception } return fElements->elementAt(index);}inline XMLContentModel* ComplexTypeInfo::getContentModel(const bool checkUPA){ if (!fContentModel && fContentSpec) fContentModel = makeContentModel(checkUPA); return fContentModel;}inline XSDLocator* ComplexTypeInfo::getLocator() const{ return fLocator;}inline bool ComplexTypeInfo::getAnonymous() const { return fAnonymous;}inline const XMLCh* ComplexTypeInfo::getTypeLocalName() const{ return fTypeLocalName;}inline const XMLCh* ComplexTypeInfo::getTypeUri() const{ return fTypeUri;}// ---------------------------------------------------------------------------// ComplexTypeInfo: Setter methods// ---------------------------------------------------------------------------inline void ComplexTypeInfo::setAbstract(const bool isAbstract) { fAbstract = isAbstract;}inline void ComplexTypeInfo::setAdoptContentSpec(const bool toAdopt) { fAdoptContentSpec = toAdopt;}inline void ComplexTypeInfo::setAttWithTypeId(const bool value) { fAttWithTypeId = value;}inline void ComplexTypeInfo::setPreprocessed(const bool aValue) { fPreprocessed = aValue;}inline void ComplexTypeInfo::setDerivedBy(const int derivedBy) { fDerivedBy = derivedBy;}inline void ComplexTypeInfo::setBlockSet(const int blockSet) { fBlockSet = blockSet;}inline void ComplexTypeInfo::setFinalSet(const int finalSet) { fFinalSet = finalSet;}inline void ComplexTypeInfo::setScopeDefined(const int scopeDefined) { fScopeDefined = scopeDefined;}inline void ComplexTypeInfo::setElementId(const unsigned int elemId) { fElementId = elemId;}inline voidComplexTypeInfo::setContentType(const int contentType) { fContentType = contentType;}inline void ComplexTypeInfo::setTypeName(const XMLCh* const typeName) { fMemoryManager->deallocate(fTypeName);//delete [] fTypeName; fMemoryManager->deallocate(fTypeLocalName);//delete [] fTypeLocalName; fMemoryManager->deallocate(fTypeUri);//delete [] fTypeUri; if (typeName) { fTypeName = XMLString::replicate(typeName, fMemoryManager); int index = XMLString::indexOf(fTypeName, chComma); int length = XMLString::stringLen(fTypeName); fTypeLocalName = (XMLCh*) fMemoryManager->allocate ( (length - index + 1) * sizeof(XMLCh) ); //new XMLCh[length - index + 1]; XMLString::subString(fTypeLocalName, fTypeName, index + 1, length, fMemoryManager); fTypeUri = (XMLCh*) fMemoryManager->allocate ( (index + 1) * sizeof(XMLCh) ); //new XMLCh[index + 1]; XMLString::subString(fTypeUri, fTypeName, 0, index, fMemoryManager); } else { fTypeName = fTypeLocalName = fTypeUri = 0; }}inline voidComplexTypeInfo::setBaseDatatypeValidator(DatatypeValidator* const validator) { fBaseDatatypeValidator = validator;}inline voidComplexTypeInfo::setDatatypeValidator(DatatypeValidator* const validator) { fDatatypeValidator = validator;}inline voidComplexTypeInfo::setBaseComplexTypeInfo(ComplexTypeInfo* const typeInfo) { fBaseComplexTypeInfo = typeInfo;}inline void ComplexTypeInfo::addElement(SchemaElementDecl* const elem) { if (!fElements) { fElements = new (fMemoryManager) RefVectorOf<SchemaElementDecl>(8, false, fMemoryManager); } else if (fElements->containsElement(elem)) { return; } fElements->addElement(elem);}inline void ComplexTypeInfo::setAttWildCard(SchemaAttDef* const toAdopt) { if (fAttWildCard) { delete fAttWildCard; } fAttWildCard = toAdopt;}inline voidComplexTypeInfo::setContentModel(XMLContentModel* const newModelToAdopt){ delete fContentModel; fContentModel = newModelToAdopt; // reset formattedModel if (fFormattedModel) { fMemoryManager->deallocate(fFormattedModel); fFormattedModel = 0; }}inline void ComplexTypeInfo::setAnonymous() { fAnonymous = true;}// ---------------------------------------------------------------------------// ComplexTypeInfo: Helper methods// ---------------------------------------------------------------------------inline bool ComplexTypeInfo::hasAttDefs() const{ return !fAttDefs->isEmpty();}inline bool ComplexTypeInfo::contains(const XMLCh* const attName) { RefHash2KeysTableOfEnumerator<SchemaAttDef> enumDefs(fAttDefs, false, fMemoryManager); while (enumDefs.hasMoreElements()) { if (XMLString::equals(attName, enumDefs.nextElement().getAttName()->getLocalPart())) { return true; } } return false;}XERCES_CPP_NAMESPACE_END#endif/** * End of file ComplexTypeInfo.hpp */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -