本文整理汇总了C++中ValueVectorOf类的典型用法代码示例。如果您正苦于以下问题:C++ ValueVectorOf类的具体用法?C++ ValueVectorOf怎么用?C++ ValueVectorOf使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了ValueVectorOf类的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: XSObject
XERCES_CPP_NAMESPACE_BEGIN
// ---------------------------------------------------------------------------
// XSWildcard: Constructors and Destructor
// ---------------------------------------------------------------------------
XSWildcard::XSWildcard(SchemaAttDef* const attWildCard,
XSAnnotation* const annot,
XSModel* const xsModel,
MemoryManager* const manager)
: XSObject(XSConstants::WILDCARD, xsModel, manager)
, fConstraintType(NSCONSTRAINT_ANY)
, fProcessContents(PC_STRICT)
, fNsConstraintList(0)
, fAnnotation(annot)
{
XMLAttDef::AttTypes attType = attWildCard->getType();
if (attType == XMLAttDef::Any_Other)
{
fConstraintType = NSCONSTRAINT_NOT;
fNsConstraintList = new (manager) RefArrayVectorOf<XMLCh>(1, true, manager);
fNsConstraintList->addElement
(
XMLString::replicate(fXSModel->getURIStringPool()->getValueForId(
attWildCard->getAttName()->getURI()), manager)
);
}
else if (attType == XMLAttDef::Any_List)
{
fConstraintType = NSCONSTRAINT_DERIVATION_LIST;
ValueVectorOf<unsigned int>* nsList = attWildCard->getNamespaceList();
if (nsList)
{
unsigned int nsListSize = nsList->size();
if (nsListSize)
{
fNsConstraintList = new (manager) RefArrayVectorOf<XMLCh>(nsListSize, true, manager);
for (unsigned int i=0; i < nsListSize; i++)
{
fNsConstraintList->addElement
(
XMLString::replicate
(
fXSModel->getURIStringPool()->getValueForId
(
nsList->elementAt(i)
)
, manager
)
);
}
}
}
}
XMLAttDef::DefAttTypes attDefType = attWildCard->getDefaultType();
if (attDefType == XMLAttDef::ProcessContents_Skip)
fProcessContents = PC_SKIP;
else if (attDefType == XMLAttDef::ProcessContents_Lax)
fProcessContents = PC_LAX;
}
开发者ID:xin3liang,项目名称:platform_external_xerces-cpp,代码行数:60,代码来源:XSWildcard.cpp
示例2: addImportedNS
inline void SchemaInfo::addImportedNS(const int namespaceURI) {
if (!fImportedNSList) {
fImportedNSList = new ValueVectorOf<int>(4);
}
if (!fImportedNSList->containsElement(namespaceURI))
fImportedNSList->addElement(namespaceURI);
}
开发者ID:zhudavi2,项目名称:SP2-HDM,代码行数:9,代码来源:SchemaInfo.hpp
示例3: addRecursingType
inline void SchemaInfo::addRecursingType(const DOMElement* const elem,
const XMLCh* const name) {
if (!fRecursingAnonTypes) {
fRecursingAnonTypes = new ValueVectorOf<const DOMElement*>(8);
fRecursingTypeNames = new ValueVectorOf<const XMLCh*>(8);
}
fRecursingAnonTypes->addElement(elem);
fRecursingTypeNames->addElement(name);
}
开发者ID:zhudavi2,项目名称:SP2-HDM,代码行数:11,代码来源:SchemaInfo.hpp
示例4: isAllowedByWildcard
bool SubstitutionGroupComparator::isAllowedByWildcard(SchemaGrammar* const pGrammar,
QName* const element,
unsigned int wuri, bool wother)
{
// whether the uri is allowed directly by the wildcard
unsigned int uriId = element->getURI();
if ((!wother && uriId == wuri) ||
(wother &&
uriId != wuri &&
uriId != XMLContentModel::gEOCFakeId &&
uriId != XMLContentModel::gEpsilonFakeId &&
uriId != XMLElementDecl::fgPCDataElemId &&
uriId != XMLElementDecl::fgInvalidElemId))
{
return true;
}
// get all elements that can substitute the current element
RefHash2KeysTableOf<ElemVector>* theValidSubstitutionGroups = pGrammar->getValidSubstitutionGroups();
if (!theValidSubstitutionGroups)
return false;
ValueVectorOf<SchemaElementDecl*>* subsElements = theValidSubstitutionGroups->get(element->getLocalPart(), uriId);
if (!subsElements)
return false;
// then check whether there exists one element that is allowed by the wildcard
int size = subsElements->size();
for (int i = 0; i < size; i++)
{
unsigned int subUriId = subsElements->elementAt(i)->getElementName()->getURI();
if ((!wother && subUriId == wuri) ||
(wother &&
subUriId != wuri &&
subUriId != XMLContentModel::gEOCFakeId &&
subUriId != XMLContentModel::gEpsilonFakeId &&
subUriId != XMLElementDecl::fgPCDataElemId &&
subUriId != XMLElementDecl::fgInvalidElemId))
{
return true;
}
}
return false;
}
开发者ID:brock7,项目名称:TianLong,代码行数:49,代码来源:SubstitutionGroupComparator.cpp
示例5: addFailedRedefine
inline void SchemaInfo::addFailedRedefine(const DOMElement* const anElem) {
if (!fFailedRedefineList) {
fFailedRedefineList = new ValueVectorOf<const DOMElement*>(4);
}
fFailedRedefineList->addElement(anElem);
}
开发者ID:zhudavi2,项目名称:SP2-HDM,代码行数:8,代码来源:SchemaInfo.hpp
示例6: if
// ---------------------------------------------------------------------------
// MixedContentModel: Private helper methods
// ---------------------------------------------------------------------------
void
MixedContentModel::buildChildList( ContentSpecNode* const curNode
, ValueVectorOf<QName*>& toFill
, ValueVectorOf<ContentSpecNode::NodeTypes>& toType)
{
// Get the type of spec node our current node is
const ContentSpecNode::NodeTypes curType = curNode->getType();
// If its a leaf, then store its id in the target list
if ((curType == ContentSpecNode::Leaf) ||
(curType == ContentSpecNode::Any) ||
(curType == ContentSpecNode::Any_Other) ||
(curType == ContentSpecNode::Any_NS) )
{
toFill.addElement(curNode->getElement());
toType.addElement(curType);
return;
}
// Get both the child node pointers
ContentSpecNode* leftNode = curNode->getFirst();
ContentSpecNode* rightNode = curNode->getSecond();
// And recurse according to the type of node
if (((curType & 0x0f) == ContentSpecNode::Choice)
|| ((curType & 0x0f) == ContentSpecNode::Sequence))
{
// Recurse on the left and right nodes
buildChildList(leftNode, toFill, toType);
// The last node of a choice or sequence has a null right
if (rightNode)
buildChildList(rightNode, toFill, toType);
}
else if ((curType == ContentSpecNode::OneOrMore)
|| (curType == ContentSpecNode::ZeroOrOne)
|| (curType == ContentSpecNode::ZeroOrMore))
{
// Just do the left node on this one
buildChildList(leftNode, toFill, toType);
}
}
开发者ID:gitrider,项目名称:wxsj2,代码行数:45,代码来源:MixedContentModel.cpp
示例7: if
// ---------------------------------------------------------------------------
// AllContentModel: Private helper methods
// ---------------------------------------------------------------------------
void
AllContentModel::buildChildList(ContentSpecNode* const curNode
, ValueVectorOf<QName*>& toFill
, ValueVectorOf<bool>& toOptional)
{
// Get the type of spec node our current node is
const ContentSpecNode::NodeTypes curType = curNode->getType();
if (curType == ContentSpecNode::All)
{
// Get both the child node pointers
ContentSpecNode* leftNode = curNode->getFirst();
ContentSpecNode* rightNode = curNode->getSecond();
// Recurse on the left and right nodes
buildChildList(leftNode, toFill, toOptional);
buildChildList(rightNode, toFill, toOptional);
}
else if (curType == ContentSpecNode::Leaf)
{
// At leaf, add the element to list of elements permitted in the all
toFill.addElement(curNode->getElement());
toOptional.addElement(false);
fNumRequired++;
}
else if (curType == ContentSpecNode::ZeroOrOne)
{
// At ZERO_OR_ONE node, subtree must be an element
// that was specified with minOccurs=0, maxOccurs=1
ContentSpecNode* leftNode = curNode->getFirst();
if (leftNode->getType() != ContentSpecNode::Leaf)
ThrowXMLwithMemMgr(RuntimeException, XMLExcepts::CM_UnknownCMSpecType, fMemoryManager);
toFill.addElement(leftNode->getElement());
toOptional.addElement(true);
}
else
ThrowXMLwithMemMgr(RuntimeException, XMLExcepts::CM_UnknownCMSpecType, fMemoryManager);
}
开发者ID:gitrider,项目名称:wxsj2,代码行数:42,代码来源:AllContentModel.cpp
示例8: fMemoryManager
//.........这里部分代码省略.........
{
XSNamespaceItem* namespaceItem = fParent->fXSNamespaceItemList->elementAt(i);
fXSNamespaceItemList->addElement(namespaceItem);
fNamespaceStringList->addElement
(
XMLString::replicate
(
namespaceItem->getSchemaNamespace(), manager
)
);
}
for (i=0; i<XSConstants::MULTIVALUE_FACET; i++)
{
switch (i+1)
{
case XSConstants::ATTRIBUTE_DECLARATION:
case XSConstants::ELEMENT_DECLARATION:
case XSConstants::TYPE_DEFINITION:
case XSConstants::ATTRIBUTE_GROUP_DEFINITION:
case XSConstants::MODEL_GROUP_DEFINITION:
case XSConstants::NOTATION_DECLARATION:
for (unsigned int j=0; j<fParent->fComponentMap[i]->getLength(); j++)
{
XSObject* copyObj = fParent->fComponentMap[i]->item(j);
fComponentMap[i]->addElement(copyObj,
copyObj->getName(),
copyObj->getNamespace());
}
break;
}
for (unsigned int j=0; j<fParent->fIdVector[i]->size(); j++)
{
fIdVector[i]->addElement(fParent->fIdVector[i]->elementAt(j));
}
}
for (i=0; i<fParent->fXSAnnotationList->size(); i++)
{
fXSAnnotationList->addElement(fParent->fXSAnnotationList->elementAt(i));
}
} // end of copying parent info
// Now add information from the new grammars but first create the
// XSNamespaceItem's so we can have access to the XSAnnotations...
ValueVectorOf<SchemaGrammar*>* grammarsToAdd = grammarResolver->getGrammarsToAddToXSModel();
unsigned int numberOfNamespaces = fXSNamespaceItemList->size();
unsigned int numberOfNamespacesToAdd = 0;
for (i=0; i < grammarsToAdd->size(); i++)
{
SchemaGrammar* lGrammar = grammarsToAdd->elementAt(i);
if (lGrammar->getGrammarType() != Grammar::SchemaGrammarType ||
XMLString::equals(lGrammar->getTargetNamespace(), SchemaSymbols::fgURI_SCHEMAFORSCHEMA))
continue;
XMLCh* NameSpace = XMLString::replicate(lGrammar->getTargetNamespace(), manager);
fNamespaceStringList->addElement(NameSpace);
XSNamespaceItem* namespaceItem = new (manager) XSNamespaceItem(this, lGrammar, manager);
fXSNamespaceItemList->addElement(namespaceItem);
fHashNamespace->put(NameSpace, namespaceItem);
fDeleteNamespace->addElement(namespaceItem);
++numberOfNamespacesToAdd;
}
// Add S4S namespace if needed
if (!fAddedS4SGrammar)
{
DatatypeValidatorFactory dvFactory(manager);
dvFactory.expandRegistryToFullSchemaSet();
XSNamespaceItem* namespaceItem = new (manager) XSNamespaceItem
(
this, SchemaSymbols::fgURI_SCHEMAFORSCHEMA, manager
);
fNamespaceStringList->addElement
(
XMLString::replicate(SchemaSymbols::fgURI_SCHEMAFORSCHEMA,manager)
);
fXSNamespaceItemList->addElement(namespaceItem);
fHashNamespace->put
(
(void*) SchemaSymbols::fgURI_SCHEMAFORSCHEMA , namespaceItem
);
fDeleteNamespace->addElement(namespaceItem);
addS4SToXSModel
(
namespaceItem
, dvFactory.getBuiltInRegistry()
);
}
// Now loop through all of the newly created NamespaceItem's
for (i=numberOfNamespaces; i<(numberOfNamespaces+numberOfNamespacesToAdd); i++)
{
addGrammarToXSModel(fXSNamespaceItemList->elementAt(i));
} // end of namespaceItem loop
}
开发者ID:mydw,项目名称:mydw,代码行数:101,代码来源:XSModel.cpp
示例9: if
void XSDDOMParser::startAnnotation( const XMLElementDecl& elemDecl
, const RefVectorOf<XMLAttr>& attrList
, const unsigned int attrCount)
{
fAnnotationBuf.append(chOpenAngle);
fAnnotationBuf.append(elemDecl.getFullName());
fAnnotationBuf.append(chSpace);
// attributes are a bit of a pain. To get this right, we have to keep track
// of the namespaces we've seen declared, then examine the namespace context
// for other namespaces so that we can also include them.
// optimized for simplicity and the case that not many
// namespaces are declared on this annotation...
fURIs->removeAllElements();
for (unsigned int i=0; i < attrCount; i++) {
const XMLAttr* oneAttrib = attrList.elementAt(i);
const XMLCh* attrValue = oneAttrib->getValue();
if (XMLString::equals(oneAttrib->getName(), XMLUni::fgXMLNSString))
fURIs->addElement(fScanner->getPrefixId(XMLUni::fgZeroLenString));
else if (!XMLString::compareNString(oneAttrib->getQName(), XMLUni::fgXMLNSColonString, 6))
fURIs->addElement(fScanner->getPrefixId(oneAttrib->getName()));
fAnnotationBuf.append(oneAttrib->getQName());
fAnnotationBuf.append(chEqual);
fAnnotationBuf.append(chDoubleQuote);
fAnnotationBuf.append(attrValue);
fAnnotationBuf.append(chDoubleQuote);
fAnnotationBuf.append(chSpace);
}
// now we have to look through currently in-scope namespaces to see what
// wasn't declared here
ValueVectorOf<PrefMapElem*>* namespaceContext = fScanner->getNamespaceContext();
for (unsigned int j=0; j < namespaceContext->size(); j++)
{
unsigned int prefId = namespaceContext->elementAt(j)->fPrefId;
if (!fURIs->containsElement(prefId)) {
const XMLCh* prefix = fScanner->getPrefixForId(prefId);
if (XMLString::equals(prefix, XMLUni::fgZeroLenString)) {
fAnnotationBuf.append(XMLUni::fgXMLNSString);
}
else {
fAnnotationBuf.append(XMLUni::fgXMLNSColonString);
fAnnotationBuf.append(prefix);
}
fAnnotationBuf.append(chEqual);
fAnnotationBuf.append(chDoubleQuote);
fAnnotationBuf.append(fScanner->getURIText(namespaceContext->elementAt(j)->fURIId));
fAnnotationBuf.append(chDoubleQuote);
fAnnotationBuf.append(chSpace);
}
}
fAnnotationBuf.append(chCloseAngle);
fAnnotationBuf.append(chLF);
}
开发者ID:js422,项目名称:PERL,代码行数:62,代码来源:XSDDOMParser.cpp
示例10: isImportingNS
inline bool SchemaInfo::isImportingNS(const int namespaceURI) {
if (!fImportedNSList)
return false;
return (fImportedNSList->containsElement(namespaceURI));
}
开发者ID:zhudavi2,项目名称:SP2-HDM,代码行数:7,代码来源:SchemaInfo.hpp
示例11: isFailedRedefine
inline bool SchemaInfo::isFailedRedefine(const DOMElement* const anElem) {
if (fFailedRedefineList)
return (fFailedRedefineList->containsElement(anElem));
return false;
}
开发者ID:zhudavi2,项目名称:SP2-HDM,代码行数:7,代码来源:SchemaInfo.hpp
注:本文中的ValueVectorOf类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论