62 facets_[
"length"] =
LENGTH;
63 facets_[
"minLength"]=
MINLEN;
64 facets_[
"maxLength"]=
MAXLEN;
65 facets_[
"enumeration"]=
ENUM;
66 facets_[
"whiteSpace"]=
WSP;
68 facets_[
"maxInclusive"]=
MAXINC;
69 facets_[
"maxExclusive"]=
MAXEX;
70 facets_[
"minInclusive"]=
MININC;
71 facets_[
"minExclusive"]=
MINEX;
73 facets_[
"fractionDigits"]=
FRAC;
77 delete[] validFacets_;
85 error(
"isValidFacet:Unknown base type");
88 int facetType=facets_[facet];
102 int facetType=facets_[facet];
107 enumValues_.push_back(val);
110 facetValue_.
pattern = (
const char*) val.c_str();
113 if (val ==
"preserve")
116 else if (val ==
"collapse")
119 else if (val ==
"replace")
123 error(
"Invalid facet value for whitespace");
155 facetValue_.
tot = num;
158 facetValue_.
frac = num;
164 int numFacets_=facetId_.size();
165 if(!(numFacets_!=0 && (facetId_[numFacets_ - 1] ==
ENUM)))
166 facetId_.push_back(facetType);
177 int numdigits = 1, tmp = val;
179 while ((tmp = tmp / 10))
181 for (
size_t i = 0; i < facetId_.size() && valid; i++)
213 if (numdigits == facetValue_.
length)
253 int strlen = val.length();
255 std::list < std::string >::const_iterator pEnums;
256 for (
size_t i = 0; i < facetId_.size(); i++)
261 if (strlen == facetValue_.
length)
284 for (pEnums = enumValues_.begin();
285 pEnums != enumValues_.end();
319 bool isFacetPresent =
false;
321 i < facetId_.size() && !isFacetPresent;
323 isFacetPresent = (facetId_[i] == facet);
330 val = (
void *) &(enumValues_);
350 val = (
void*) &(facetValue_.
length);
362 val = (
void*) &(facetValue_.
pattern);
366 val = (
void*) &(facetValue_.
tot);
378 void SimpleType::error(std::string msg)
380 msg +=
"SimpleType::error()";