Elm  2
ELM is a library providing generic data structures, OS-independent interface, plugins and XML.
IDAttribute Class Reference

#include <elm/xom/dtd.h>

+ Inheritance diagram for IDAttribute:

Public Member Functions

 IDAttribute (Element &element, xom::String name, t::uint32 flags=0)
 
xom::String operator* () const
 
- Public Member Functions inherited from AbstractAttribute
 AbstractAttribute (Element &element, xom::String name, t::uint32 flags=0)
 
virtual ~AbstractAttribute ()
 
xom::String name () const
 
Elementelement () const
 
bool isRequired () const
 
bool isStrict () const
 
bool isForward () const
 
bool isSet () const
 
bool operator== (const AbstractAttribute &a) const
 
bool operator!= (const AbstractAttribute &a) const
 

Protected Member Functions

bool process (Parser &parser, xom::String value) override
 
void reset () override
 
void postprocess (Parser &parser) override
 
- Protected Member Functions inherited from AbstractAttribute
bool parse (Parser &parser)
 

Additional Inherited Members

- Static Public Attributes inherited from AbstractAttribute
static const t::uint32 REQUIRED = 0x01
 
static const t::uint32 STRICT = 0x02
 
static const t::uint32 FORWARD = 0x04
 

Detailed Description

DTD attribute used as an identifier. The associated application object is recorded in the parser identifier map thanks to a call to Factory::getRef().

Constructor & Destructor Documentation

◆ IDAttribute()

IDAttribute ( Element element,
xom::String  name,
t::uint32  flags = 0 
)

Build an identifier attribute.

Parameters
elementParent element.
nameAttribute name.
flagsAttribute flags (see AbstractAttribute, optional).

Member Function Documentation

◆ operator*()

xom::String operator* ( ) const
inline

◆ postprocess()

void postprocess ( Parser parser)
overrideprotectedvirtual

Function called after the call to Factory::begin() for the element containing the attribute, if it has been recorded with Parser::addPost(). It is used for attributes requiring the reference to the application current object like identifiers or forward references.

The default implementation does nothing.

Parameters
parserCurrent parser.

Reimplemented from AbstractAttribute.

References AbstractAttribute::element(), and Parser::recordID().

◆ process()

bool process ( Parser parser,
xom::String  value 
)
overrideprotectedvirtual

This function is called by parse() if a value is found for the attribute. The role of this function is to process the found value. The default implementation does nothing but it can overridden.

Reimplemented from AbstractAttribute.

References elm::_, Parser::addPost(), Parser::hasID(), AbstractAttribute::isStrict(), AbstractAttribute::name(), and Parser::raise().

◆ reset()

void reset ( )
overrideprotectedvirtual

Function called to reset the value stored in the attribute. The default implementation does nothing but it can be overridden.

Reimplemented from AbstractAttribute.

References AbstractAttribute::reset().


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