| API Docs for SAX and DOM |

Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages

# XSComplexTypeDefinition Class Reference

This class represents a complexType definition schema component. More...

Inheritance diagram for XSComplexTypeDefinition:

[legend]
List of all members.

## Public Types

enum | CONTENT_TYPE { CONTENTTYPE_EMPTY = 0, CONTENTTYPE_SIMPLE = 1, CONTENTTYPE_ELEMENT = 2, CONTENTTYPE_MIXED = 3 }

## Public Member Functions

Constructors
| XSComplexTypeDefinition (ComplexTypeInfo *const complexTypeInfo, XSWildcard *const xsWildcard, XSSimpleTypeDefinition *const xsSimpleType, XSAttributeUseList *const xsAttList, XSTypeDefinition *const xsBaseType, XSParticle *const xsParticle, XSAnnotation *const headAnnot, XSModel *const xsModel, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
| The default constructor.
Destructor
| ~XSComplexTypeDefinition ()
XSComplexTypeDefinition methods
XSConstants::DERIVATION_TYPE | getDerivationMethod () const
| [derivation method]: either `DERIVATION_EXTENSION`, `DERIVATION_RESTRICTION`, or `DERIVATION_NONE` (see `XSObject`).
bool | getAbstract () const
| [abstract]: a boolean.
XSAttributeUseList * | getAttributeUses ()
| A set of attribute uses.
XSWildcard * | getAttributeWildcard () const
| Optional.An attribute wildcard.
CONTENT_TYPE | getContentType () const
| [content type]: one of empty (`CONTENTTYPE_EMPTY`), a simple type definition (`CONTENTTYPE_SIMPLE`), mixed ( `CONTENTTYPE_MIXED`), or element-only ( `CONTENTTYPE_ELEMENT`).
XSSimpleTypeDefinition * | getSimpleType () const
| A simple type definition corresponding to simple content model, otherwise `null`.
XSParticle * | getParticle () const
| A particle for mixed or element-only content model, otherwise `null`.
bool | isProhibitedSubstitution (XSConstants::DERIVATION_TYPE toTest)
| [prohibited substitutions]: a subset of {extension, restriction}
short | getProhibitedSubstitutions () const
| [prohibited substitutions]: A subset of {extension, restriction} or `DERIVATION_NONE` represented as a bit flag (see `XSObject`).
XSAnnotationList * | getAnnotations ()
| A set of [annotations].
const XMLCh * | getName ()
| 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`.

## Protected Attributes

ComplexTypeInfo * | fComplexTypeInfo
XSWildcard * | fXSWildcard
XSAttributeUseList * | fXSAttributeUseList
XSSimpleTypeDefinition * | fXSSimpleTypeDefinition
XSAnnotationList * | fXSAnnotationList
XSParticle * | fParticle
short | fProhibitedSubstitution

## Friends

class | XSObjectFactory

## Detailed Description

This class represents a complexType definition schema component.

This is *always* owned by the validator /parser object from which it is obtained.

## Member Enumeration Documentation

enum XSComplexTypeDefinition::CONTENT_TYPE

Enumeration values:

  CONTENTTYPE_EMPTY | Represents an empty content type. A content type with the distinguished value empty validates elements with no character or element information item children.
  CONTENTTYPE_SIMPLE | Represents a simple content type. A content type which is a simple validates elements with character-only children.
  CONTENTTYPE_ELEMENT | Represents an element-only content type. An element-only content type validates elements with children that conform to the supplied content model.
  CONTENTTYPE_MIXED | Represents a mixed content type.

## Constructor & Destructor Documentation

XSComplexTypeDefinition::XSComplexTypeDefinition | ( | ComplexTypeInfo *const | complexTypeInfo,
|  | XSWildcard *const | xsWildcard,
|  | XSSimpleTypeDefinition *const | xsSimpleType,
|  | XSAttributeUseList *const | xsAttList,
|  | XSTypeDefinition *const | xsBaseType,
|  | XSParticle *const | xsParticle,
|  | XSAnnotation *const | headAnnot,
|  | XSModel *const | xsModel,
|  | MemoryManager *const | manager = `XMLPlatformUtils::fgMemoryManager`
| ) |

The default constructor.

Parameters:

  | complexTypeInfo |
  | xsWildcard |
  | xsSimpleType |
  | xsAttList |
  | xsBaseType |
  | xsParticle |
  | headAnnot |
  | xsModel |
  | manager | The configurable memory manager

XSComplexTypeDefinition::~XSComplexTypeDefinition | ( |  | ) |

## Member Function Documentation

bool XSComplexTypeDefinition::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.

bool XSComplexTypeDefinition::getAbstract | ( |  | ) | const

| [abstract]: a boolean. Complex types for which `abstract` is true must not be used as the type definition for the validation of element information items.

XSAnnotationList* XSComplexTypeDefinition::getAnnotations | ( |  | ) |

| A set of [annotations].

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

| A boolean that specifies if the type definition is anonymous. Convenience attribute. Implements XSTypeDefinition.

XSAttributeUseList * XSComplexTypeDefinition::getAttributeUses | ( |  | ) |

| A set of attribute uses.

XSWildcard * XSComplexTypeDefinition::getAttributeWildcard | ( |  | ) | const

| Optional.An attribute wildcard.

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

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

CONTENT_TYPE XSComplexTypeDefinition::getContentType | ( |  | ) | const

| [content type]: one of empty (`CONTENTTYPE_EMPTY`), a simple type definition (`CONTENTTYPE_SIMPLE`), mixed ( `CONTENTTYPE_MIXED`), or element-only ( `CONTENTTYPE_ELEMENT`).

XSConstants::DERIVATION_TYPE XSComplexTypeDefinition::getDerivationMethod | ( |  | ) | const

| [derivation method]: either `DERIVATION_EXTENSION`, `DERIVATION_RESTRICTION`, or `DERIVATION_NONE` (see `XSObject`).

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

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

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

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

XSNamespaceItem* XSComplexTypeDefinition::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.

XSParticle * XSComplexTypeDefinition::getParticle | ( |  | ) | const

| A particle for mixed or element-only content model, otherwise `null`.

short XSComplexTypeDefinition::getProhibitedSubstitutions | ( |  | ) | const

| [prohibited substitutions]: A subset of {extension, restriction} or `DERIVATION_NONE` represented as a bit flag (see `XSObject`).

XSSimpleTypeDefinition * XSComplexTypeDefinition::getSimpleType | ( |  | ) | const

| A simple type definition corresponding to simple content model, otherwise `null`.

bool XSComplexTypeDefinition::isProhibitedSubstitution | ( | XSConstants::DERIVATION_TYPE | toTest | ) |

[prohibited substitutions]: a subset of {extension, restriction}

Parameters:

  | toTest | Extention or restriction constants (see `XSObject`).

Returns:
  True if toTest is a prohibited substitution, otherwise false.

## Friends And Related Function Documentation

friend class XSObjectFactory`[friend]`

## Member Data Documentation

ComplexTypeInfo* XSComplexTypeDefinition::fComplexTypeInfo `[protected]`

XSParticle* XSComplexTypeDefinition::fParticle `[protected]`

short XSComplexTypeDefinition::fProhibitedSubstitution `[protected]`

XSAnnotationList* XSComplexTypeDefinition::fXSAnnotationList `[protected]`

XSAttributeUseList* XSComplexTypeDefinition::fXSAttributeUseList `[protected]`

XSSimpleTypeDefinition* XSComplexTypeDefinition::fXSSimpleTypeDefinition `[protected]`

XSWildcard* XSComplexTypeDefinition::fXSWildcard `[protected]`

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

- XSComplexTypeDefinition.hpp

Copyright © 1994-2004 The Apache Software Foundation. All Rights Reserved.