# XMLAttDefList Class Reference

This class defines an abstract interface that all validators must support. More...

Inheritance diagram for XMLAttDefList:

List of all members.

## Public Member Functions

virtual bool | isEmpty () const =0
virtual XMLAttDef * | findAttDef (const unsigned int uriID, const XMLCh *const attName)=0
virtual const XMLAttDef * | findAttDef (const unsigned int uriID, const XMLCh *const attName) const =0
virtual XMLAttDef * | findAttDef (const XMLCh *const attURI, const XMLCh *const attName)=0
virtual const XMLAttDef * | findAttDef (const XMLCh *const attURI, const XMLCh *const attName) const =0
virtual XMLSize_t | getAttDefCount () const =0
| return total number of attributes in this list
virtual XMLAttDef & | getAttDef (XMLSize_t index)=0
| return attribute at the index-th position in the list.
virtual const XMLAttDef & | getAttDef (XMLSize_t index) const =0
| return attribute at the index-th position in the list.
Destructor
virtual | ~XMLAttDefList ()
Getter methods
MemoryManager * | getMemoryManager () const
| Get the memory manager.

## Protected Member Functions

| XMLAttDefList (MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)

## Detailed Description

This class defines an abstract interface that all validators must support.

When the scanner scans the attributes in a start tag, it must have a list of the defined attributes for that element. This is used to fault in defaulted and fixed attributes, to know which ones are required, and to know the their types in order to do the correct normalization.

Since each validator will have its own derivatives of XMLAttDef and will have its own specialized storage mechanisms for elements and the att defs that they own, there must be an abstracted way for the scanner to deal with this list.

It does not derive from the generic Enumerator template class, because there are portability issues with deriving from a template class in a DLL. It does though provide a similar enumerator interface.

## Constructor & Destructor Documentation

XMLAttDefList::~XMLAttDefList | ( |  | ) | `[virtual]`

XMLAttDefList::XMLAttDefList | ( | MemoryManager *const | manager = `XMLPlatformUtils::fgMemoryManager` | ) | `[protected]`

## Member Function Documentation

virtual bool XMLAttDefList::isEmpty | ( |  | ) | const`[pure virtual]`

virtual XMLAttDef* XMLAttDefList::findAttDef | ( | const unsigned int | uriID,
|  | const XMLCh *const | attName |
| ) |  |  | `[pure virtual]`

virtual const XMLAttDef* XMLAttDefList::findAttDef | ( | const unsigned int | uriID,
|  | const XMLCh *const | attName |
| ) |  |  | const`[pure virtual]`

virtual XMLAttDef* XMLAttDefList::findAttDef | ( | const XMLCh *const | attURI,
|  | const XMLCh *const | attName |
| ) |  |  | `[pure virtual]`

virtual const XMLAttDef* XMLAttDefList::findAttDef | ( | const XMLCh *const | attURI,
|  | const XMLCh *const | attName |
| ) |  |  | const`[pure virtual]`

virtual XMLSize_t XMLAttDefList::getAttDefCount | ( |  | ) | const`[pure virtual]`

return total number of attributes in this list

virtual XMLAttDef& XMLAttDefList::getAttDef | ( | XMLSize_t | index | ) | `[pure virtual]`

return attribute at the index-th position in the list.

virtual const XMLAttDef& XMLAttDefList::getAttDef | ( | XMLSize_t | index | ) | const`[pure virtual]`

return attribute at the index-th position in the list.

MemoryManager * XMLAttDefList::getMemoryManager | ( |  | ) | const

Get the memory manager.

This method returns the configurable memory manager used by the element declaration for dynamic allocation/deallocation.

Returns:
  the memory manager

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

- XMLAttDefList.hpp