Class: exml::Node


Synopsis:

+                             Node               (void);
+ Node (const std::string & _value);
+ Node (const std::u32string & _value);
+ ~Node (void);
+ bool iParse (const std::string & _data,
int32_t & _pos,
bool _caseSensitive,
exml::filePos & _filePos,
exml::Document & _doc);
+ bool iGenerate (std::string & _data,
int32_t _indent);
+ const exml::filePos & getPos (void);
+ void setValue (std::string _value);
+ void setValue (std::u32string _value);
+ const std::string & getValue (void);
+ std::u32string getUValue (void);
+ enum nodeType getType (void);
+ exml::Document * toDocument (void);
+ const exml::Document * toDocument (void);
+ exml::Attribute * toAttribute (void);
+ const exml::Attribute * toAttribute (void);
+ exml::Comment * toComment (void);
+ const exml::Comment * toComment (void);
+ exml::Declaration * toDeclaration (void);
+ const exml::Declaration * toDeclaration (void);
+ exml::Element * toElement (void);
+ const exml::Element * toElement (void);
+ exml::Text * toText (void);
+ const exml::Text * toText (void);
+ bool isDocument (void);
+ bool isAttribute (void);
+ bool isComment (void);
+ bool isDeclaration (void);
+ bool isElement (void);
+ bool isText (void);
+ void clear (void);
# void addIndent (std::string & _data,
int32_t _indent);
# void drawElementParsed (char32_t _val,
const exml::filePos & _filePos);
# bool checkAvaillable (char32_t _val,
bool _firstChar);
# int32_t countWhiteChar (const std::string & _data,
int32_t _pos,
exml::filePos & _filePos);

Detail:

exml::Node ()

Node(void);

basic element of a xml structure


exml::Node ()

Node(const std::string & _value);

basic element of a xml structure


exml::Node ()

Node(const std::u32string & _value);



exml::~Node ()

~Node(void);

destructor


iParse ()

bool iParse(const std::string & _data,
            int32_t & _pos,
            bool _caseSensitive,
            exml::filePos & _filePos,
            exml::Document & _doc);

parse the Current node [pure VIRUAL]


iGenerate ()

bool iGenerate(std::string & _data,
               int32_t _indent);

generate a string with the tree of the xml


getPos ()

const exml::filePos & getPos(void);

get the current position where the element is in the file


setValue ()

void setValue(std::string _value);

set the value of the node.


setValue ()

void setValue(std::u32string _value);



getValue ()

const std::string & getValue(void);

get the current element Value.


getUValue ()

std::u32string getUValue(void);



getType ()

enum nodeType getType(void);

get the node type.


toDocument ()

exml::Document * toDocument(void);

Cast the element in a Document if it is possible.


toDocument ()

const exml::Document * toDocument(void);



toAttribute ()

exml::Attribute * toAttribute(void);

Cast the element in a Attribute if it is possible.


toAttribute ()

const exml::Attribute * toAttribute(void);



toComment ()

exml::Comment * toComment(void);

Cast the element in a Comment if it is possible.


toComment ()

const exml::Comment * toComment(void);



toDeclaration ()

exml::Declaration * toDeclaration(void);

Cast the element in a Declaration if it is possible.


toDeclaration ()

const exml::Declaration * toDeclaration(void);



toElement ()

exml::Element * toElement(void);

Cast the element in a Element if it is possible.


toElement ()

const exml::Element * toElement(void);



toText ()

exml::Text * toText(void);

Cast the element in a Text if it is possible.


toText ()

const exml::Text * toText(void);



isDocument ()

bool isDocument(void);

check if the node is a exml::Document


isAttribute ()

bool isAttribute(void);

check if the node is a exml::Attribute


isComment ()

bool isComment(void);

check if the node is a exml::Comment


isDeclaration ()

bool isDeclaration(void);

check if the node is a exml::Declaration


isElement ()

bool isElement(void);

check if the node is a exml::Element


isText ()

bool isText(void);

check if the node is a exml::Text


clear ()

void clear(void);

clear the Node


addIndent ()

void addIndent(std::string & _data,
               int32_t _indent);

add indentation of the string input.


drawElementParsed ()

void drawElementParsed(char32_t _val,
                       const exml::filePos & _filePos);

Display the cuurent element that is curently parse.


checkAvaillable ()

bool checkAvaillable(char32_t _val,
                     bool _firstChar);

check if an element or attribute is availlable (not : !"#$%&'()*+,/;<=>?


countWhiteChar ()

int32_t countWhiteChar(const std::string & _data,
                       int32_t _pos,
                       exml::filePos & _filePos);

count the number of white char in the string from the specify position (stop at the first element that is not a white char)