Пример #1
0
void
DTDElementDecl::setContentSpec(ContentSpecNode* toAdopt)
{
    delete fContentSpec;
    fContentSpec = toAdopt;

    //reset Content Model
    setContentModel(0);

}
Пример #2
0
void ComplexTypeInfo::setContentSpec(ContentSpecNode* const toAdopt) {

    if (fContentSpec && fAdoptContentSpec) {
        delete fContentSpec;
    }

    fContentSpec = toAdopt;

    //reset Content Model
    setContentModel(0);
}
Пример #3
0
SimpleType::SimpleType(const std::string&  ns)
  :XSDType(ns),
   isList_(false),
   isUnion_(false),
   uTypes_(0)
{
  setContentModel(Schema::Simple);
  facetId_.clear();

  validFacets_ = new int[XSD_ANYURI + 1];

  //This table maintains a flag which indicates what facets_ are valid  for a simple type
  validFacets_[XSD_STRING] = validFacets_[XSD_NMTOKEN] = validFacets_[XSD_NMTOKENS] =
    validFacets_[XSD_TOKEN] =
    LENGTH | MINLEN | MAXLEN | ENUM | WSP | PATTERN;
  validFacets_[XSD_INTEGER] = validFacets_[XSD_INT] = validFacets_[XSD_UINT] =
    validFacets_[XSD_BYTE] = validFacets_[XSD_POSINT] =
    ENUM | WSP | MAXEX | MINEX | MAXINC | MININC | TOTALDIGITS | FRAC |
    PATTERN;
  validFacets_[XSD_LONG] = validFacets_[XSD_ULONG] = validFacets_[XSD_DECIMAL] =
    validFacets_[XSD_INT];
  validFacets_[XSD_SHORT] = validFacets_[XSD_USHORT] = validFacets_[XSD_INT];
  validFacets_[XSD_FLOAT] = validFacets_[XSD_DOUBLE] =
    ENUM | WSP | MAXEX | MINEX | MAXINC | MININC | PATTERN;
  validFacets_[XSD_BOOLEAN] = WSP | PATTERN;
  validFacets_[XSD_TIME] = validFacets_[XSD_DATETIME] = validFacets_[XSD_DATE] =
    ENUM | WSP | MAXEX | MINEX | MAXINC | MININC | PATTERN;
  validFacets_[XSD_QNAME] = validFacets_[XSD_NCNAME] = validFacets_[XSD_ANYURI] =
    LENGTH | MINLEN | MAXLEN | ENUM | WSP | PATTERN;
  validFacets_[XSD_ANY] = validFacets_[XSD_ANYTYPE] = NONE | PATTERN;
  validFacets_[XSD_BASE64BIN] = validFacets_[XSD_STRING];

  //initialize the union??TODO
  facetValue_.numEnums = 0;

  facets_["length"] = LENGTH;
  facets_["minLength"]= MINLEN;
  facets_["maxLength"]= MAXLEN;
  facets_["enumeration"]= ENUM;
  facets_["whiteSpace"]= WSP;
  facets_["pattern"]= PATTERN;
  facets_["maxInclusive"]= MAXINC;
  facets_["maxExclusive"]= MAXEX;
  facets_[ "minInclusive"]= MININC;
  facets_["minExclusive"]= MINEX;
  facets_["totalDigits"]= TOTALDIGITS;
  facets_["fractionDigits"]= FRAC;
}