peiyongz 2004/03/02 15:22:06 Modified: c/src/xercesc/validators/datatype DatatypeValidator.cpp Log: save/load TypeUri/TypeLocalName more accurately Revision Changes Path 1.22 +55 -16 xml-xerces/c/src/xercesc/validators/datatype/DatatypeValidator.cpp Index: DatatypeValidator.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/DatatypeValidator.cpp,v retrieving revision 1.21 retrieving revision 1.22 diff -u -r1.21 -r1.22 --- DatatypeValidator.cpp 29 Jan 2004 11:51:22 -0000 1.21 +++ DatatypeValidator.cpp 2 Mar 2004 23:22:06 -0000 1.22 @@ -56,6 +56,9 @@ /* * $Log$ + * Revision 1.22 2004/03/02 23:22:06 peiyongz + * save/load TypeUri/TypeLocalName more accurately + * * Revision 1.21 2004/01/29 11:51:22 cargilld * Code cleanup changes to get rid of various compiler diagnostic messages. * @@ -367,14 +370,26 @@ serEng.writeString(fPattern); + if (fTypeUri==XMLUni::fgZeroLenString) + { + serEng<<(unsigned int)1; + } + else if (fTypeUri == SchemaSymbols::fgURI_SCHEMAFORSCHEMA) + { + serEng<<(unsigned int)2; + serEng.writeString(fTypeLocalName); + } + else + { + serEng<<(unsigned int)3; + serEng.writeString(fTypeLocalName); + serEng.writeString(fTypeUri); + } + /*** * don't serialize * fRegex - * fTypeLocalName - * fTypeUri - ***/ - serEng.writeString(fTypeName); - + ***/ } else { @@ -427,25 +442,49 @@ * Deserialize RefHashTableOf<KVStringPair> * ***/ - XTemplateSerializer::loadObject(&fFacets, 29, true, serEng); + XTemplateSerializer::loadObject(&fFacets, 29, false, serEng); + //XTemplateSerializer::loadObject(&fFacets, 29, true, serEng); serEng.readString(fPattern); /*** - * don't serialize fRegex + * Recreate through setTypeName() + * fTypeName ***/ - fRegex = 0; + + unsigned int flag; + serEng>>flag; + + if ( 1 == flag ) + { + setTypeName(0); + } + else if ( 2 == flag ) + { + XMLCh* typeLocalName; + serEng.readString(typeLocalName); + ArrayJanitor<XMLCh> janName(typeLocalName, fMemoryManager); + + setTypeName(typeLocalName); + } + else //3 + { + XMLCh* typeLocalName; + serEng.readString(typeLocalName); + ArrayJanitor<XMLCh> janName(typeLocalName, fMemoryManager); + + XMLCh* typeUri; + serEng.readString(typeUri); + ArrayJanitor<XMLCh> janUri(typeUri, fMemoryManager); + + setTypeName(typeLocalName, typeUri); + + } /*** - * Recreate through setTypeName() - * fTypeName - * fTypeLocalName - * fTypeUri + * don't serialize fRegex ***/ - XMLCh* typeName; - serEng.readString(typeName); - ArrayJanitor<XMLCh> janName(typeName, fMemoryManager); - setTypeName(typeName); + fRegex = 0; }
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]