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]

Reply via email to