XMLElementDecl Class Reference

This class defines the core information of an element declaration. More...

Inheritance diagram for XMLElementDecl:

XMemory

List of all members.

Public Types

enum  CreateReasons {
  NoReason, Declared, AttList, InContentModel,
  AsRootElem, JustFaultIn
}
enum  CharDataOpts { NoCharData, SpacesOk, AllCharData }
enum  objectType { Schema, DTD, UnKnown }

Public Member Functions

virtual XMLElementDecl::objectType getObjectType () const =0
Destructor
virtual ~XMLElementDecl ()
Virual ElementDecl interface
virtual XMLAttDefListgetAttDefList () const =0
 Get a list of attributes defined for this element.
virtual CharDataOpts getCharDataOpts () const =0
 The character data options for this element type.
virtual bool hasAttDefs () const =0
 Indicate whether this element type defined any attributes.
virtual const ContentSpecNode * getContentSpec () const =0
 Get a pointer to the content spec node.
virtual ContentSpecNode * getContentSpec ()=0
 Get a pointer to the content spec node.
virtual void setContentSpec (ContentSpecNode *toAdopt)=0
 Set the content spec node object for this element type.
virtual XMLContentModelgetContentModel ()=0
 Get a pointer to the abstract content model.
virtual void setContentModel (XMLContentModel *const newModelToAdopt)=0
 Set the content model object for this element type.
virtual const XMLChgetFormattedContentModel () const =0
 Geta formatted string of the content model.
Getter methods
const XMLChgetBaseName () const
 Get the base name of this element type.
XMLChgetBaseName ()
unsigned int getURI () const
 Get the URI id of this element type.
const QNamegetElementName () const
 Get the QName of this element type.
QNamegetElementName ()
const XMLChgetFullName () const
 Get the full name of this element type.
CreateReasons getCreateReason () const
 Get the create reason for this element type.
XMLSize_t getId () const
 Get the element decl pool id for this element type.
bool isDeclared () const
 Indicate whether this element type has been declared yet.
bool isExternal () const
 Indicate whether this element type has been declared externally.
MemoryManagergetMemoryManager () const
 Get the memory manager.
Setter methods
void setElementName (const XMLCh *const prefix, const XMLCh *const localPart, const int uriId)
 Set the element name object for this element type.
void setElementName (const XMLCh *const rawName, const int uriId)
 Set the element name object for this element type.
void setElementName (const QName *const elementName)
 Set the element name object for this element type.
void setCreateReason (const CreateReasons newReason)
 Update the create reason for this element type.
void setId (const XMLSize_t newId)
 Set the element decl pool id for this element type.
void setExternalElemDeclaration (const bool aValue)
 Set the element decl to indicate external declaration.

Static Public Member Functions

static void storeElementDecl (XSerializeEngine &serEng, XMLElementDecl *const element)
static XMLElementDeclloadElementDecl (XSerializeEngine &serEng)

Static Public Attributes

static const unsigned int fgInvalidElemId
static const unsigned int fgPCDataElemId
static const XMLCh fgPCDataElemName []

Protected Member Functions

 XMLElementDecl (MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)


Detailed Description

This class defines the core information of an element declaration.

Each validator (DTD, Schema, etc...) will have its own information that it associations with the declaration of an element, but they must all share at least this core information, i.e. they must all derive from this class. The set of info enforced at this level is driven by the needs of XML 1.0 spec validation and well formedness checks.

This class defines some special element id values for invalid elements and PCDATA elements, as well as a string for the special PCDATA element name. All validators must honor these special values in order to allow content models to work generically (i.e. to let code know when its dealing with invalid or PCDATA element ids without having to know what type of validator its messing with.)


Member Enumeration Documentation

Enumerator:
NoReason 
Declared 
AttList 
InContentModel 
AsRootElem 
JustFaultIn 

Enumerator:
NoCharData 
SpacesOk 
AllCharData 

Enumerator:
Schema 
DTD 
UnKnown 


Constructor & Destructor Documentation

virtual XMLElementDecl::~XMLElementDecl (  )  [virtual]

XMLElementDecl::XMLElementDecl ( MemoryManager *const   manager = XMLPlatformUtils::fgMemoryManager  )  [protected]


Member Function Documentation

virtual XMLAttDefList& XMLElementDecl::getAttDefList (  )  const [pure virtual]

Get a list of attributes defined for this element.

The derived class should return a reference to some member object which implements the getFullName () const  Get the full name of this element type.
CreateReasons getCreateReason () const  Get the create reason for this element type.
XMLSize_t getId () const  Get the element decl pool id for this element type.
bool isDeclared () const  Indicate whether this element type has been declared yet.
bool isExternal () const  Indicate whether this element type has been declared externally.
MemoryManagergetMemoryManager () const  Get the memory manager.

Setter methods
void setElementName (const XMLCh *const prefix, const XMLCh *const localPart, const int uriId)  Set the element name object for this element type.
void setElementName (const XMLCh *const rawName, const int uriId)  Set the element name object for this element type.
void setElementName (const QName *const elementName)  Set the element name object for this element type.
void setCreateReason (const CreateReasons newReason)  Update the create reason for this element type.
void setId (const XMLSize_t newId)  Set the element decl pool id for this element type.
void setExternalElemDeclaration (const bool aValue)  Set the element decl to indicate external declaration.

Static Public Member Functions

static void storeElementDecl (XSerializeEngine &serEng, XMLElementDecl *const element) static XMLElementDeclloadElementDecl (XSerializeEngine &serEng)

Static Public Attributes

static const unsigned int fgInvalidElemId static const unsigned int fgPCDataElemId static const XMLCh fgPCDataElemName []

Protected Member Functions

 XMLElementDecl (MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)

Detailed Description

This class defines the core information of an element declaration.

Each validator (DTD, Schema, etc...) will have its own information that it associations with the declaration of an element, but they must all share at least this core information, i.e. they must all derive from this class. The set of info enforced at this level is driven by the needs of XML 1.0 spec validation and well formedness checks.

This class defines some special element id values for invalid elements and PCDATA elements, as well as a string for the special PCDATA element name. All validators must honor these special values in order to allow content models to work generically (i.e. to let code know when its dealing with invalid or PCDATA element ids without having to know what type of validator its messing with.)


Member Enumeration Documentation

Enumerator:
NoReason 
Declared 
AttList 
InContentModel 
AsRootElem 
JustFaultIn 

Enumerator:
NoCharData 
SpacesOk 
AllCharData 

Enumerator:
Schema 
DTD 
UnKnown 


Constructor & Destructor Documentation

virtual XMLElementDecl::~XMLElementDecl (  )  [virtual]

XMLElementDecl::XMLElementDecl ( MemoryManager *const   manager = XMLPlatformUtils::fgMemoryManager  )  [protected]


Member Function Documentation

virtual XMLAttDefList& XMLElementDecl::getAttDefList (  )  const [pure virtual]

Get a list of attributes defined for this element.

The derived class should return a reference to some member object which implements the getFullName () const  Get the full name of this element type.
CreateReasons getCreateReason () const  Get the create reason for this element type.
XMLSize_t getId () const  Get the element decl pool id for this element type.
bool isDeclared () const  Indicate whether this element type has been declared yet.
bool isExternal () const  Indicate whether this element type has been declared externally.
MemoryManagergetMemoryManager () const  Get the memory manager.

Setter methods
void setElementName (const XMLCh *const prefix, const XMLCh *const localPart, const int uriId)  Set the element name object for this element type.
void setElementName (const XMLCh *const rawName, const int uriId)  Set the element name object for this element type.
void setElementName (const QName *const elementName)  Set the element name object for this element type.
void setCreateReason (const CreateReasons newReason)  Update the create reason for this element type.
void setId (const XMLSize_t newId)  Set the element decl pool id for this element type.
void setExternalElemDeclaration (const bool aValue)  Set the element decl to indicate external declaration.

Static Public Member Functions

static void storeElementDecl (XSerializeEngine &serEng, XMLElementDecl *const element) static XMLElementDeclloadElementDecl (XSerializeEngine &serEng)

Static Public Attributes

static const unsigned int fgInvalidElemId static const unsigned int fgPCDataElemId static const XMLCh fgPCDataElemName []

Protected Member Functions

 XMLElementDecl (MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)

Detailed Description

This class defines the core information of an element declaration.

Each validator (DTD, Schema, etc...) will have its own information that it associations with the declaration of an element, but they must all share at least this core information, i.e. they must all derive from this class. The set of info enforced at this level is driven by the needs of XML 1.0 spec validation and well formedness checks.

This class defines some special element id values for invalid elements and PCDATA elements, as well as a string for the special PCDATA element name. All validators must honor these special values in order to allow content models to work generically (i.e. to let code know when its dealing with invalid or PCDATA element ids without having to know what type of validator its messing with.)


Member Enumeration Documentation

Enumerator:
NoReason 
Declared 
AttList 
InContentModel 
AsRootElem 
JustFaultIn 

Enumerator:
NoCharData 
SpacesOk 
AllCharData 

Enumerator:
Schema 
DTD 
UnKnown 


Constructor & Destructor Documentation

virtual XMLElementDecl::~XMLElementDecl (  )  [virtual]

XMLElementDecl::XMLElementDecl ( MemoryManager *const   manager = XMLPlatformUtils::fgMemoryManager<