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