# XSSimpleTypeDefinition Class Reference

Inheritance diagram for XSSimpleTypeDefinition:

List of all members.

## Public Types

enum | VARIETY { VARIETY_ABSENT = 0, VARIETY_ATOMIC = 1, VARIETY_LIST = 2, VARIETY_UNION = 3 }
enum | FACET { FACET_NONE = 0, FACET_LENGTH = 1, FACET_MINLENGTH = 2, FACET_MAXLENGTH = 4, FACET_PATTERN = 8, FACET_WHITESPACE = 16, FACET_MAXINCLUSIVE = 32, FACET_MAXEXCLUSIVE = 64, FACET_MINEXCLUSIVE = 128, FACET_MININCLUSIVE = 256, FACET_TOTALDIGITS = 512, FACET_FRACTIONDIGITS = 1024, FACET_ENUMERATION = 2048 }
enum | ORDERING { ORDERED_FALSE = 0, ORDERED_PARTIAL = 1, ORDERED_TOTAL = 2 }

## Public Member Functions

Constructors
| XSSimpleTypeDefinition (DatatypeValidator *const datatypeValidator, VARIETY stVariety, XSTypeDefinition *const xsBaseType, XSSimpleTypeDefinition *const primitiveOrItemType, XSSimpleTypeDefinitionList *const memberTypes, XSAnnotation *headAnnot, XSModel *const xsModel, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
| The default constructor.
Destructor
| ~XSSimpleTypeDefinition ()
XSSimpleTypeDefinition methods
VARIETY | getVariety () const
| [variety]: one of {atomic, list, union} or absent
XSSimpleTypeDefinition * | getPrimitiveType ()
| If variety is `atomic` the primitive type definition (a built-in primitive datatype definition or the simple ur-type definition) is available, otherwise `null`.
XSSimpleTypeDefinition * | getItemType ()
| If variety is `list` the item type definition (an atomic or union simple type definition) is available, otherwise `null`.
XSSimpleTypeDefinitionList * | getMemberTypes () const
| If variety is `union` the list of member type definitions (a non-empty sequence of simple type definitions) is available, otherwise `null`.
int | getDefinedFacets () const
| [facets]: get all facets defined on this type.
bool | isDefinedFacet (FACET facetName)
| Convenience method.
int | getFixedFacets () const
| [facets]: get all facets defined and fixed on this type.
bool | isFixedFacet (FACET facetName)
| Convenience method.
const XMLCh * | getLexicalFacetValue (FACET facetName)
| Convenience method.
StringList * | getLexicalEnumeration ()
| Returns a list of enumeration values.
StringList * | getLexicalPattern ()
| Returns a list of pattern values.
ORDERING | getOrdered () const
| Fundamental Facet: ordered.
bool | getFinite () const
| Fundamental Facet: cardinality.
bool | getBounded () const
| Fundamental Facet: bounded.
bool | getNumeric () const
| Fundamental Facet: numeric.
XSAnnotationList * | getAnnotations ()
| Optional.
XSFacetList * | getFacets ()
XSMultiValueFacetList * | getMultiValueFacets ()
const XMLCh * | getName () const
| The name of type `NCName` of this declaration as defined in XML Namespaces.
const XMLCh * | getNamespace ()
| The [target namespace] of this object, or `null` if it is unspecified.
XSNamespaceItem * | getNamespaceItem ()
| A namespace schema information item corresponding to the target namespace of the component, if it's globally declared; or null otherwise.
bool | getAnonymous () const
| A boolean that specifies if the type definition is anonymous.
XSTypeDefinition * | getBaseType ()
| {base type definition}: either a simple type definition or a complex type definition.
bool | derivedFromType (const XSTypeDefinition *const ancestorType)
| Convenience method: check if this type is derived from the given `ancestorType`.
DatatypeValidator * | getDatatypeValidator () const

## Protected Attributes

int | fDefinedFacets
int | fFixedFacets
VARIETY | fVariety
DatatypeValidator * | fDatatypeValidator
XSFacetList * | fXSFacetList
XSMultiValueFacetList * | fXSMultiValueFacetList
StringList * | fPatternList
XSSimpleTypeDefinition * | fPrimitiveOrItemType
XSSimpleTypeDefinitionList * | fMemberTypes
XSAnnotationList * | fXSAnnotationList

## Friends

class | XSObjectFactory

## Member Enumeration Documentation

enum XSSimpleTypeDefinition::VARIETY

Enumerator:

  VARIETY_ABSENT | The variety is absent for the anySimpleType definition.
  VARIETY_ATOMIC | `Atomic` type.
  VARIETY_LIST | `List` type.
  VARIETY_UNION | `Union` type.

enum XSSimpleTypeDefinition::FACET

Enumerator:

  FACET_NONE | No facets defined.
  FACET_LENGTH | 4.3.1 Length
  FACET_MINLENGTH | 4.3.2 minLength.
  FACET_MAXLENGTH | 4.3.3 maxLength.
  FACET_PATTERN | 4.3.4 pattern.
  FACET_WHITESPACE | 4.3.5 whitespace.
  FACET_MAXINCLUSIVE | 4.3.7 maxInclusive.
  FACET_MAXEXCLUSIVE | 4.3.9 maxExclusive.
  FACET_MINEXCLUSIVE | 4.3.9 minExclusive.
  FACET_MININCLUSIVE | 4.3.10 minInclusive.
  FACET_TOTALDIGITS | 4.3.11 totalDigits .
  FACET_FRACTIONDIGITS | 4.3.12 fractionDigits.
  FACET_ENUMERATION | 4.3.5 enumeration.

enum XSSimpleTypeDefinition::ORDERING

Enumerator:

  ORDERED_FALSE | A constant defined for the 'ordered' fundamental facet: Not ordered.
  ORDERED_PARTIAL | A constant defined for the 'ordered' fundamental facet: partially ordered.
  ORDERED_TOTAL | A constant defined for the 'ordered' fundamental facet: total ordered.

## Constructor & Destructor Documentation

XSSimpleTypeDefinition::XSSimpleTypeDefinition | ( | DatatypeValidator *const | datatypeValidator,
|  | VARIETY | stVariety,
|  | XSTypeDefinition *const | xsBaseType,
|  | XSSimpleTypeDefinition *const | primitiveOrItemType,
|  | XSSimpleTypeDefinitionList *const | memberTypes,
|  | XSAnnotation * | headAnnot,
|  | XSModel *const | xsModel,
|  | MemoryManager *const | manager = `XMLPlatformUtils::fgMemoryManager` |
| ) |  |  |

The default constructor.

Parameters:

  | datatypeValidator |
  | stVariety |
  | xsBaseType |
  | primitiveOrItemType |
  | memberTypes |
  | headAnnot |
  | xsModel |
  | manager | The configurable memory manager

XSSimpleTypeDefinition::~XSSimpleTypeDefinition | ( |  | ) |

## Member Function Documentation

XSSimpleTypeDefinition::VARIETY XSSimpleTypeDefinition::getVariety | ( |  | ) | const

[variety]: one of {atomic, list, union} or absent

References fVariety.

XSSimpleTypeDefinition * XSSimpleTypeDefinition::getPrimitiveType | ( |  | ) |

If variety is `atomic` the primitive type definition (a built-in primitive datatype definition or the simple ur-type definition) is available, otherwise `null`.

References fPrimitiveOrItemType, fVariety, and VARIETY_ATOMIC.

XSSimpleTypeDefinition * XSSimpleTypeDefinition::getItemType | ( |  | ) |

If variety is `list` the item type definition (an atomic or union simple type definition) is available, otherwise `null`.

References fPrimitiveOrItemType, fVariety, and VARIETY_LIST.

XSSimpleTypeDefinitionList * XSSimpleTypeDefinition::getMemberTypes | ( |  | ) | const

If variety is `union` the list of member type definitions (a non-empty sequence of simple type definitions) is available, otherwise `null`.

References fMemberTypes.

int XSSimpleTypeDefinition::getDefinedFacets | ( |  | ) | const

[facets]: get all facets defined on this type.

The value is a bit combination of FACET_XXX constants of all defined facets.

References fDefinedFacets.

bool XSSimpleTypeDefinition::isDefinedFacet | ( | FACET | facetName | ) |

Convenience method.

[Facets]: check whether a facet is defined on this type.

Parameters:

  | facetName | The name of the facet.

Returns:
  True if the facet is defined, false otherwise.

int XSSimpleTypeDefinition::getFixedFacets | ( |  | ) | const

[facets]: get all facets defined and fixed on this type.

References fFixedFacets.

bool XSSimpleTypeDefinition::isFixedFacet | ( | FACET | facetName | ) |

Convenience method.

[Facets]: check whether a facet is defined and fixed on this type.

Parameters:

  | facetName | The name of the facet.

Returns:
  True if the facet is fixed, false otherwise.

const XMLCh* XSSimpleTypeDefinition::getLexicalFacetValue | ( | FACET | facetName | ) |

Convenience method.

Returns a value of a single constraining facet for this simple type definition. This method must not be used to retrieve values for `enumeration` and `pattern` facets.

Parameters:

  | facetName | The name of the facet, i.e. `FACET_LENGTH, FACET_TOTALDIGITS` (see `XSConstants`).To retrieve value for pattern or enumeration, see `enumeration` and `pattern`.

Returns:
  A value of the facet specified in `facetName` for this simple type definition or `null`.

StringList* XSSimpleTypeDefinition::getLexicalEnumeration | ( |  | ) |

Returns a list of enumeration values.

StringList * XSSimpleTypeDefinition::getLexicalPattern | ( |  | ) |

Returns a list of pattern values.

References fPatternList.

ORDERING XSSimpleTypeDefinition::getOrdered | ( |  | ) | const

Fundamental Facet: ordered.

bool XSSimpleTypeDefinition::getFinite | ( |  | ) | const

Fundamental Facet: cardinality.

bool XSSimpleTypeDefinition::getBounded | ( |  | ) | const

Fundamental Facet: bounded.

bool XSSimpleTypeDefinition::getNumeric | ( |  | ) | const

Fundamental Facet: numeric.

XSAnnotationList * XSSimpleTypeDefinition::getAnnotations | ( |  | ) |

Optional.

A set of [annotation]s.

References fXSAnnotationList.

XSFacetList * XSSimpleTypeDefinition::getFacets | ( |  | ) |

Returns:
  list of constraining facets. This method must not be used to retrieve values for `enumeration` and `pattern` facets.

References fXSFacetList.

XSMultiValueFacetList * XSSimpleTypeDefinition::getMultiValueFacets | ( |  | ) |

Returns:
  list of enumeration and pattern facets.

References fXSMultiValueFacetList.

const XMLCh* XSSimpleTypeDefinition::getName | ( |  | ) | const`[virtual]`

The name of type `NCName` of this declaration as defined in XML Namespaces.

Implements XSTypeDefinition.

const XMLCh* XSSimpleTypeDefinition::getNamespace | ( |  | ) | `[virtual]`

The [target namespace] of this object, or `null` if it is unspecified.

Implements XSTypeDefinition.

XSNamespaceItem* XSSimpleTypeDefinition::getNamespaceItem | ( |  | ) | `[virtual]`

A namespace schema information item corresponding to the target namespace of the component, if it's globally declared; or null otherwise.

Implements XSTypeDefinition.

bool XSSimpleTypeDefinition::getAnonymous | ( |  | ) | const`[virtual]`

A boolean that specifies if the type definition is anonymous.

Convenience attribute.

Implements XSTypeDefinition.

XSTypeDefinition* XSSimpleTypeDefinition::getBaseType | ( |  | ) | `[virtual]`

{base type definition}: either a simple type definition or a complex type definition.

Implements XSTypeDefinition.

bool XSSimpleTypeDefinition::derivedFromType | ( | const XSTypeDefinition *const | ancestorType | ) | `[virtual]`

Convenience method: check if this type is derived from the given `ancestorType`.

Parameters:

  | ancestorType | An ancestor type definition.

Returns:
  Return true if this type is derived from `ancestorType`.

Implements XSTypeDefinition.

DatatypeValidator * XSSimpleTypeDefinition::getDatatypeValidator | ( |  | ) | const

References fDatatypeValidator.

## Friends And Related Function Documentation

friend class XSObjectFactory`[friend]`

## Member Data Documentation

int XSSimpleTypeDefinition::fDefinedFacets`[protected]`

Referenced by getDefinedFacets().

int XSSimpleTypeDefinition::fFixedFacets`[protected]`

Referenced by getFixedFacets().

VARIETY XSSimpleTypeDefinition::fVariety`[protected]`

Referenced by getItemType(), getPrimitiveType(), and getVariety().

DatatypeValidator* XSSimpleTypeDefinition::fDatatypeValidator`[protected]`

Referenced by getDatatypeValidator().

XSFacetList* XSSimpleTypeDefinition::fXSFacetList`[protected]`

Referenced by getFacets().

XSMultiValueFacetList* XSSimpleTypeDefinition::fXSMultiValueFacetList`[protected]`

Referenced by getMultiValueFacets().

StringList* XSSimpleTypeDefinition::fPatternList`[protected]`

Referenced by getLexicalPattern().

XSSimpleTypeDefinition* XSSimpleTypeDefinition::fPrimitiveOrItemType`[protected]`

Referenced by getItemType(), and getPrimitiveType().

XSSimpleTypeDefinitionList* XSSimpleTypeDefinition::fMemberTypes`[protected]`

Referenced by getMemberTypes().

XSAnnotationList* XSSimpleTypeDefinition::fXSAnnotationList`[protected]`

Referenced by getAnnotations().

The documentation for this class was generated from the following file:

- XSSimpleTypeDefinition.hpp