You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by kn...@apache.org on 2002/04/04 16:42:42 UTC

cvs commit: xml-xerces/c/src/xercesc/validators/schema TraverseSchema.cpp

knoaman     02/04/04 06:42:41

  Modified:    c/src/xercesc/validators/common ContentSpecNode.hpp
               c/src/xercesc/validators/schema TraverseSchema.cpp
  Log:
  Change min/maxOccurs from unsigned int to int.
  
  Revision  Changes    Path
  1.3       +13 -10    xml-xerces/c/src/xercesc/validators/common/ContentSpecNode.hpp
  
  Index: ContentSpecNode.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/common/ContentSpecNode.hpp,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ContentSpecNode.hpp	21 Mar 2002 15:41:48 -0000	1.2
  +++ ContentSpecNode.hpp	4 Apr 2002 14:42:41 -0000	1.3
  @@ -56,6 +56,9 @@
   
   /*
    * $Log: ContentSpecNode.hpp,v $
  + * Revision 1.3  2002/04/04 14:42:41  knoaman
  + * Change min/maxOccurs from unsigned int to int.
  + *
    * Revision 1.2  2002/03/21 15:41:48  knoaman
    * Move behavior from TraverseSchema.
    *
  @@ -214,8 +217,8 @@
       NodeTypes getType() const;
       ContentSpecNode* orphanFirst();
       ContentSpecNode* orphanSecond();
  -    unsigned int getMinOccurs() const;
  -    unsigned int getMaxOccurs() const;
  +    int getMinOccurs() const;
  +    int getMaxOccurs() const;
       bool isFirstAdopted() const;
       bool isSecondAdopted() const;
   
  @@ -227,8 +230,8 @@
       void setFirst(ContentSpecNode* const toAdopt);
       void setSecond(ContentSpecNode* const toAdopt);
       void setType(const NodeTypes type);
  -    void setMinOccurs(unsigned int min);
  -    void setMaxOccurs(unsigned int max);
  +    void setMinOccurs(int min);
  +    void setMaxOccurs(int max);
       void setAdoptFirst(bool adoptFirst);
       void setAdoptSecond(bool adoptSecond);
   
  @@ -291,8 +294,8 @@
       NodeTypes           fType;
       bool                fAdoptFirst;
       bool                fAdoptSecond;
  -    unsigned int        fMinOccurs;
  -    unsigned int        fMaxOccurs;
  +    int                 fMinOccurs;
  +    int                 fMaxOccurs;
   };
   
   // ---------------------------------------------------------------------------
  @@ -436,12 +439,12 @@
       return retNode;
   }
   
  -inline unsigned int ContentSpecNode::getMinOccurs() const
  +inline int ContentSpecNode::getMinOccurs() const
   {
       return fMinOccurs;
   }
   
  -inline unsigned int ContentSpecNode::getMaxOccurs() const
  +inline int ContentSpecNode::getMaxOccurs() const
   {
       return fMaxOccurs;
   }
  @@ -487,12 +490,12 @@
       fType = type;
   }
   
  -inline void ContentSpecNode::setMinOccurs(unsigned int min)
  +inline void ContentSpecNode::setMinOccurs(int min)
   {
       fMinOccurs = min;
   }
   
  -inline void ContentSpecNode::setMaxOccurs(unsigned int max)
  +inline void ContentSpecNode::setMaxOccurs(int max)
   {
       fMaxOccurs = max;
   }
  
  
  
  1.14      +18 -6     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.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- TraverseSchema.cpp	1 Apr 2002 15:47:06 -0000	1.13
  +++ TraverseSchema.cpp	4 Apr 2002 14:42:41 -0000	1.14
  @@ -55,7 +55,7 @@
    */
   
   /*
  - * $Id: TraverseSchema.cpp,v 1.13 2002/04/01 15:47:06 knoaman Exp $
  + * $Id: TraverseSchema.cpp,v 1.14 2002/04/04 14:42:41 knoaman Exp $
    */
   
   // ---------------------------------------------------------------------------
  @@ -5314,10 +5314,10 @@
   
   void TraverseSchema::checkMinMax(ContentSpecNode* const specNode,
                                    const IDOM_Element* const elem,
  -                            const int allContextFlag) {
  +                                 const int allContextFlag) {
   
  -    unsigned int minOccurs = 1;
  -    unsigned int maxOccurs = 1;
  +    int minOccurs = 1;
  +    int maxOccurs = 1;
       const XMLCh* minOccursStr = getElementAttValue(elem, SchemaSymbols::fgATT_MINOCCURS, true);
       const XMLCh* maxOccursStr = getElementAttValue(elem, SchemaSymbols::fgATT_MAXOCCURS, true);
   
  @@ -5326,7 +5326,13 @@
               minOccurs = specNode->getMinOccurs();
       }
       else {
  -        XMLString::textToBin(minOccursStr, minOccurs);
  +        try {
  +            minOccurs = XMLString::parseInt(minOccursStr);
  +        }
  +        catch (...) {
  +            minOccurs = 1;
  +        }
  +
           if (specNode)
               specNode->setMinOccurs(minOccurs);
       }
  @@ -5344,7 +5350,13 @@
                   maxOccurs = specNode->getMaxOccurs();
           }
           else {
  -            XMLString::textToBin(maxOccursStr, maxOccurs);
  +            try {
  +                maxOccurs = XMLString::parseInt(maxOccursStr);
  +            }
  +            catch(...) {
  +                maxOccurs = minOccurs;
  +            }
  +
               if (specNode)
                   specNode->setMaxOccurs(maxOccurs);
           }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-cvs-help@xml.apache.org