peiyongz    2003/11/12 12:30:58

  Modified:    c/src/xercesc/validators/datatype
                        DatatypeValidatorFactory.cpp
  Log:
  movd ID/IDREF/IDREFS/ENTITY/ENTITIES dv to BuiltInRegistry
  
  Revision  Changes    Path
  1.21      +39 -43    
xml-xerces/c/src/xercesc/validators/datatype/DatatypeValidatorFactory.cpp
  
  Index: DatatypeValidatorFactory.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xerces/c/src/xercesc/validators/datatype/DatatypeValidatorFactory.cpp,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- DatatypeValidatorFactory.cpp      6 Nov 2003 15:30:07 -0000       1.20
  +++ DatatypeValidatorFactory.cpp      12 Nov 2003 20:30:58 -0000      1.21
  @@ -56,6 +56,9 @@
   
   /*
    * $Log$
  + * Revision 1.21  2003/11/12 20:30:58  peiyongz
  + * movd ID/IDREF/IDREFS/ENTITY/ENTITIES dv to BuiltInRegistry
  + *
    * Revision 1.20  2003/11/06 15:30:07  neilg
    * first part of PSVI/schema component model implementation, thanks to David 
Cargill.  This covers setting the PSVIHandler on parser objects, as well as 
implementing XSNotation, XSSimpleTypeDefinition, XSIDCDefinition, and most of 
XSWildcard, XSComplexTypeDefinition, XSElementDeclaration, XSAttributeDeclaration and 
XSAttributeUse.
    *
  @@ -755,6 +758,41 @@
                             
getDatatypeValidator(SchemaSymbols::fgDT_NONNEGATIVEINTEGER),
                             facets, 0, false, 0, false);
   
  +            // Create 'ID', 'IDREF' and 'ENTITY' datatype validator
  +            dv = new (fMemoryManager) 
IDDatatypeValidator(getDatatypeValidator(SchemaSymbols::fgDT_NCNAME), 0, 0, 0, 
fMemoryManager);
  +            dv->setTypeName(XMLUni::fgIDString, 
SchemaSymbols::fgURI_SCHEMAFORSCHEMA);
  +            fBuiltInRegistry->put((void*) XMLUni::fgIDString, dv);
  +
  +            dv = new (fMemoryManager) 
IDREFDatatypeValidator(getDatatypeValidator(SchemaSymbols::fgDT_NCNAME), 0, 0, 0, 
fMemoryManager);
  +            dv->setTypeName(XMLUni::fgIDRefString, 
SchemaSymbols::fgURI_SCHEMAFORSCHEMA);
  +            fBuiltInRegistry->put((void*) XMLUni::fgIDRefString, dv);
  +
  +            dv = new (fMemoryManager) 
ENTITYDatatypeValidator(getDatatypeValidator(SchemaSymbols::fgDT_NCNAME), 0, 0, 0, 
fMemoryManager);
  +            dv->setTypeName(XMLUni::fgEntityString, 
SchemaSymbols::fgURI_SCHEMAFORSCHEMA);
  +            fBuiltInRegistry->put((void*) XMLUni::fgEntityString, dv);
  +
  +            // Create 'IDREFS' datatype validator
  +            createDatatypeValidator
  +            (
  +                XMLUni::fgIDRefsString
  +              , getDatatypeValidator(XMLUni::fgIDRefString)
  +              , 0
  +              , 0
  +              , false
  +              , 0
  +            );
  +
  +           // Create 'ENTITIES' datatype validator
  +           createDatatypeValidator
  +           (
  +               XMLUni::fgEntitiesString
  +             , getDatatypeValidator(XMLUni::fgEntityString)
  +             , 0
  +             , 0
  +             , false
  +             , 0
  +           );
  +
               // register cleanup method
               builtInRegistryCleanup.registerCleanup(reinitRegistry);
               sBuiltInRegistryMutexRegistered = true;
  @@ -763,49 +801,7 @@
   
       //todo: to move these to fBuiltInRegistry
   
  -    // ID, IDREF IDREFS, ENTITY, ENTITIES  DTV have specific data member
  -    //   and cannot be shared across threads
  -    // So instead of storing them in the static fBuiltInRegistry,
  -    //   store them in local data fUserDefinedRegistry
  -    if (fUserDefinedRegistry == 0)
  -        fUserDefinedRegistry = new (fMemoryManager) 
RefHashTableOf<DatatypeValidator>(29, fMemoryManager);
  -
  -    if (!getDatatypeValidator(XMLUni::fgIDRefsString)) {
  -
  -        DatatypeValidator *dv = new (fMemoryManager) 
IDDatatypeValidator(getDatatypeValidator(SchemaSymbols::fgDT_NCNAME), 0, 0, 0, 
fMemoryManager);
  -        dv->setTypeName(XMLUni::fgIDString, SchemaSymbols::fgURI_SCHEMAFORSCHEMA);
  -        fUserDefinedRegistry->put((void*) XMLUni::fgIDString, dv);
  -
  -        dv = new (fMemoryManager) 
IDREFDatatypeValidator(getDatatypeValidator(SchemaSymbols::fgDT_NCNAME), 0, 0, 0, 
fMemoryManager);
  -        dv->setTypeName(XMLUni::fgIDRefString, 
SchemaSymbols::fgURI_SCHEMAFORSCHEMA);
  -        fUserDefinedRegistry->put((void*) XMLUni::fgIDRefString, dv);
  -
  -        dv = new (fMemoryManager) 
ENTITYDatatypeValidator(getDatatypeValidator(SchemaSymbols::fgDT_NCNAME), 0, 0, 0, 
fMemoryManager);
  -        dv->setTypeName(XMLUni::fgEntityString, 
SchemaSymbols::fgURI_SCHEMAFORSCHEMA);
  -        fUserDefinedRegistry->put((void*) XMLUni::fgEntityString, dv);
  -
  -        // Create 'IDREFS' datatype validator
  -     createDatatypeValidator
  -        (
  -            XMLUni::fgIDRefsString
  -            , getDatatypeValidator(XMLUni::fgIDRefString)
  -            , 0
  -            , 0
  -            , true
  -            , 0
  -        );
  -
  -        // Create 'ENTITIES' datatype validator
  -        createDatatypeValidator
  -        (
  -            XMLUni::fgEntitiesString
  -             , getDatatypeValidator(XMLUni::fgEntityString)
  -            , 0
  -            , 0
  -            , true
  -            , 0
  -        );
  -    }
  +
   
   }
   
  
  
  

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

Reply via email to