knoaman     2003/12/29 08:15:42

  Modified:    c/src/xercesc/internal XSObjectFactory.hpp
                        XSObjectFactory.cpp
               c/src/xercesc/framework/psvi XSModel.cpp
                        XSAttributeDeclaration.cpp
               c/src/xercesc/validators/schema TraverseSchema.cpp
  Log:
  More PSVI updates
  
  Revision  Changes    Path
  1.7       +9 -2      xml-xerces/c/src/xercesc/internal/XSObjectFactory.hpp
  
  Index: XSObjectFactory.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/internal/XSObjectFactory.hpp,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- XSObjectFactory.hpp       24 Dec 2003 17:42:02 -0000      1.6
  +++ XSObjectFactory.hpp       29 Dec 2003 16:15:41 -0000      1.7
  @@ -56,6 +56,9 @@
   
   /*
    * $Log$
  + * Revision 1.7  2003/12/29 16:15:41  knoaman
  + * More PSVI updates
  + *
    * Revision 1.6  2003/12/24 17:42:02  knoaman
    * Misc. PSVI updates
    *
  @@ -247,13 +250,11 @@
       (
           void* key
           , XSObject* const object
  -        , XSModel* const xsModel
       );
   
       XSObject* getObjectFromMap
       (
           void* key
  -        , XSModel* const xsModel
       );
   
       void processFacets
  @@ -282,6 +283,12 @@
       RefHashTableOf<XSObject>* fXercesToXSMap;
       RefVectorOf<XSObject>*    fDeleteVector;
   };
  +
  +inline XSObject* XSObjectFactory::getObjectFromMap(void* key)
  +{
  +    return fXercesToXSMap->get(key);
  +}
  +
   
   XERCES_CPP_NAMESPACE_END
   
  
  
  
  1.14      +18 -26    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.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- XSObjectFactory.cpp       24 Dec 2003 17:42:02 -0000      1.13
  +++ XSObjectFactory.cpp       29 Dec 2003 16:15:41 -0000      1.14
  @@ -56,6 +56,9 @@
   
   /*
    * $Log$
  + * Revision 1.14  2003/12/29 16:15:41  knoaman
  + * More PSVI updates
  + *
    * Revision 1.13  2003/12/24 17:42:02  knoaman
    * Misc. PSVI updates
    *
  @@ -326,8 +329,7 @@
                              XSModel* const xsModel,
                              XSComplexTypeDefinition* const enclosingTypeDef)
   {
  -    XSAttributeDeclaration* xsObj = (XSAttributeDeclaration*) 
getObjectFromMap(attDef, xsModel);
  -
  +    XSAttributeDeclaration* xsObj = (XSAttributeDeclaration*) 
xsModel->getXSObject(attDef);
       if (xsObj)
       {
           if (xsObj->getScope() == XSConstants::SCOPE_LOCAL
  @@ -362,7 +364,7 @@
               , enclosingCTDefinition
               , fMemoryManager
           );
  -        putObjectInMap(attDef, xsObj, xsModel);
  +        putObjectInMap(attDef, xsObj);
       }
   
       return xsObj;
  @@ -373,7 +375,7 @@
                              XSModel* const xsModel,
                              bool isAnySimpleType)
   {
  -    XSSimpleTypeDefinition* xsObj = (XSSimpleTypeDefinition*) 
getObjectFromMap(validator, xsModel);
  +    XSSimpleTypeDefinition* xsObj = (XSSimpleTypeDefinition*) 
xsModel->getXSObject(validator);
       if (!xsObj)
       {
           XSSimpleTypeDefinition* baseType = 0;
  @@ -459,7 +461,7 @@
               , xsModel
               , fMemoryManager
           );
  -        putObjectInMap(validator, xsObj, xsModel);
  +        putObjectInMap(validator, xsObj);
   
           if (primitiveTypeSelf)
               xsObj->setPrimitiveType(xsObj);
  @@ -477,7 +479,7 @@
                              XSModel* const xsModel,
                              XSComplexTypeDefinition* const enclosingTypeDef)
   {
  -    XSElementDeclaration* xsObj = (XSElementDeclaration*) 
getObjectFromMap(elemDecl, xsModel);
  +    XSElementDeclaration* xsObj = (XSElementDeclaration*) 
xsModel->getXSObject(elemDecl);
       if (xsObj)
       {
           if (!xsObj->getEnclosingCTDefinition() && enclosingTypeDef)
  @@ -548,7 +550,7 @@
               , enclosingTypeDef
               , fMemoryManager
           );
  -        putObjectInMap(elemDecl, xsObj, xsModel);
  +        putObjectInMap(elemDecl, xsObj);
   
           if (elemDecl->getComplexTypeInfo())
           {
  @@ -573,7 +575,7 @@
   XSObjectFactory::addOrFind(ComplexTypeInfo* const typeInfo,
                              XSModel* const xsModel)
   {
  -    XSComplexTypeDefinition* xsObj = (XSComplexTypeDefinition*) 
getObjectFromMap(typeInfo, xsModel);
  +    XSComplexTypeDefinition* xsObj = (XSComplexTypeDefinition*) 
xsModel->getXSObject(typeInfo);
       if (!xsObj)
       {
           XSWildcard*             xsWildcard = 0;
  @@ -628,7 +630,7 @@
               , xsModel
               , fMemoryManager
           );
  -        putObjectInMap(typeInfo, xsObj, xsModel);
  +        putObjectInMap(typeInfo, xsObj);
   
           if (isAnyType)
               xsObj->setBaseType(xsObj);
  @@ -671,7 +673,7 @@
   XSIDCDefinition* XSObjectFactory::addOrFind(IdentityConstraint* const ic,
                                               XSModel* const xsModel)
   {
  -    XSIDCDefinition* xsObj = (XSIDCDefinition*) getObjectFromMap(ic, xsModel);
  +    XSIDCDefinition* xsObj = (XSIDCDefinition*) xsModel->getXSObject(ic);
       if (!xsObj)
       {
           XSIDCDefinition* keyIC = 0;
  @@ -706,7 +708,7 @@
               , xsModel
               , fMemoryManager
           );
  -        putObjectInMap(ic, xsObj, xsModel);
  +        putObjectInMap(ic, xsObj);
       }
   
       return xsObj;
  @@ -715,7 +717,7 @@
   XSNotationDeclaration* XSObjectFactory::addOrFind(XMLNotationDecl* const notDecl,
                                                     XSModel* const xsModel)
   {
  -    XSNotationDeclaration* xsObj = (XSNotationDeclaration*) 
getObjectFromMap(notDecl, xsModel);
  +    XSNotationDeclaration* xsObj = (XSNotationDeclaration*) 
xsModel->getXSObject(notDecl);
       if (!xsObj)
       {
           xsObj = new (fMemoryManager) XSNotationDeclaration
  @@ -725,7 +727,7 @@
               , xsModel
               , fMemoryManager
           );
  -        putObjectInMap(notDecl, xsObj, xsModel);
  +        putObjectInMap(notDecl, xsObj);
       }
   
       return xsObj;
  @@ -878,17 +880,7 @@
   }
   
   
  -XSObject* XSObjectFactory::getObjectFromMap(void* key, XSModel* const xsModel)
  -{
  -    XSObject* xsObj = fXercesToXSMap->get(key);
  -    if (xsObj)
  -        return xsObj;
  -    if (xsModel->fParent)
  -        return getObjectFromMap(key, xsModel->fParent);
  -    return 0;
  -}
  -
  -void XSObjectFactory::putObjectInMap(void* key, XSObject* const object, XSModel* 
const xsModel)
  +void XSObjectFactory::putObjectInMap(void* key, XSObject* const object)
   {
        fXercesToXSMap->put(key, object);
        fDeleteVector->addElement(object);
  @@ -1046,8 +1038,8 @@
       {
           constraintType = XSConstants::VC_DEFAULT;
       }
  -    else if (attDef->getDefaultType() & XMLAttDef::Fixed ||
  -             attDef->getDefaultType() & XMLAttDef::Required_And_Fixed)
  +    else if ((attDef->getDefaultType() == XMLAttDef::Fixed) ||
  +             (attDef->getDefaultType() == XMLAttDef::Required_And_Fixed))
       {
           constraintType = XSConstants::VC_FIXED;
       }
  
  
  
  1.16      +9 -1      xml-xerces/c/src/xercesc/framework/psvi/XSModel.cpp
  
  Index: XSModel.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/framework/psvi/XSModel.cpp,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- XSModel.cpp       24 Dec 2003 17:42:02 -0000      1.15
  +++ XSModel.cpp       29 Dec 2003 16:15:42 -0000      1.16
  @@ -56,6 +56,9 @@
   
   /*
    * $Log$
  + * Revision 1.16  2003/12/29 16:15:42  knoaman
  + * More PSVI updates
  + *
    * Revision 1.15  2003/12/24 17:42:02  knoaman
    * Misc. PSVI updates
    *
  @@ -878,7 +881,12 @@
   
   XSObject* XSModel::getXSObject(void* key)
   {
  -    return fObjFactory->getObjectFromMap(key, this);
  +    XSObject* xsObj = fObjFactory->getObjectFromMap(key);
  +
  +    if (!xsObj && fParent)
  +        xsObj = fParent->getXSObject(key);
  +
  +    return xsObj;
   }
   
   
  
  
  
  1.8       +7 -2      
xml-xerces/c/src/xercesc/framework/psvi/XSAttributeDeclaration.cpp
  
  Index: XSAttributeDeclaration.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xerces/c/src/xercesc/framework/psvi/XSAttributeDeclaration.cpp,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- XSAttributeDeclaration.cpp        21 Nov 2003 22:34:45 -0000      1.7
  +++ XSAttributeDeclaration.cpp        29 Dec 2003 16:15:42 -0000      1.8
  @@ -56,6 +56,9 @@
   
   /*
    * $Log$
  + * Revision 1.8  2003/12/29 16:15:42  knoaman
  + * More PSVI updates
  + *
    * Revision 1.7  2003/11/21 22:34:45  neilg
    * More schema component model implementation, thanks to David Cargill.
    * In particular, this cleans up and completes the XSModel, XSNamespaceItem,
  @@ -149,8 +152,8 @@
       if (fAttDef->getDefaultType() & XMLAttDef::Default)
           return XSConstants::VC_DEFAULT;
   
  -    if (fAttDef->getDefaultType() & XMLAttDef::Fixed ||
  -        fAttDef->getDefaultType() & XMLAttDef::Required_And_Fixed)
  +    if ((fAttDef->getDefaultType() == XMLAttDef::Fixed) ||
  +        (fAttDef->getDefaultType() == XMLAttDef::Required_And_Fixed))
           return XSConstants::VC_FIXED;
   
       return XSConstants::VC_NONE;
  
  
  
  1.105     +5 -5      xml-xerces/c/src/xercesc/validators/schema/TraverseSchema.cpp
  
  Index: TraverseSchema.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/schema/TraverseSchema.cpp,v
  retrieving revision 1.104
  retrieving revision 1.105
  diff -u -r1.104 -r1.105
  --- TraverseSchema.cpp        24 Dec 2003 17:42:02 -0000      1.104
  +++ TraverseSchema.cpp        29 Dec 2003 16:15:42 -0000      1.105
  @@ -3591,15 +3591,15 @@
   
                   try {
   
  -                    typeInfo->setDatatypeValidator
  -                    (
  +                    DatatypeValidator* simpleDV =
                           fDatatypeRegistry->createDatatypeValidator
                           (
                               qualifiedName,
                               typeInfo->getBaseDatatypeValidator(),
                               facets, enums, false, 0, true, fMemoryManager
  -                        )
  -                    );
  +                        );
  +                    simpleDV->setAnonymous();
  +                    typeInfo->setDatatypeValidator(simpleDV);
                   }
                   catch (const XMLException& excep) {
                       reportSchemaError(simpleContent, XMLUni::fgValidityDomain, 
XMLValid::DisplayErrorMessage, excep.getMessage());
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to