Nirtcpp 2.1.0
Nirtcpp is a high-performance c++ graphics engine.
Loading...
Searching...
No Matches
nirt::io::IIrrXMLReader< char_type, super_class > Class Template Referenceabstract

Interface providing easy read access to a XML file. More...

#include <nirtcpp/core/engine/irrXML.hpp>

Inheritance diagram for nirt::io::IIrrXMLReader< char_type, super_class >:
Inheritance graph
Collaboration diagram for nirt::io::IIrrXMLReader< char_type, super_class >:
Collaboration graph

Public Member Functions

virtual ~IIrrXMLReader ()
 Destructor.
 
virtual bool read ()=0
 Reads forward to the next xml node.
 
virtual EXML_NODE getNodeType () const =0
 Returns the type of the current XML node.
 
virtual unsigned int getAttributeCount () const =0
 Returns attribute count of the current XML node.
 
virtual const char_type * getAttributeName (int idx) const =0
 Returns name of an attribute.
 
virtual const char_type * getAttributeValue (int idx) const =0
 Returns the value of an attribute.
 
virtual const char_type * getAttributeValue (const char_type *name) const =0
 Returns the value of an attribute.
 
virtual const char_type * getAttributeValueSafe (const char_type *name) const =0
 Returns the value of an attribute in a safe way.
 
virtual int getAttributeValueAsInt (const char_type *name, int defaultNotFound=0) const =0
 Returns the value of an attribute as integer.
 
virtual int getAttributeValueAsInt (int idx, int defaultNotFound=0) const =0
 Returns the value of an attribute as integer.
 
virtual float getAttributeValueAsFloat (const char_type *name, float defaultNotFound=0.f) const =0
 Returns the value of an attribute as float.
 
virtual float getAttributeValueAsFloat (int idx, float defaultNotFound=0.f) const =0
 Returns the value of an attribute as float.
 
virtual const char_type * getNodeName () const =0
 Returns the name of the current node.
 
virtual const char_type * getNodeData () const =0
 Returns data of the current node.
 
virtual bool isEmptyElement () const =0
 Returns if an element is an empty element, like <foo />
 
virtual ETEXT_FORMAT getSourceFormat () const =0
 Returns format of the source xml file.
 
virtual ETEXT_FORMAT getParserFormat () const =0
 Returns format of the strings returned by the parser.
 

Detailed Description

template<class char_type, class super_class>
class nirt::io::IIrrXMLReader< char_type, super_class >

Interface providing easy read access to a XML file.

You can create an instance of this reader using one of the factory functions createIrrXMLReader(), createIrrXMLReaderUTF16() and createIrrXMLReaderUTF32(). If using the parser from the Nirtcpp Engine, please use IFileSystem::createXMLReader() instead. For a detailed intro how to use the parser, see Example and Features.

The typical usage of this parser looks like this:

#include <irrXML.h>
using namespace nirt; // irrXML is located in the namespace nirt::io
using namespace io;
void main()
{
// create the reader using one of the factory functions
IrrXMLReader* xml = createIrrXMLReader("config.xml");
if (xml == 0)
return; // file could not be opened
// parse the file until end reached
while(xml->read())
{
// based on xml->getNodeType(), do something.
}
// delete the xml parser after usage
delete xml;
}
Interface providing easy read access to a XML file.
Definition irrXML.hpp:277
virtual bool read()=0
Reads forward to the next xml node.
As of Nirtcpp 1.6, position2d is a synonym for vector2d.
Definition vector3d.hpp:11

See Example for a more detailed example.

Member Function Documentation

◆ getAttributeCount()

template<class char_type , class super_class >
virtual unsigned int nirt::io::IIrrXMLReader< char_type, super_class >::getAttributeCount ( ) const
pure virtual

Returns attribute count of the current XML node.

This is usually non null if the current node is EXN_ELEMENT, and the element has attributes.

Returns
Returns amount of attributes of this xml node.

◆ getAttributeName()

template<class char_type , class super_class >
virtual const char_type * nirt::io::IIrrXMLReader< char_type, super_class >::getAttributeName ( int  idx) const
pure virtual

Returns name of an attribute.

Parameters
idxZero based index, should be something between 0 and getAttributeCount()-1.
Returns
Name of the attribute, 0 if an attribute with this index does not exist.

◆ getAttributeValue() [1/2]

template<class char_type , class super_class >
virtual const char_type * nirt::io::IIrrXMLReader< char_type, super_class >::getAttributeValue ( const char_type *  name) const
pure virtual

Returns the value of an attribute.

Parameters
nameName of the attribute.
Returns
Value of the attribute, 0 if an attribute with this name does not exist.

◆ getAttributeValue() [2/2]

template<class char_type , class super_class >
virtual const char_type * nirt::io::IIrrXMLReader< char_type, super_class >::getAttributeValue ( int  idx) const
pure virtual

Returns the value of an attribute.

Parameters
idxZero based index, should be something between 0 and getAttributeCount()-1.
Returns
Value of the attribute, 0 if an attribute with this index does not exist.

◆ getAttributeValueAsFloat() [1/2]

template<class char_type , class super_class >
virtual float nirt::io::IIrrXMLReader< char_type, super_class >::getAttributeValueAsFloat ( const char_type *  name,
float  defaultNotFound = 0.f 
) const
pure virtual

Returns the value of an attribute as float.

Parameters
nameName of the attribute.
defaultNotFoundValue returned when name does not exist.
Returns
Value of the attribute as float or value of defaultNotFound parameter on failure or 0 when value could not be interpreted as float.

◆ getAttributeValueAsFloat() [2/2]

template<class char_type , class super_class >
virtual float nirt::io::IIrrXMLReader< char_type, super_class >::getAttributeValueAsFloat ( int  idx,
float  defaultNotFound = 0.f 
) const
pure virtual

Returns the value of an attribute as float.

Parameters
idxZero based index, should be something between 0 and getAttributeCount()-1.
defaultNotFoundValue returned when index does not exist.
Returns
Value of the attribute as float or value of defaultNotFound parameter on failure or 0 when value could not be interpreted as float.

◆ getAttributeValueAsInt() [1/2]

template<class char_type , class super_class >
virtual int nirt::io::IIrrXMLReader< char_type, super_class >::getAttributeValueAsInt ( const char_type *  name,
int  defaultNotFound = 0 
) const
pure virtual

Returns the value of an attribute as integer.

Parameters
nameName of the attribute.
defaultNotFoundValue returned when name does not exist
Returns
Value of the attribute as integer or value of defaultNotFound when name was not found or 0 when value could not be interpreted as integer

◆ getAttributeValueAsInt() [2/2]

template<class char_type , class super_class >
virtual int nirt::io::IIrrXMLReader< char_type, super_class >::getAttributeValueAsInt ( int  idx,
int  defaultNotFound = 0 
) const
pure virtual

Returns the value of an attribute as integer.

Parameters
idxZero based index, should be something between 0 and getAttributeCount()-1.
defaultNotFoundValue returned when index does not exist.
Returns
Value of the attribute as integer or value of defaultNotFound parameter for invalid index or 0 when value could not be interpreted as integer

◆ getAttributeValueSafe()

template<class char_type , class super_class >
virtual const char_type * nirt::io::IIrrXMLReader< char_type, super_class >::getAttributeValueSafe ( const char_type *  name) const
pure virtual

Returns the value of an attribute in a safe way.

Like getAttributeValue(), but does not return 0 if the attribute does not exist. An empty string ("") is returned then.

Parameters
nameName of the attribute.
Returns
Value of the attribute, and "" if an attribute with this name does not exist

◆ getNodeData()

template<class char_type , class super_class >
virtual const char_type * nirt::io::IIrrXMLReader< char_type, super_class >::getNodeData ( ) const
pure virtual

Returns data of the current node.

Only valid if the node has some data and it is of type EXN_TEXT, EXN_COMMENT, EXN_CDATA or EXN_UNKNOWN.

◆ getNodeName()

template<class char_type , class super_class >
virtual const char_type * nirt::io::IIrrXMLReader< char_type, super_class >::getNodeName ( ) const
pure virtual

Returns the name of the current node.

Only valid, if the node type is EXN_ELEMENT.

Returns
Name of the current node or 0 if the node has no name.

◆ getParserFormat()

template<class char_type , class super_class >
virtual ETEXT_FORMAT nirt::io::IIrrXMLReader< char_type, super_class >::getParserFormat ( ) const
pure virtual

Returns format of the strings returned by the parser.

This will be UTF8 for example when you created a parser with IrrXMLReaderUTF8() and UTF32 when it has been created using IrrXMLReaderUTF32. It should not be necessary to call this method and only exists for informational purposes.

◆ getSourceFormat()

template<class char_type , class super_class >
virtual ETEXT_FORMAT nirt::io::IIrrXMLReader< char_type, super_class >::getSourceFormat ( ) const
pure virtual

Returns format of the source xml file.

It is not necessary to use this method because the parser will convert the input file format to the format wanted by the user when creating the parser. This method is useful to get/display additional information.

◆ read()

template<class char_type , class super_class >
virtual bool nirt::io::IIrrXMLReader< char_type, super_class >::read ( )
pure virtual

Reads forward to the next xml node.

Returns
Returns false, if there was no further node.

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

Nirtcpp    @cppfx.xyz

Esvcpp    esv::print