knoaman 2003/12/29 08:45:06
Modified: c/src/xercesc/internal XSObjectFactory.cpp
Log:
PSVI: add whitespace facet if missing
Revision Changes Path
1.15 +19 -3 xml-xerces/c/src/xercesc/internal/XSObjectFactory.cpp
Index: XSObjectFactory.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/internal/XSObjectFactory.cpp,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- XSObjectFactory.cpp 29 Dec 2003 16:15:41 -0000 1.14
+++ XSObjectFactory.cpp 29 Dec 2003 16:45:06 -0000 1.15
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.15 2003/12/29 16:45:06 knoaman
+ * PSVI: add whitespace facet if missing
+ *
* Revision 1.14 2003/12/29 16:15:41 knoaman
* More PSVI updates
*
@@ -895,7 +898,7 @@
// NOTE: XSFacetList is not owned by XSModel!
int definedFacets = 0;
int fixedFacets = 0;
- XSFacetList* xsFacetList = 0;
+ XSFacetList* xsFacetList = new (fMemoryManager) RefVectorOf<XSFacet>(4, true,
fMemoryManager);
XSMultiValueFacetList* xsMultiFacetList = 0;
StringList* patternList = 0;
bool isFixed = false;
@@ -926,8 +929,6 @@
RefHashTableOf<KVStringPair>* facets = dv->getFacets();
if (facets)
{
- xsFacetList = new (fMemoryManager) RefVectorOf<XSFacet>(10, true,
fMemoryManager);
-
// NOTE: Don't need to add facet to "ObjectMap ->
getObjectFromMap/putObjectInMap);
RefHashTableOfEnumerator<KVStringPair> e(facets, false, fMemoryManager);
while (e.hasMoreElements())
@@ -1023,6 +1024,21 @@
if (isFixed)
fixedFacets |= facetType;
}
+ }
+
+ // add whistespace facet if missing
+ if (!(definedFacets & XSSimpleTypeDefinition::FACET_WHITESPACE))
+ {
+ xsFacetList->addElement
+ (
+ new (fMemoryManager) XSFacet
+ (
+ XSSimpleTypeDefinition::FACET_WHITESPACE
+ , dv->getWSstring(dv->getWSFacet())
+ , false, 0, xsModel, fMemoryManager
+ )
+ );
+ definedFacets |= XSSimpleTypeDefinition::FACET_WHITESPACE;
}
xsST->setFacetInfo(definedFacets, fixedFacets, xsFacetList, xsMultiFacetList,
patternList);
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]