Interface for XML nodes. More...
#include <ilog/xml.h>
Public Types | |
| enum | Type { Attribute, Element, Text, Comment, CData, PI, CharRef, EntityRef } |
| The different types of XML nodes. More... | |
Public Member Functions | |
| virtual Type | getType () const =0 |
| Retrieves the type of this element. More... | |
| virtual std::ostream & | write (std::ostream &stream) const =0 |
| Writes the XML code for this node. More... | |
Interface for XML nodes.
Library: ilog
Every entity that is parsed in an XML stream is converted to an instance of a subclass of IlXmlNodeI.
There are several subclasses of this interface, to handle the different entity types:
IlXmlElementI: manipulates nodes that can have child nodes as well as attributes (accessed through the IlXmlAttributeI interface). We call these "<i>elements</i>" for short. IlXmlAttributeI: stores a key-value pair associated with an element. IlXmlCommentI: manipulates XML comments that can be found in the XML stream. We call these "<EM>comments</EM>" for short. IlXmlTextI: manipulates text entities that are located in elements. We call these "<EM>texts</EM>" for short. IlXmlPII: manipulates processing instruction entities. We call these "<EM>PIs</EM>" for short. IlXmlCharRefI: manipulates CharRef entities that make it possible to address non-printable characters, or escape the characters that the XML format uses (such as '&' or '<'). We call these "<EM>CharRefs</EM>" for short. | enum IlXmlNodeI::Type |
The different types of XML nodes.
|
pure virtual |
Retrieves the type of this element.
Implemented in IlXmlCharRefI, IlXmlCDataI, IlXmlPII, IlXmlTextI, IlXmlCommentI, IlXmlElementI, and IlXmlAttributeI.
|
pure virtual |
Writes the XML code for this node.
Each subclass of this class implements its own version of write(), depending on its type.
| stream | The output stream where the XML code will be sent. |
Implemented in IlXmlAttributeI, and IlXmlElementI.