neilg       2003/12/29 21:58:57

  Modified:    c/src/xercesc/framework/psvi PSVIAttribute.cpp
                        PSVIAttribute.hpp
  Log:
  allow schema normalized values to be associated with a PSVIAttribute after it is 
reset
  
  Revision  Changes    Path
  1.8       +16 -6     xml-xerces/c/src/xercesc/framework/psvi/PSVIAttribute.cpp
  
  Index: PSVIAttribute.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/framework/psvi/PSVIAttribute.cpp,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- PSVIAttribute.cpp 2 Dec 2003 17:37:03 -0000       1.7
  +++ PSVIAttribute.cpp 30 Dec 2003 05:58:56 -0000      1.8
  @@ -56,6 +56,9 @@
   
   /*
    * $Log$
  + * Revision 1.8  2003/12/30 05:58:56  neilg
  + * allow schema normalized values to be associated with a PSVIAttribute after it is 
reset
  + *
    * Revision 1.7  2003/12/02 17:37:03  neilg
    * fix compilation problem
    *
  @@ -93,7 +96,6 @@
               const XMLCh * const         valContext
               , PSVIItem::VALIDITY_STATE  state
               , PSVIItem::ASSESSMENT_TYPE assessmentType
  -            , const XMLCh * const       normalizedValue
               , XSSimpleTypeDefinition *  validatingType
               , XSSimpleTypeDefinition *  memberType
               , const XMLCh * const       defaultValue
  @@ -105,17 +107,25 @@
       fValidationContext = valContext;
       fValidityState = state;
       fAssessmentType = assessmentType;
  -    fNormalizedValue = normalizedValue;
       fType = validatingType;
       fMemberType = memberType;
       fDefaultValue = defaultValue;
       fIsSpecified = isSpecified;
       fMemoryManager->deallocate((void *)fCanonicalValue);
  -    if(normalizedValue && dv && fValidityState == PSVIItem::VALIDITY_VALID)
  -        fCanonicalValue = (XMLCh *)dv->getCanonicalRepresentation(normalizedValue, 
fMemoryManager);
  -    else
  -        fCanonicalValue = 0;
  +    fCanonicalValue = 0;
  +    fNormalizedValue = 0;
       fAttributeDecl = attrDecl;
  +    fDV = dv;
  +}
  +
  +void PSVIAttribute::setValue(const XMLCh * const       normalizedValue)
  +{ 
  +    if(normalizedValue)
  +    {
  +        fNormalizedValue = normalizedValue;
  +        if(fDV && fValidityState == PSVIItem::VALIDITY_VALID)
  +            fCanonicalValue = (XMLCh 
*)fDV->getCanonicalRepresentation(normalizedValue, fMemoryManager);
  +    }
   }
   
   XERCES_CPP_NAMESPACE_END
  
  
  
  1.6       +13 -1     xml-xerces/c/src/xercesc/framework/psvi/PSVIAttribute.hpp
  
  Index: PSVIAttribute.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/framework/psvi/PSVIAttribute.hpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- PSVIAttribute.hpp 28 Nov 2003 20:20:54 -0000      1.5
  +++ PSVIAttribute.hpp 30 Dec 2003 05:58:56 -0000      1.6
  @@ -56,6 +56,9 @@
   
   /*
    * $Log$
  + * Revision 1.6  2003/12/30 05:58:56  neilg
  + * allow schema normalized values to be associated with a PSVIAttribute after it is 
reset
  + *
    * Revision 1.5  2003/11/28 20:20:54  neilg
    * make use of canonical representation in PSVIAttribute implementation
    *
  @@ -161,7 +164,6 @@
               const XMLCh * const         valContext
               , PSVIItem::VALIDITY_STATE  state
               , PSVIItem::ASSESSMENT_TYPE assessmentType
  -            , const XMLCh * const       normalizedValue
               , XSSimpleTypeDefinition *  validatingType
               , XSSimpleTypeDefinition *  memberType
               , const XMLCh * const       defaultValue
  @@ -171,6 +173,13 @@
           );
   
       /**
  +      * set the schema normalized value (and
  +      * implicitly the canonical value) of this object; intended to be used
  +      * by the implementation.
  +      */
  +    void setValue(const XMLCh * const       normalizedValue);
  +
  +    /**
         * set VALIDITY_STATE to specified value; intended to be
         * called by implementation.
         */
  @@ -192,7 +201,10 @@
       // -----------------------------------------------------------------------
       // fAttributeDecl
       //      attribute declaration component that validated this attribute 
  +    // fDV
  +    //      implementation-specific datatype validator used to validate this 
attribute
       XSAttributeDeclaration *    fAttributeDecl;
  +    DatatypeValidator *         fDV;
   };
   inline PSVIAttribute::~PSVIAttribute() 
   {
  
  
  

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

Reply via email to