Go to the source code of this file.
++Classes | |
class | exml::Attribute |
+Namespaces | |
exml | |
Detailed Description
+- Copyright
- 2011, Edouard DUPIN, all right reserved
- Note
- License: APACHE v2.0 (see license file)
diff --git a/_attribute_8hpp.html b/_attribute_8hpp.html new file mode 100644 index 0000000..511c05e --- /dev/null +++ b/_attribute_8hpp.html @@ -0,0 +1,175 @@ + + + +
+ + + + + + +Go to the source code of this file.
++Classes | |
class | exml::Attribute |
+Namespaces | |
exml | |
Go to the source code of this file.
++Classes | |
class | exml::AttributeListData |
class | exml::AttributeList |
+Namespaces | |
exml | |
Go to the source code of this file.
++Classes | |
class | exml::Comment |
+Namespaces | |
exml | |
Go to the source code of this file.
++Classes | |
class | exml::Declaration |
class | exml::DeclarationXML |
+Namespaces | |
exml | |
Go to the source code of this file.
++Classes | |
class | exml::Document |
+Namespaces | |
exml | |
#include <exml/Node.hpp>
#include <vector>
#include <exml/AttributeList.hpp>
#include <exml/iterator.hpp>
Go to the source code of this file.
++Classes | |
class | exml::ElementData |
class | exml::Element |
+Namespaces | |
exml | |
#include <etk/types.hpp>
Go to the source code of this file.
++Classes | |
class | exml::FilePos |
+Namespaces | |
exml | |
#include <ememory/memory.hpp>
#include <etk/types.hpp>
#include <etk/math/Vector2D.hpp>
#include <exml/FilePos.hpp>
#include <exml/internal/Node.hpp>
#include <exml/nodeType.hpp>
Go to the source code of this file.
++Classes | |
class | exml::Node |
+Namespaces | |
exml | |
Go to the source code of this file.
++Classes | |
class | exml::Text |
+Namespaces | |
exml | |
▼Nexml | Exml namespace containing all function for XML interpretor |
▼Ninternal | |
CAttribute | Single attribute element |
CAttributeList | List of all attribute element in a node |
CComment | Comment node: <!– ... –> |
CDeclaration | Declaration node: <?XXXXXX ... > |
CDeclarationXML | Declaration node: <?XML ... > |
CDocument | Basic document element of a document |
CElement | Basic element Node of an XML document <YYYYY> |
CNode | Basic main object of all xml elements |
CText | Text node interface (internal data between two balise : <XXX> ALL here </XXX> |
CTextCDATA | Text node interface for balise CDATA <![CDATA[*******]]> |
CAttribute | Single attribute element |
CAttributeList | List of all attribute element in a node |
CAttributeListData | Abstract interface on all attributes elements |
CComment | Comment node: <!– ... –> |
CDeclaration | Declaration node: <?XXXXXX ... > |
CDeclarationXML | Declaration node: <?XML ... > |
CDocument | Basic document element of a document |
CElement | Basic element Node of an XML document <YYYYY> |
CElementData | Basic element Node of an XML document <YYYYY> |
CFilePos | Position in the file of the original data |
Citerator | |
CNode | Basic main object of all xml elements |
CText | Text node interface (internal data between two balise : <XXX> ALL here </XXX> |
-+ Attribute (void );-
+ Attribute (const std::string & _name,
const std::string & _value);
+ virtual ~Attribute (void );
-# std::string m_name;-
+ virtual void setName (const std::string & _name);
+ virtual const std::string & getName (void ) const;
+ virtual enum nodeType getType (void ) const;
+ virtual bool iParse (const std::string & _data,
int32_t & _pos,
bool _caseSensitive,
exml::filePos & _filePos,
exml::Document & _doc);
+ virtual bool iGenerate (std::string & _data,
int32_t _indent) const;
+ virtual exml::Attribute* toAttribute (void );
+ virtual const exml::Attribute* toAttribute (void ) const;
+ virtual void clear (void );
-+exml::Node-
+--> exml::Attribute
-+ Attribute (void );-Constructor
-+ Attribute (const std::string & _name,-Constructor
const std::string & _value);
Parameter [input]: | _name | Name of the attribute. | -Parameter [input]: | _value | Value of the attribute. | -
-+ virtual ~Attribute (void );-Destructor
-# std::string m_name;- -
-+ virtual void setName (const std::string & _name);-set the name of the attribute
Parameter [input]: | _name | New name of the attribute | -
-+ virtual const std::string & getName (void ) const;-get the current name of the Attribute
Return: | String of the attribute |
-+ virtual enum nodeType getType (void ) const;-get the node type.
Return: | the type of the Node. |
-+ virtual bool iParse (const std::string & _data,-parse the Current node [pure VIRUAL]
int32_t & _pos,
bool _caseSensitive,
exml::filePos & _filePos,
exml::Document & _doc);
Parameter [input]: | _data | data string to parse. | -Parameter [input] [output]: | _pos | position in the string to start parse, return the position end of parsing. | -Parameter [input]: | _caseSensitive | Request a parsion of element that is not case sensitive (all element is in low case) | -Parameter [input] [output]: | file | parsing position (line x col x) | -
Return: | false if an error occured. |
-+ virtual bool iGenerate (std::string & _data,-generate a string with the tree of the xml
int32_t _indent) const;
Parameter [input] [output]: | _data | string where to add the elements | -Parameter [input]: | current | indentation of the file | -
Return: | false if an error occured. |
-+ virtual exml::Attribute* toAttribute (void );-Cast the element in a Attribute if it is possible.
Return: | pointer on the class or NULL. |
-+ virtual const exml::Attribute* toAttribute (void ) const;-Cast the element in a Attribute if it is possible.
Return: | pointer on the class or NULL. |
-+ virtual void clear (void );-clear the Node
-+ AttributeList (void );-
+ AttributeList (const std::string & _value);
+ virtual ~AttributeList (void );
-# std::vector<exml::Attribute*> m_listAttribute;-
+ size_t sizeAttribute (void ) const;
+ void appendAttribute (exml::Attribute* _attr);
+ Attribute* getAttr (int32_t _id);
+ const Attribute* getAttr (int32_t _id) const;
+ const std::string & getAttribute (const std::string & _name) const;
+ bool existAttribute (const std::string & _name) const;
+ void setAttribute (const std::string & _name,
const std::string & _value);
+ bool iGenerate (std::string & _data,
int32_t _indent) const;
+ virtual void clear (void );
-+exml::Node-
+--> exml::AttributeList
+--> exml::Declaration
+--> exml::Element
-+ AttributeList (void );-Constructor
-+ AttributeList (const std::string & _value);-Constructor
Parameter [input]: | _value | Node value; | -
-+ virtual ~AttributeList (void );-Destructor
-# std::vector<exml::Attribute*> m_listAttribute;- -list of all attribute
-+ size_t sizeAttribute (void ) const;-get the number of attribute in the Node
Return: | Nulber of attribute >=0 |
-+ void appendAttribute (exml::Attribute* _attr);-add attribute on the List
Parameter [input]: | _attr | Pointer on the attribute | -
-+ Attribute* getAttr (int32_t _id);-get attribute whith his ID
Parameter [input]: | _id | Identifier of the attribute 0<= _id < sizeAttribute() | -
Return: | Pointer on the attribute or NULL |
-+ const Attribute* getAttr (int32_t _id) const;- -
-+ const std::string & getAttribute (const std::string & _name) const;-get the attribute value with searching in the List with his name
Parameter [input]: | _name | Attribute Name. | -
Return: | Value of the attribute or no data in the string |
-+ bool existAttribute (const std::string & _name) const;-check if an attribute exist or not with his name.
Parameter [input]: | _name | Attribute Name. | -
Return: | true if the attribute exist or False |
-+ void setAttribute (const std::string & _name,-Sen A new attribute or replace data of the previous one
const std::string & _value);
Parameter [input]: | _name | Name of the attribute | -Parameter [input]: | _value | Value of the attribute | -
-+ bool iGenerate (std::string & _data,-generate a string with the tree of the xml
int32_t _indent) const;
Parameter [input] [output]: | _data | string where to add the elements | -Parameter [input]: | current | indentation of the file | -
Return: | false if an error occured. |
-+ virtual void clear (void );-clear the Node
-+ Comment (void );-
+ Comment (const std::string & _value);
+ virtual ~Comment (void );
-+ virtual enum nodeType getType (void ) const;-
+ virtual bool iParse (const std::string & _data,
int32_t & _pos,
bool _caseSensitive,
exml::filePos & _filePos,
exml::Document & _doc);
+ virtual bool iGenerate (std::string & _data,
int32_t _indent) const;
+ virtual exml::Comment* toComment (void );
+ virtual const exml::Comment* toComment (void ) const;
-+exml::Node-
+--> exml::Comment
-+ Comment (void );-Constructor
-+ Comment (const std::string & _value);-Constructor
Parameter [input]: | _value | comment value | -
-+ virtual ~Comment (void );-Destructor
-+ virtual enum nodeType getType (void ) const;-get the node type.
Return: | the type of the Node. |
-+ virtual bool iParse (const std::string & _data,-parse the Current node [pure VIRUAL]
int32_t & _pos,
bool _caseSensitive,
exml::filePos & _filePos,
exml::Document & _doc);
Parameter [input]: | _data | data string to parse. | -Parameter [input] [output]: | _pos | position in the string to start parse, return the position end of parsing. | -Parameter [input]: | _caseSensitive | Request a parsion of element that is not case sensitive (all element is in low case) | -Parameter [input] [output]: | file | parsing position (line x col x) | -
Return: | false if an error occured. |
-+ virtual bool iGenerate (std::string & _data,-generate a string with the tree of the xml
int32_t _indent) const;
Parameter [input] [output]: | _data | string where to add the elements | -Parameter [input]: | current | indentation of the file | -
Return: | false if an error occured. |
-+ virtual exml::Comment* toComment (void );-Cast the element in a Comment if it is possible.
Return: | pointer on the class or NULL. |
-+ virtual const exml::Comment* toComment (void ) const;-Cast the element in a Comment if it is possible.
Return: | pointer on the class or NULL. |
-+ Declaration (void );-
+ Declaration (const std::string & _name);
+ virtual ~Declaration (void );
-+ virtual enum nodeType getType (void ) const;-
+ virtual bool iGenerate (std::string & _data,
int32_t _indent) const;
+ virtual bool iParse (const std::string & _data,
int32_t & _pos,
bool _caseSensitive,
exml::filePos & _filePos,
exml::Document & _doc);
+ virtual exml::Declaration* toDeclaration (void );
+ virtual const exml::Declaration* toDeclaration (void ) const;
-+exml::Node-
+--> +exml::AttributeList
+--> exml::Declaration
+--> exml::DeclarationXML
-+ Declaration (void );-Constructor
-+ Declaration (const std::string & _name);-Constructor
Parameter [input]: | _name | name of the declaration (xml, xml:xxxx ...) | -
-+ virtual ~Declaration (void );-Destructor
-+ virtual enum nodeType getType (void ) const;-get the node type.
Return: | the type of the Node. |
-+ virtual bool iGenerate (std::string & _data,-generate a string with the tree of the xml
int32_t _indent) const;
Parameter [input] [output]: | _data | string where to add the elements | -Parameter [input]: | current | indentation of the file | -
Return: | false if an error occured. |
-+ virtual bool iParse (const std::string & _data,-parse the Current node [pure VIRUAL]
int32_t & _pos,
bool _caseSensitive,
exml::filePos & _filePos,
exml::Document & _doc);
Parameter [input]: | _data | data string to parse. | -Parameter [input] [output]: | _pos | position in the string to start parse, return the position end of parsing. | -Parameter [input]: | _caseSensitive | Request a parsion of element that is not case sensitive (all element is in low case) | -Parameter [input] [output]: | file | parsing position (line x col x) | -
Return: | false if an error occured. |
-+ virtual exml::Declaration* toDeclaration (void );-Cast the element in a Declaration if it is possible.
Return: | pointer on the class or NULL. |
-+ virtual const exml::Declaration* toDeclaration (void ) const;-Cast the element in a Declaration if it is possible.
Return: | pointer on the class or NULL. |
-+ DeclarationXML (const std::string & _version,-
const std::string & _format,
bool _standalone);
+ virtual ~DeclarationXML (void );
-+exml::Node-
+--> +exml::AttributeList
+--> +exml::Declaration
+--> exml::DeclarationXML
-+ DeclarationXML (const std::string & _version,-Constructor for the generic declaration : <?xml version="" format="UTF-8"?>
const std::string & _format,
bool _standalone);
Parameter [input]: | _version | Xml version. | -Parameter [input]: | _format | charset of the XML | -Parameter [input]: | _standalone | this document is standalone | -
-+ virtual ~DeclarationXML (void );-Destructor
-+ Document (void );-
+ virtual ~Document (void );
-+ virtual void setCaseSensitive (bool _val);-
+ virtual bool getCaseSensitive (void ) const;
+ bool parse (const std::string & _data);
+ bool generate (std::string & _data);
+ bool load (const std::string & _file);
+ bool store (const std::string & _file);
+ void display (void );
+ void displayErrorWhenDetected (void );
+ void notDisplayErrorWhenDetected (void );
+ void createError (const std::string & _data,
int32_t _pos,
const exml::filePos & _filePos,
const std::string & _comment);
+ void displayError (void );
+ virtual enum nodeType getType (void ) const;
+ bool iGenerate (std::string & _data,
int32_t _indent) const;
+ virtual exml::Document* toDocument (void );
+ virtual const exml::Document* toDocument (void ) const;
-+exml::Node-
+--> +exml::AttributeList
+--> +exml::Element
+--> exml::Document
-+ Document (void );-Constructor
-+ virtual ~Document (void );-Destructor
-+ virtual void setCaseSensitive (bool _val);-Enable or diasable the case sensitive (must be done before the call of parsing)
Parameter [input]: | _val | true if enable; false else. | -
-+ virtual bool getCaseSensitive (void ) const;-get the status of case sensitive mode.
Return: | true if case sensitive is active |
-+ bool parse (const std::string & _data);-parse a string that contain an XML
Parameter [input]: | _data | Data to parse | -
Return: | false : An error occured<br/>true : Parsing is OK |
-+ bool generate (std::string & _data);-generate a string that contain the created XML
Parameter [output]: | _data | Data where the xml is stored | -
Return: | false : An error occured<br/>true : Parsing is OK |
-+ bool load (const std::string & _file);-Load the file that might contain the xml
Parameter [input]: | _file | Filename of the xml (compatible with etk FSNode naming) | -
Return: | false : An error occured<br/>true : Parsing is OK |
-+ bool store (const std::string & _file);-Store the Xml in the file
Parameter [input]: | _file | Filename of the xml (compatible with etk FSNode naming) | -
Return: | false : An error occured<br/>true : Parsing is OK |
-+ void display (void );-Display the Document on console
-+ void displayErrorWhenDetected (void );- -
-+ void notDisplayErrorWhenDetected (void );- -
-+ void createError (const std::string & _data,- -
int32_t _pos,
const exml::filePos & _filePos,
const std::string & _comment);
-+ void displayError (void );- -
-+ virtual enum nodeType getType (void ) const;-get the node type.
Return: | the type of the Node. |
-+ bool iGenerate (std::string & _data,-generate a string with the tree of the xml
int32_t _indent) const;
Parameter [input] [output]: | _data | string where to add the elements | -Parameter [input]: | current | indentation of the file | -
Return: | false if an error occured. |
-+ virtual exml::Document* toDocument (void );-Cast the element in a Document if it is possible.
Return: | pointer on the class or NULL. |
-+ virtual const exml::Document* toDocument (void ) const;-Cast the element in a Document if it is possible.
Return: | pointer on the class or NULL. |
-+ Element (void );-
+ Element (const std::string & _value);
+ virtual ~Element (void );
-# std::vector<exml::Node*> m_listSub;-
+ size_t size (void ) const;
+ void append (Node* _node);
+ enum nodeType getType (int32_t _id);
+ const enum nodeType getType (int32_t _id) const;
+ Node* getNode (int32_t _id);
+ const Node* getNode (int32_t _id) const;
+ Element* getElement (int32_t _id);
+ const Element* getElement (int32_t _id) const;
+ Element* getNamed (const std::string & _name);
+ const Element* getNamed (const std::string & _name) const;
+ std::string getText (void );
# bool subParse (const std::string & _data,
int32_t & _pos,
bool _caseSensitive,
exml::filePos & _filePos,
exml::Document & _doc,
bool _mainNode);
+ virtual enum nodeType getType (void ) const;
+ virtual bool iParse (const std::string & _data,
int32_t & _pos,
bool _caseSensitive,
exml::filePos & _filePos,
exml::Document & _doc);
+ virtual bool iGenerate (std::string & _data,
int32_t _indent) const;
+ virtual exml::Element* toElement (void );
+ virtual const exml::Element* toElement (void ) const;
+ virtual void clear (void );
-+exml::Node-
+--> +exml::AttributeList
+--> exml::Element
+--> exml::Document
-+ Element (void );-Constructor
-+ Element (const std::string & _value);-Constructor
Parameter [input]: | _value | Element name; | -
-+ virtual ~Element (void );-Destructor
-# std::vector<exml::Node*> m_listSub;- -
-+ size_t size (void ) const;-get the number of sub element in the node (can be exml::Comment ; exml::Element ; exml::Text :exml::Declaration).
Return: | a number >=0. |
-+ void append (Node* _node);-add a node at the element (not exml::Attribute (move in the attribute automaticly).
Parameter [input]: | _node | Pointer of the node to add. | -
-+ enum nodeType getType (int32_t _id);-get the type of the element id.
Parameter [input]: | _id | Id of the element. | -
Return: | the Current type of the element or exml::typeUnknow. |
-+ const enum nodeType getType (int32_t _id) const;-get the node type.
Return: | the type of the Node. |
-+ Node* getNode (int32_t _id);-get the Node pointer of the element id.
Parameter [input]: | _id | Id of the element. | -
Return: | Pointer on node. |
-+ const Node* getNode (int32_t _id) const;- -
-+ Element* getElement (int32_t _id);-get the element casted in Element (if the node is not an element return NULL).
Parameter [input]: | _id | Id of the element. | -
Return: | Pointer on the element or NULL. |
-+ const Element* getElement (int32_t _id) const;- -
-+ Element* getNamed (const std::string & _name);-get an element with his name (work only with exml::Element)
Parameter [input]: | _name | Name of the element that is requested | -
Return: | Pointer on the element or NULL. |
-+ const Element* getNamed (const std::string & _name) const;- -
-+ std::string getText (void );-get the internal data of the element (if the element has some sub node thay are converted in xml string == > like this it is not needed to use <![CDATA[...]]>
Return: | the curent data string. |
-# bool subParse (const std::string & _data,- -
int32_t & _pos,
bool _caseSensitive,
exml::filePos & _filePos,
exml::Document & _doc,
bool _mainNode);
-+ virtual enum nodeType getType (void ) const;-get the node type.
Return: | the type of the Node. |
-+ virtual bool iParse (const std::string & _data,-parse the Current node [pure VIRUAL]
int32_t & _pos,
bool _caseSensitive,
exml::filePos & _filePos,
exml::Document & _doc);
Parameter [input]: | _data | data string to parse. | -Parameter [input] [output]: | _pos | position in the string to start parse, return the position end of parsing. | -Parameter [input]: | _caseSensitive | Request a parsion of element that is not case sensitive (all element is in low case) | -Parameter [input] [output]: | file | parsing position (line x col x) | -
Return: | false if an error occured. |
-+ virtual bool iGenerate (std::string & _data,-generate a string with the tree of the xml
int32_t _indent) const;
Parameter [input] [output]: | _data | string where to add the elements | -Parameter [input]: | current | indentation of the file | -
Return: | false if an error occured. |
-+ virtual exml::Element* toElement (void );-Cast the element in a Element if it is possible.
Return: | pointer on the class or NULL. |
-+ virtual const exml::Element* toElement (void ) const;-Cast the element in a Element if it is possible.
Return: | pointer on the class or NULL. |
-+ virtual void clear (void );-clear the Node
-+ Node (void );-
+ Node (const std::string & _value);
+ virtual ~Node (void );
-+ virtual bool iParse (const std::string & _data,-
int32_t & _pos,
bool _caseSensitive,
exml::filePos & _filePos,
exml::Document & _doc) = 0;
+ virtual bool iGenerate (std::string & _data,
int32_t _indent) const;
# exml::filePos m_pos;
+ const exml::filePos & getPos (void );
# std::string m_value;
+ virtual void setValue (std::string _value);
+ virtual const std::string & getValue (void ) const;
+ virtual enum nodeType getType (void ) const;
# void addIndent (std::string & _data,
int32_t _indent) const;
# void drawElementParsed (char32_t _val,
const exml::filePos & _filePos) const;
# bool checkAvaillable (char32_t _val,
bool _firstChar) const;
# int32_t countWhiteChar (const std::string & _data,
int32_t _pos,
exml::filePos & _filePos) const;
+ virtual exml::Document* toDocument (void );
+ virtual const exml::Document* toDocument (void ) const;
+ virtual exml::Attribute* toAttribute (void );
+ virtual const exml::Attribute* toAttribute (void ) const;
+ virtual exml::Comment* toComment (void );
+ virtual const exml::Comment* toComment (void ) const;
+ virtual exml::Declaration* toDeclaration (void );
+ virtual const exml::Declaration* toDeclaration (void ) const;
+ virtual exml::Element* toElement (void );
+ virtual const exml::Element* toElement (void ) const;
+ virtual exml::Text* toText (void );
+ virtual const exml::Text* toText (void ) const;
+ bool isDocument (void ) const;
+ bool isAttribute (void ) const;
+ bool isComment (void ) const;
+ bool isDeclaration (void ) const;
+ bool isElement (void ) const;
+ bool isText (void ) const;
+ virtual void clear (void );
-exml::Node-
+--> exml::Comment
+--> exml::Attribute
+--> exml::Text
+--> exml::AttributeList
-+ Node (void );-basic element of a xml structure
-+ Node (const std::string & _value);-basic element of a xml structure
Parameter [input]: | value | of the node | -
-+ virtual ~Node (void );-destructor
-+ virtual bool iParse (const std::string & _data,-parse the Current node [pure VIRUAL]
int32_t & _pos,
bool _caseSensitive,
exml::filePos & _filePos,
exml::Document & _doc) = 0;
Parameter [input]: | _data | data string to parse. | -Parameter [input] [output]: | _pos | position in the string to start parse, return the position end of parsing. | -Parameter [input]: | _caseSensitive | Request a parsion of element that is not case sensitive (all element is in low case) | -Parameter [input] [output]: | file | parsing position (line x col x) | -
Return: | false if an error occured. |
-+ virtual bool iGenerate (std::string & _data,-generate a string with the tree of the xml
int32_t _indent) const;
Parameter [input] [output]: | _data | string where to add the elements | -Parameter [input]: | current | indentation of the file | -
Return: | false if an error occured. |
-# exml::filePos m_pos;- -position in the readed file == > not correct when the file is generated
-+ const exml::filePos & getPos (void );-get the current position where the element is in the file
-# std::string m_value;- -value of the node (for element this is the name, for text it is the inside text ...)
-+ virtual void setValue (std::string _value);-set the value of the node.
Parameter [input]: | _value | New value of the node. | -
-+ virtual const std::string & getValue (void ) const;-get the current element Value.
Return: | the reference of the string value. |
-+ virtual enum nodeType getType (void ) const;-get the node type.
Return: | the type of the Node. |
-# void addIndent (std::string & _data,-add indentation of the string input.
int32_t _indent) const;
Parameter [input] [output]: | _data | String where the indentation is done. | -Parameter [input]: | _indent | Number of tab to add at the string. | -
-# void drawElementParsed (char32_t _val,-Display the cuurent element that is curently parse.
const exml::filePos & _filePos) const;
Parameter [input]: | _val | Char that is parsed. | -Parameter [input]: | _filePos | Position of the char in the file. | -
-# bool checkAvaillable (char32_t _val,-check if an element or attribute is availlable (not : !"#$%&'()+,/;<=>?@[\]^`{|}~ \n\t\r and for first char : not -.0123456789).
bool _firstChar) const;
Parameter [input]: | _val | Value to check the conformity. | -Parameter [input]: | _firstChar | True if the element check is the first char. | -
-# int32_t countWhiteChar (const std::string & _data,-count the number of white char in the string from the specify position (stop at the first element that is not a white char)
int32_t _pos,
exml::filePos & _filePos) const;
Parameter [input]: | _data | Data to parse. | -Parameter [input]: | _pos | Start position in the string. | -Parameter [output]: | _filePos | new poistion of te file to add. | -
Return: | number of white element. |
-+ virtual exml::Document* toDocument (void );-Cast the element in a Document if it is possible.
Return: | pointer on the class or NULL. |
-+ virtual const exml::Document* toDocument (void ) const;- -
-+ virtual exml::Attribute* toAttribute (void );-Cast the element in a Attribute if it is possible.
Return: | pointer on the class or NULL. |
-+ virtual const exml::Attribute* toAttribute (void ) const;- -
-+ virtual exml::Comment* toComment (void );-Cast the element in a Comment if it is possible.
Return: | pointer on the class or NULL. |
-+ virtual const exml::Comment* toComment (void ) const;- -
-+ virtual exml::Declaration* toDeclaration (void );-Cast the element in a Declaration if it is possible.
Return: | pointer on the class or NULL. |
-+ virtual const exml::Declaration* toDeclaration (void ) const;- -
-+ virtual exml::Element* toElement (void );-Cast the element in a Element if it is possible.
Return: | pointer on the class or NULL. |
-+ virtual const exml::Element* toElement (void ) const;- -
-+ virtual exml::Text* toText (void );-Cast the element in a Text if it is possible.
Return: | pointer on the class or NULL. |
-+ virtual const exml::Text* toText (void ) const;- -
-+ bool isDocument (void ) const;-check if the node is a exml::Document
Return: | true if the node is a exml::Document |
-+ bool isAttribute (void ) const;-check if the node is a exml::Attribute
Return: | true if the node is a exml::Attribute |
-+ bool isComment (void ) const;-check if the node is a exml::Comment
Return: | true if the node is a exml::Comment |
-+ bool isDeclaration (void ) const;-check if the node is a exml::Declaration
Return: | true if the node is a exml::Declaration |
-+ bool isElement (void ) const;-check if the node is a exml::Element
Return: | true if the node is a exml::Element |
-+ bool isText (void ) const;-check if the node is a exml::Text
Return: | true if the node is a exml::Text |
-+ virtual void clear (void );-clear the Node
-+ Text (void );-
+ Text (const std::string & _data);
+ virtual ~Text (void );
-+ int32_t countLines (void ) const;-
+ virtual enum nodeType getType (void ) const;
+ virtual bool iParse (const std::string & _data,
int32_t & _pos,
bool _caseSensitive,
exml::filePos & _filePos,
exml::Document & _doc);
+ virtual bool iGenerate (std::string & _data,
int32_t _indent) const;
+ virtual exml::Text* toText (void );
+ virtual const exml::Text* toText (void ) const;
-+exml::Node-
+--> exml::Text
+--> exml::TextCDATA
-+ Text (void );-Constructor
-+ Text (const std::string & _data);-Constructor
Parameter [input]: | _data | String data of the current Text | -
-+ virtual ~Text (void );-Destructor
-+ int32_t countLines (void ) const;-count the number of line in the current text
Return: | The number of lines |
-+ virtual enum nodeType getType (void ) const;-get the node type.
Return: | the type of the Node. |
-+ virtual bool iParse (const std::string & _data,-parse the Current node [pure VIRUAL]
int32_t & _pos,
bool _caseSensitive,
exml::filePos & _filePos,
exml::Document & _doc);
Parameter [input]: | _data | data string to parse. | -Parameter [input] [output]: | _pos | position in the string to start parse, return the position end of parsing. | -Parameter [input]: | _caseSensitive | Request a parsion of element that is not case sensitive (all element is in low case) | -Parameter [input] [output]: | file | parsing position (line x col x) | -
Return: | false if an error occured. |
-+ virtual bool iGenerate (std::string & _data,-generate a string with the tree of the xml
int32_t _indent) const;
Parameter [input] [output]: | _data | string where to add the elements | -Parameter [input]: | current | indentation of the file | -
Return: | false if an error occured. |
-+ virtual exml::Text* toText (void );-Cast the element in a Text if it is possible.
Return: | pointer on the class or NULL. |
-+ virtual const exml::Text* toText (void ) const;-Cast the element in a Text if it is possible.
Return: | pointer on the class or NULL. |
-+ TextCDATA (void );-
+ virtual ~TextCDATA (void );
-+ virtual bool iParse (const std::string & _data,-
int32_t & _pos,
bool _caseSensitive,
exml::filePos & _filePos,
exml::Document & _doc);
-+exml::Node-
+--> +exml::Text
+--> exml::TextCDATA
-+ TextCDATA (void );-Constructor
-+ virtual ~TextCDATA (void );-Destructor
-+ virtual bool iParse (const std::string & _data,-parse the Current node [pure VIRUAL]
int32_t & _pos,
bool _caseSensitive,
exml::filePos & _filePos,
exml::Document & _doc);
Parameter [input]: | _data | data string to parse. | -Parameter [input] [output]: | _pos | position in the string to start parse, return the position end of parsing. | -Parameter [input]: | _caseSensitive | Request a parsion of element that is not case sensitive (all element is in low case) | -Parameter [input] [output]: | file | parsing position (line x col x) | -
Return: | false if an error occured. |
-+ filePos (void );-
+ filePos (int32_t _line,
int32_t _col);
+ ~filePos (void );
-+ filePos & operator ++ (void );-
+ filePos & operator -- (void );
+ const filePos & operator += (const filePos & _obj);
+ const filePos & operator += (int32_t _col);
+ const filePos & operator = (const filePos & _obj);
+ void newLine (void );
+ bool check (char32_t _val);
+ void set (int32_t _line,
int32_t _col);
+ void clear (void );
+ int32_t getCol (void ) const;
+ int32_t getLine (void ) const;
-+ filePos (void );- -
-+ filePos (int32_t _line,- -
int32_t _col);
-+ ~filePos (void );- -
-+ filePos & operator ++ (void );- -
-+ filePos & operator -- (void );- -
-+ const filePos & operator += (const filePos & _obj);- -
-+ const filePos & operator += (int32_t _col);- -
-+ const filePos & operator = (const filePos & _obj);- -
-+ void newLine (void );- -
-+ bool check (char32_t _val);- -
-+ void set (int32_t _line,- -
int32_t _col);
-+ void clear (void );- -
-+ int32_t getCol (void ) const;- -
-+ int32_t getLine (void ) const;- -
| Comment (exml::internal) | Document (exml) |
| Text (exml) | ||
|
| TextCDATA (exml::internal) | ||||
Attribute (exml) | iterator (exml) | |||||
Attribute (exml::internal) | Declaration (exml) | Element (exml) |
| |||
AttributeList (exml) | Declaration (exml::internal) | Element (exml::internal) | ||||
AttributeList (exml::internal) | DeclarationXML (exml) | ElementData (exml) | Node (exml) | |||
AttributeListData (exml) | DeclarationXML (exml::internal) |
| Node (exml::internal) | |||
| Document (exml::internal) |
| ||||
FilePos (exml) | ||||||
Comment (exml) | Text (exml::internal) | |||||
This is the complete list of members for exml::Attribute, including all inherited members.
+#include <Attribute.hpp>
+Public Member Functions | |
Attribute (ememory::SharedPtr< exml::internal::Node > _internalNode) | |
Attribute (const exml::Attribute &_obj) | |
Attribute (const std::string &_name="", const std::string &_value="") | |
exml::Attribute & | operator= (const exml::Attribute &_obj) |
virtual void | setName (const std::string &_name) |
virtual const std::string & | getName () const |
std::pair< std::string, std::string > | getPair () const |
void | clear () override |
![]() | |
Node (const ememory::SharedPtr< exml::internal::Node > &_internalNode) | |
Node () | |
virtual | ~Node ()=default |
bool | exist () const |
exml::FilePos | getPos () const |
virtual void | setValue (std::string _value) |
const std::string & | getValue () const |
enum nodeType | getType () const |
exml::Document | toDocument () |
const exml::Document | toDocument () const |
exml::Attribute | toAttribute () |
const exml::Attribute | toAttribute () const |
exml::Comment | toComment () |
const exml::Comment | toComment () const |
exml::Declaration | toDeclaration () |
const exml::Declaration | toDeclaration () const |
exml::Element | toElement () |
const exml::Element | toElement () const |
exml::Text | toText () |
const exml::Text | toText () const |
bool | isDocument () const |
bool | isAttribute () const |
bool | isComment () const |
bool | isDeclaration () const |
bool | isElement () const |
bool | isText () const |
+Friends | |
+class | exml::AttributeListData |
+Additional Inherited Members | |
![]() | |
ememory::SharedPtr< exml::internal::Node > | m_data |
Single attribute element.
+exml::Attribute::Attribute | +( | +ememory::SharedPtr< exml::internal::Node > | +_internalNode | ) | ++ |
Constructor.
+[in] | _internalNode | Internal Node to set data |
exml::Attribute::Attribute | +( | +const exml::Attribute & | +_obj | ) | ++ |
Copy constructor.
+[in] | _obj | Object to copy Copy constructor |
[in] | _obj | Object to copy |
exml::Attribute::Attribute | +( | +const std::string & | +_name = "" , |
+
+ | + | const std::string & | +_value = "" |
+
+ | ) | ++ |
Constructor.
+[in] | _name | Name of the attribute. |
[in] | _value | Value of the attribute. |
+
|
+ +overridevirtual | +
clear the Node
+ +Reimplemented from exml::Node.
+ +
+
|
+ +virtual | +
get the current name of the Attribute
+std::pair<std::string, std::string> exml::Attribute::getPair | +( | +) | +const | +
get attribute name and value
+exml::Attribute& exml::Attribute::operator= | +( | +const exml::Attribute & | +_obj | ) | ++ |
Copy constructor.
+[in] | _obj | Object to copy |
+
|
+ +virtual | +
set the name of the attribute
+[in] | _name | New name of the attribute |
This is the complete list of members for exml::AttributeList, including all inherited members.
+#include <AttributeList.hpp>
+Public Attributes | |
AttributeListData | attributes |
+Protected Member Functions | |
AttributeList (const ememory::SharedPtr< exml::internal::Node > &_internalNode) | |
AttributeList () | |
+Additional Inherited Members | |
![]() | |
Node (const ememory::SharedPtr< exml::internal::Node > &_internalNode) | |
Node () | |
virtual | ~Node ()=default |
bool | exist () const |
exml::FilePos | getPos () const |
virtual void | setValue (std::string _value) |
const std::string & | getValue () const |
enum nodeType | getType () const |
exml::Document | toDocument () |
const exml::Document | toDocument () const |
exml::Attribute | toAttribute () |
const exml::Attribute | toAttribute () const |
exml::Comment | toComment () |
const exml::Comment | toComment () const |
exml::Declaration | toDeclaration () |
const exml::Declaration | toDeclaration () const |
exml::Element | toElement () |
const exml::Element | toElement () const |
exml::Text | toText () |
const exml::Text | toText () const |
bool | isDocument () const |
bool | isAttribute () const |
bool | isComment () const |
bool | isDeclaration () const |
bool | isElement () const |
bool | isText () const |
virtual void | clear () |
![]() | |
ememory::SharedPtr< exml::internal::Node > | m_data |
List of all attribute element in a node.
+
+
|
+ +protected | +
basic element of a xml structure
+[in] | _internalNode | Value of the node |
+
|
+ +protected | +
basic element of a xml structure
+ +AttributeListData exml::AttributeList::attributes | +
interface on all attributes
+ +This is the complete list of members for exml::AttributeListData, including all inherited members.
+add(exml::Attribute _attr) | exml::AttributeListData | |
AttributeListData(exml::AttributeList *_list) | exml::AttributeListData | |
begin() | exml::AttributeListData | |
begin() const | exml::AttributeListData | |
end() | exml::AttributeListData | |
end() const | exml::AttributeListData | |
exist(const std::string &_name) const | exml::AttributeListData | |
getPair(int32_t _id) const | exml::AttributeListData | |
iterator typedef | exml::AttributeListData | |
operator[](int32_t _id) | exml::AttributeListData | |
operator[](int32_t _id) const | exml::AttributeListData | |
operator[](const std::string &_name) const | exml::AttributeListData | |
remove(const std::string &_name) | exml::AttributeListData | |
set(const std::string &_name, const std::string &_value) | exml::AttributeListData | |
size() const | exml::AttributeListData |
#include <AttributeList.hpp>
+Public Types | |
using | iterator = exml::iterator< exml::AttributeListData, exml::Attribute > |
+Public Member Functions | |
AttributeListData (exml::AttributeList *_list) | |
size_t | size () const |
void | add (exml::Attribute _attr) |
bool | remove (const std::string &_name) |
exml::Attribute | operator[] (int32_t _id) |
const exml::Attribute | operator[] (int32_t _id) const |
std::pair< std::string, std::string > | getPair (int32_t _id) const |
const std::string & | operator[] (const std::string &_name) const |
bool | exist (const std::string &_name) const |
void | set (const std::string &_name, const std::string &_value) |
iterator | begin () |
iterator | end () |
const iterator | begin () const |
const iterator | end () const |
Abstract interface on all attributes elements.
+using exml::AttributeListData::iterator = exml::iterator<exml::AttributeListData, exml::Attribute> | +
Specify iterator of the element methode.
+ +exml::AttributeListData::AttributeListData | +( | +exml::AttributeList * | +_list | ) | ++ |
Constructor on the AttributeListData class.
+[in] | _list | Point on the parrent class (must not be nullptr) |
void exml::AttributeListData::add | +( | +exml::Attribute | +_attr | ) | ++ |
add attribute on the List
+[in] | _attr | Pointer on the attribute |
iterator exml::AttributeListData::begin | +( | +) | ++ |
Get iterator of the first sub nodes.
+const iterator exml::AttributeListData::begin | +( | +) | +const | +
Get const iterator of the first sub nodes.
+iterator exml::AttributeListData::end | +( | +) | ++ |
Get iterator of the next of the last sub nodes.
+const iterator exml::AttributeListData::end | +( | +) | +const | +
Get const iterator of the next of the last sub nodes.
+bool exml::AttributeListData::exist | +( | +const std::string & | +_name | ) | +const | +
check if an attribute exist or not with his name.
+[in] | _name | Attribute Name. |
std::pair<std::string, std::string> exml::AttributeListData::getPair | +( | +int32_t | +_id | ) | +const | +
get attribute whith his ID
+[in] | _id | Identifier of the attribute 0<= _id < sizeAttribute() |
exml::Attribute exml::AttributeListData::operator[] | +( | +int32_t | +_id | ) | ++ |
get attribute whith his ID
+[in] | _id | Identifier of the attribute 0<= _id < sizeAttribute() |
const exml::Attribute exml::AttributeListData::operator[] | +( | +int32_t | +_id | ) | +const | +
get attribute whith his ID
+[in] | _id | Identifier of the attribute 0<= _id < sizeAttribute() |
const std::string& exml::AttributeListData::operator[] | +( | +const std::string & | +_name | ) | +const | +
get the attribute value with searching in the List with his name
+[in] | _name | Attribute Name. |
bool exml::AttributeListData::remove | +( | +const std::string & | +_name | ) | ++ |
Remove an attribute form the list.
+[in] | _name | Name of the attribute |
void exml::AttributeListData::set | +( | +const std::string & | +_name, | +
+ | + | const std::string & | +_value | +
+ | ) | ++ |
Set A new attribute or replace data of the previous one.
+[in] | _name | Name of the attribute |
[in] | _value | Value of the attribute |
size_t exml::AttributeListData::size | +( | +) | +const | +
get the number of attribute in the Node
+This is the complete list of members for exml::Comment, including all inherited members.
+#include <Comment.hpp>
+Public Member Functions | |
Comment (ememory::SharedPtr< exml::internal::Node > _internalNode) | |
Comment (const exml::Comment &_obj) | |
Comment (const std::string &_value="") | |
exml::Comment & | operator= (const exml::Comment &_obj) |
![]() | |
Node (const ememory::SharedPtr< exml::internal::Node > &_internalNode) | |
Node () | |
virtual | ~Node ()=default |
bool | exist () const |
exml::FilePos | getPos () const |
virtual void | setValue (std::string _value) |
const std::string & | getValue () const |
enum nodeType | getType () const |
exml::Document | toDocument () |
const exml::Document | toDocument () const |
exml::Attribute | toAttribute () |
const exml::Attribute | toAttribute () const |
exml::Comment | toComment () |
const exml::Comment | toComment () const |
exml::Declaration | toDeclaration () |
const exml::Declaration | toDeclaration () const |
exml::Element | toElement () |
const exml::Element | toElement () const |
exml::Text | toText () |
const exml::Text | toText () const |
bool | isDocument () const |
bool | isAttribute () const |
bool | isComment () const |
bool | isDeclaration () const |
bool | isElement () const |
bool | isText () const |
virtual void | clear () |
+Additional Inherited Members | |
![]() | |
ememory::SharedPtr< exml::internal::Node > | m_data |
Comment node: <!– ... –>.
+exml::Comment::Comment | +( | +ememory::SharedPtr< exml::internal::Node > | +_internalNode | ) | ++ |
Constructor.
+[in] | _internalNode | Internal Node to set data |
exml::Comment::Comment | +( | +const exml::Comment & | +_obj | ) | ++ |
Copy constructor.
+[in] | _obj | Object to copy |
exml::Comment::Comment | +( | +const std::string & | +_value = "" | ) | ++ |
Constructor.
+[in] | _value | comment value |
exml::Comment& exml::Comment::operator= | +( | +const exml::Comment & | +_obj | ) | ++ |
Copy constructor.
+[in] | _obj | Object to copy |
This is the complete list of members for exml::Declaration, including all inherited members.
+#include <Declaration.hpp>
+Public Member Functions | |
Declaration (ememory::SharedPtr< exml::internal::Node > _internalNode) | |
Declaration (const exml::Declaration &_obj) | |
Declaration (const std::string &_name="") | |
exml::Declaration & | operator= (const exml::Declaration &_obj) |
![]() | |
Node (const ememory::SharedPtr< exml::internal::Node > &_internalNode) | |
Node () | |
virtual | ~Node ()=default |
bool | exist () const |
exml::FilePos | getPos () const |
virtual void | setValue (std::string _value) |
const std::string & | getValue () const |
enum nodeType | getType () const |
exml::Document | toDocument () |
const exml::Document | toDocument () const |
exml::Attribute | toAttribute () |
const exml::Attribute | toAttribute () const |
exml::Comment | toComment () |
const exml::Comment | toComment () const |
exml::Declaration | toDeclaration () |
const exml::Declaration | toDeclaration () const |
exml::Element | toElement () |
const exml::Element | toElement () const |
exml::Text | toText () |
const exml::Text | toText () const |
bool | isDocument () const |
bool | isAttribute () const |
bool | isComment () const |
bool | isDeclaration () const |
bool | isElement () const |
bool | isText () const |
virtual void | clear () |
+Additional Inherited Members | |
![]() | |
AttributeListData | attributes |
![]() | |
AttributeList (const ememory::SharedPtr< exml::internal::Node > &_internalNode) | |
AttributeList () | |
![]() | |
ememory::SharedPtr< exml::internal::Node > | m_data |
Declaration node: <?XXXXXX ... >.
+exml::Declaration::Declaration | +( | +ememory::SharedPtr< exml::internal::Node > | +_internalNode | ) | ++ |
Constructor.
+[in] | _internalNode | Internal Node to set data |
exml::Declaration::Declaration | +( | +const exml::Declaration & | +_obj | ) | ++ |
Copy constructor.
+[in] | _obj | Object to copy |
exml::Declaration::Declaration | +( | +const std::string & | +_name = "" | ) | ++ |
Constructor.
+[in] | _name | name of the declaration (xml, xml:xxxx ...) |
exml::Declaration& exml::Declaration::operator= | +( | +const exml::Declaration & | +_obj | ) | ++ |
Copy constructor.
+[in] | _obj | Object to copy |
This is the complete list of members for exml::DeclarationXML, including all inherited members.
+#include <Declaration.hpp>
+Public Member Functions | |
DeclarationXML (ememory::SharedPtr< exml::internal::Node > _internalNode) | |
DeclarationXML (const exml::DeclarationXML &_obj) | |
DeclarationXML (const std::string &_version="0.0", const std::string &_format="UTF-8", bool _standalone=true) | |
exml::DeclarationXML & | operator= (const exml::DeclarationXML &_obj) |
![]() | |
Declaration (ememory::SharedPtr< exml::internal::Node > _internalNode) | |
Declaration (const exml::Declaration &_obj) | |
Declaration (const std::string &_name="") | |
exml::Declaration & | operator= (const exml::Declaration &_obj) |
![]() | |
Node (const ememory::SharedPtr< exml::internal::Node > &_internalNode) | |
Node () | |
virtual | ~Node ()=default |
bool | exist () const |
exml::FilePos | getPos () const |
virtual void | setValue (std::string _value) |
const std::string & | getValue () const |
enum nodeType | getType () const |
exml::Document | toDocument () |
const exml::Document | toDocument () const |
exml::Attribute | toAttribute () |
const exml::Attribute | toAttribute () const |
exml::Comment | toComment () |
const exml::Comment | toComment () const |
exml::Declaration | toDeclaration () |
const exml::Declaration | toDeclaration () const |
exml::Element | toElement () |
const exml::Element | toElement () const |
exml::Text | toText () |
const exml::Text | toText () const |
bool | isDocument () const |
bool | isAttribute () const |
bool | isComment () const |
bool | isDeclaration () const |
bool | isElement () const |
bool | isText () const |
virtual void | clear () |
+Additional Inherited Members | |
![]() | |
AttributeListData | attributes |
![]() | |
AttributeList (const ememory::SharedPtr< exml::internal::Node > &_internalNode) | |
AttributeList () | |
![]() | |
ememory::SharedPtr< exml::internal::Node > | m_data |
Declaration node: <?XML ... >.
+exml::DeclarationXML::DeclarationXML | +( | +ememory::SharedPtr< exml::internal::Node > | +_internalNode | ) | ++ |
Constructor.
+[in] | _internalNode | Internal Node to set data |
exml::DeclarationXML::DeclarationXML | +( | +const exml::DeclarationXML & | +_obj | ) | ++ |
Copy constructor.
+[in] | _obj | Object to copy |
exml::DeclarationXML::DeclarationXML | +( | +const std::string & | +_version = "0.0" , |
+
+ | + | const std::string & | +_format = "UTF-8" , |
+
+ | + | bool | +_standalone = true |
+
+ | ) | ++ |
Constructor for the generic declaration : <?xml version="" format="UTF-8"?>
+[in] | _version | Xml version. |
[in] | _format | charset of the XML |
[in] | _standalone | this document is standalone |
exml::DeclarationXML& exml::DeclarationXML::operator= | +( | +const exml::DeclarationXML & | +_obj | ) | ++ |
Copy constructor.
+[in] | _obj | Object to copy |
This is the complete list of members for exml::Document, including all inherited members.
+#include <Document.hpp>
+Public Member Functions | |
Document (ememory::SharedPtr< exml::internal::Node > _internalNode) | |
Document (const exml::Document &_obj) | |
Document () | |
exml::Document & | operator= (const exml::Document &_obj) |
void | setCaseSensitive (bool _val) |
virtual bool | getCaseSensitive () const |
bool | parse (const std::string &_data) |
bool | generate (std::string &_data) |
bool | load (const std::string &_file) |
bool | store (const std::string &_file) |
void | display () |
void | setDisplayError (bool _value) |
bool | getDisplayError () |
void | displayError () |
![]() | |
Element (const ememory::SharedPtr< exml::internal::Node > &_internalNode) | |
Element (const exml::Element &_obj) | |
Element (const std::string &_value="") | |
exml::Element & | operator= (const exml::Element &_obj) |
std::string | getText () const |
void | clear () override |
![]() | |
Node (const ememory::SharedPtr< exml::internal::Node > &_internalNode) | |
Node () | |
virtual | ~Node ()=default |
bool | exist () const |
exml::FilePos | getPos () const |
virtual void | setValue (std::string _value) |
const std::string & | getValue () const |
enum nodeType | getType () const |
exml::Document | toDocument () |
const exml::Document | toDocument () const |
exml::Attribute | toAttribute () |
const exml::Attribute | toAttribute () const |
exml::Comment | toComment () |
const exml::Comment | toComment () const |
exml::Declaration | toDeclaration () |
const exml::Declaration | toDeclaration () const |
exml::Element | toElement () |
const exml::Element | toElement () const |
exml::Text | toText () |
const exml::Text | toText () const |
bool | isDocument () const |
bool | isAttribute () const |
bool | isComment () const |
bool | isDeclaration () const |
bool | isElement () const |
bool | isText () const |
+Additional Inherited Members | |
![]() | |
ElementData | nodes |
![]() | |
AttributeListData | attributes |
![]() | |
AttributeList (const ememory::SharedPtr< exml::internal::Node > &_internalNode) | |
AttributeList () | |
![]() | |
ememory::SharedPtr< exml::internal::Node > | m_data |
Basic document element of a document.
+exml::Document::Document | +( | +ememory::SharedPtr< exml::internal::Node > | +_internalNode | ) | ++ |
Constructor.
+[in] | _internalNode | Internal Node to set data |
exml::Document::Document | +( | +const exml::Document & | +_obj | ) | ++ |
Copy constructor.
+[in] | _obj | Object to copy |
exml::Document::Document | +( | +) | ++ |
Constructor.
+ +void exml::Document::display | +( | +) | ++ |
Display the Document on console.
+ +void exml::Document::displayError | +( | +) | ++ |
Display error detected.
+ +bool exml::Document::generate | +( | +std::string & | +_data | ) | ++ |
generate a string that contain the created XML
+[out] | _data | Data where the xml is stored |
+
|
+ +virtual | +
get the status of case sensitive mode.
+bool exml::Document::getDisplayError | +( | +) | ++ |
Get the display of the error status.
+bool exml::Document::load | +( | +const std::string & | +_file | ) | ++ |
Load the file that might contain the xml.
+[in] | _file | Filename of the xml (compatible with etk FSNode naming) |
exml::Document& exml::Document::operator= | +( | +const exml::Document & | +_obj | ) | ++ |
Copy constructor.
+[in] | _obj | Object to copy |
bool exml::Document::parse | +( | +const std::string & | +_data | ) | ++ |
parse a string that contain an XML
+[in] | _data | Data to parse |
void exml::Document::setCaseSensitive | +( | +bool | +_val | ) | ++ |
Enable or diasable the case sensitive (must be done before the call of parsing)
+[in] | _val | true if enable; false else. |
void exml::Document::setDisplayError | +( | +bool | +_value | ) | ++ |
Set the display of the error when detected.
+[in] | _value | true: display error, false not display error (get it at end) |
bool exml::Document::store | +( | +const std::string & | +_file | ) | ++ |
Store the Xml in the file.
+[in] | _file | Filename of the xml (compatible with etk FSNode naming) |
This is the complete list of members for exml::Element, including all inherited members.
+#include <Element.hpp>
+Public Member Functions | |
Element (const ememory::SharedPtr< exml::internal::Node > &_internalNode) | |
Element (const exml::Element &_obj) | |
Element (const std::string &_value="") | |
exml::Element & | operator= (const exml::Element &_obj) |
std::string | getText () const |
void | clear () override |
![]() | |
Node (const ememory::SharedPtr< exml::internal::Node > &_internalNode) | |
Node () | |
virtual | ~Node ()=default |
bool | exist () const |
exml::FilePos | getPos () const |
virtual void | setValue (std::string _value) |
const std::string & | getValue () const |
enum nodeType | getType () const |
exml::Document | toDocument () |
const exml::Document | toDocument () const |
exml::Attribute | toAttribute () |
const exml::Attribute | toAttribute () const |
exml::Comment | toComment () |
const exml::Comment | toComment () const |
exml::Declaration | toDeclaration () |
const exml::Declaration | toDeclaration () const |
exml::Element | toElement () |
const exml::Element | toElement () const |
exml::Text | toText () |
const exml::Text | toText () const |
bool | isDocument () const |
bool | isAttribute () const |
bool | isComment () const |
bool | isDeclaration () const |
bool | isElement () const |
bool | isText () const |
+Public Attributes | |
ElementData | nodes |
![]() | |
AttributeListData | attributes |
+Additional Inherited Members | |
![]() | |
AttributeList (const ememory::SharedPtr< exml::internal::Node > &_internalNode) | |
AttributeList () | |
![]() | |
ememory::SharedPtr< exml::internal::Node > | m_data |
Basic element Node of an XML document <YYYYY>.
+exml::Element::Element | +( | +const ememory::SharedPtr< exml::internal::Node > & | +_internalNode | ) | ++ |
Constructor.
+[in] | _internalNode | Internal Node to set data |
exml::Element::Element | +( | +const exml::Element & | +_obj | ) | ++ |
Copy constructor.
+[in] | _obj | Object to copy |
exml::Element::Element | +( | +const std::string & | +_value = "" | ) | ++ |
Constructor.
+[in] | _value | Element name; |
+
|
+ +overridevirtual | +
clear the Node
+ +Reimplemented from exml::Node.
+ +std::string exml::Element::getText | +( | +) | +const | +
get the internal data of the element (if the element has some sub node thay are converted in xml string == > like this it is not needed to use <![CDATA[...]]>
+exml::Element& exml::Element::operator= | +( | +const exml::Element & | +_obj | ) | ++ |
Copy constructor.
+[in] | _obj | Object to copy |
ElementData exml::Element::nodes | +
All Sub-nodes interface.
+ +This is the complete list of members for exml::ElementData, including all inherited members.
+add(const exml::Node &_node) | exml::ElementData | |
begin() | exml::ElementData | |
begin() const | exml::ElementData | |
ElementData(exml::Element *_list) | exml::ElementData | |
end() | exml::ElementData | |
end() const | exml::ElementData | |
getType(int32_t _id) const | exml::ElementData | |
iterator typedef | exml::ElementData | |
operator[](int32_t _id) | exml::ElementData | |
operator[](int32_t _id) const | exml::ElementData | |
operator[](const std::string &_name) | exml::ElementData | |
operator[](const std::string &_name) const | exml::ElementData | |
remove(const std::string &_nodeName) | exml::ElementData | |
size() const | exml::ElementData |
#include <Element.hpp>
+Public Types | |
using | iterator = exml::iterator< exml::ElementData, exml::Node > |
+Public Member Functions | |
ElementData (exml::Element *_list) | |
size_t | size () const |
void | add (const exml::Node &_node) |
void | remove (const std::string &_nodeName) |
enum nodeType | getType (int32_t _id) const |
exml::Node | operator[] (int32_t _id) |
const exml::Node | operator[] (int32_t _id) const |
exml::Element | operator[] (const std::string &_name) |
const exml::Element | operator[] (const std::string &_name) const |
iterator | begin () |
iterator | end () |
const iterator | begin () const |
const iterator | end () const |
Basic element Node of an XML document <YYYYY>.
+Remove node with a specisic ID/Iterator (erase)
+Remove an Node with his exml::Element link
+using exml::ElementData::iterator = exml::iterator<exml::ElementData, exml::Node> | +
Specify iterator of the element methode.
+ +exml::ElementData::ElementData | +( | +exml::Element * | +_list | ) | ++ |
constructor on the ElementData class
+[in] | _list | Get pointer on the exml::Element class (must not be nullptr) |
void exml::ElementData::add | +( | +const exml::Node & | +_node | ) | ++ |
add a node at the element (not exml::Attribute (move in the attribute automaticly).
+[in] | _node | Node to add. |
iterator exml::ElementData::begin | +( | +) | ++ |
Get iterator of the first sub nodes.
+const iterator exml::ElementData::begin | +( | +) | +const | +
Get const iterator of the first sub nodes.
+iterator exml::ElementData::end | +( | +) | ++ |
Get iterator of the next of the last sub nodes.
+const iterator exml::ElementData::end | +( | +) | +const | +
Get const iterator of the next of the last sub nodes.
+enum nodeType exml::ElementData::getType | +( | +int32_t | +_id | ) | +const | +
get the type of the element id.
+[in] | _id | Id of the element. |
exml::Node exml::ElementData::operator[] | +( | +int32_t | +_id | ) | ++ |
get the Node pointer of the element id.
+[in] | _id | Id of the element. |
const exml::Node exml::ElementData::operator[] | +( | +int32_t | +_id | ) | +const | +
get the Node pointer of the element id.
+[in] | _id | Id of the element. |
exml::Element exml::ElementData::operator[] | +( | +const std::string & | +_name | ) | ++ |
get an element with his name (work only with exml::Element)
+[in] | _name | Name of the element that is requested |
const exml::Element exml::ElementData::operator[] | +( | +const std::string & | +_name | ) | +const | +
get an element with his name (work only with exml::Element)
+[in] | _name | Name of the element that is requested |
void exml::ElementData::remove | +( | +const std::string & | +_nodeName | ) | ++ |
Remove a node with his name.
+[in] | _nodeName | Name of the node. |
size_t exml::ElementData::size | +( | +) | +const | +
get the number of sub element in the node (can be exml::Comment ; exml::Element ; exml::Text :exml::Declaration).
+This is the complete list of members for exml::FilePos, including all inherited members.
+check(char32_t _val) | exml::FilePos | |
clear() | exml::FilePos | |
FilePos() | exml::FilePos | |
FilePos(size_t _line, size_t _col) | exml::FilePos | |
getCol() const | exml::FilePos | |
getLine() const | exml::FilePos | |
newLine() | exml::FilePos | |
operator++() | exml::FilePos | |
operator+=(const FilePos &_obj) | exml::FilePos | |
operator+=(size_t _col) | exml::FilePos | |
operator--() | exml::FilePos | |
operator=(const FilePos &_obj) | exml::FilePos | |
set(size_t _line, size_t _col) | exml::FilePos |
#include <FilePos.hpp>
+Public Member Functions | |
FilePos () | |
FilePos (size_t _line, size_t _col) | |
FilePos & | operator++ () |
FilePos & | operator-- () |
FilePos & | operator+= (const FilePos &_obj) |
FilePos & | operator+= (size_t _col) |
FilePos & | operator= (const FilePos &_obj) |
void | newLine () |
bool | check (char32_t _val) |
void | set (size_t _line, size_t _col) |
void | clear () |
size_t | getCol () const |
size_t | getLine () const |
Position in the file of the original data.
+exml::FilePos::FilePos | +( | +) | ++ |
default contructor (set line and col at 0)
+ +exml::FilePos::FilePos | +( | +size_t | +_line, | +
+ | + | size_t | +_col | +
+ | ) | ++ |
initialize constructor
+[in] | _line | Line in the file |
[in] | _col | Colomn in the file |
bool exml::FilePos::check | +( | +char32_t | +_val | ) | ++ |
Check if the value is a new line and update internal property.
+[in] | _val | Char value to check |
void exml::FilePos::clear | +( | +) | ++ |
Reset position at 0,0.
+ +size_t exml::FilePos::getCol | +( | +) | +const | +
Get the colomn position.
+size_t exml::FilePos::getLine | +( | +) | +const | +
Get the line number position.
+void exml::FilePos::newLine | +( | +) | ++ |
Find a new line & reset colomn at 0.
+ +FilePos& exml::FilePos::operator++ | +( | +) | ++ |
Increment the colomn position.
+Addition operator.
+[in] | _obj | Addition object.. |
FilePos& exml::FilePos::operator+= | +( | +size_t | +_col | ) | ++ |
Colomn addition operator.
+[in] | _col | Number of colomn to add |
FilePos& exml::FilePos::operator-- | +( | +) | ++ |
Decrement the colomn position.
+Asignment operator.
+[in] | _obj | Object to copy |
void exml::FilePos::set | +( | +size_t | +_line, | +
+ | + | size_t | +_col | +
+ | ) | ++ |
Setter of specific data.
+[in] | _line | Line in the file |
[in] | _col | Colomn in the file |
This is the complete list of members for exml::Node, including all inherited members.
+#include <Node.hpp>
+Public Member Functions | |
Node (const ememory::SharedPtr< exml::internal::Node > &_internalNode) | |
Node () | |
virtual | ~Node ()=default |
bool | exist () const |
exml::FilePos | getPos () const |
virtual void | setValue (std::string _value) |
const std::string & | getValue () const |
enum nodeType | getType () const |
exml::Document | toDocument () |
const exml::Document | toDocument () const |
exml::Attribute | toAttribute () |
const exml::Attribute | toAttribute () const |
exml::Comment | toComment () |
const exml::Comment | toComment () const |
exml::Declaration | toDeclaration () |
const exml::Declaration | toDeclaration () const |
exml::Element | toElement () |
const exml::Element | toElement () const |
exml::Text | toText () |
const exml::Text | toText () const |
bool | isDocument () const |
bool | isAttribute () const |
bool | isComment () const |
bool | isDeclaration () const |
bool | isElement () const |
bool | isText () const |
virtual void | clear () |
+Protected Attributes | |
ememory::SharedPtr< exml::internal::Node > | m_data |
+Friends | |
+class | exml::Element |
+class | exml::AttributeListData |
+class | exml::ElementData |
Basic main object of all xml elements.
+exml::Node::Node | +( | +const ememory::SharedPtr< exml::internal::Node > & | +_internalNode | ) | ++ |
basic element of a xml structure
+[in] | _internalNode | Internal reference of the Node |
exml::Node::Node | +( | +) | ++ |
basic element of a xml structure
+ +
+
|
+ +virtualdefault | +
Virtualize destructor.
+ +
+
|
+ +virtual | +
clear the Node
+ +Reimplemented in exml::Element, and exml::Attribute.
+ +bool exml::Node::exist | +( | +) | +const | +
Check if the element exit.
+exml::FilePos exml::Node::getPos | +( | +) | +const | +
get the current position where the element is in the file
+enum nodeType exml::Node::getType | +( | +) | +const | +
get the node type.
+const std::string& exml::Node::getValue | +( | +) | +const | +
get the current element Value.
+bool exml::Node::isAttribute | +( | +) | +const | +
check if the node is a exml::Attribute
+bool exml::Node::isComment | +( | +) | +const | +
check if the node is a exml::Comment
+bool exml::Node::isDeclaration | +( | +) | +const | +
check if the node is a exml::Declaration
+bool exml::Node::isDocument | +( | +) | +const | +
check if the node is a exml::Document
+bool exml::Node::isElement | +( | +) | +const | +
check if the node is a exml::Element
+bool exml::Node::isText | +( | +) | +const | +
check if the node is a exml::Text
+
+
|
+ +virtual | +
set the value of the node.
+[in] | _value | New value of the node. |
exml::Attribute exml::Node::toAttribute | +( | +) | ++ |
Cast the element in a Attribute if it is possible.
+const exml::Attribute exml::Node::toAttribute | +( | +) | +const | +
Cast the element in a Attribute if it is possible.
+exml::Comment exml::Node::toComment | +( | +) | ++ |
Cast the element in a Comment if it is possible.
+const exml::Comment exml::Node::toComment | +( | +) | +const | +
Cast the element in a Comment if it is possible.
+exml::Declaration exml::Node::toDeclaration | +( | +) | ++ |
Cast the element in a Declaration if it is possible.
+const exml::Declaration exml::Node::toDeclaration | +( | +) | +const | +
Cast the element in a Declaration if it is possible.
+exml::Document exml::Node::toDocument | +( | +) | ++ |
Cast the element in a Document if it is possible.
+const exml::Document exml::Node::toDocument | +( | +) | +const | +
Cast the element in a Document if it is possible.
+exml::Element exml::Node::toElement | +( | +) | ++ |
Cast the element in a Element if it is possible.
+const exml::Element exml::Node::toElement | +( | +) | +const | +
Cast the element in a Element if it is possible.
+exml::Text exml::Node::toText | +( | +) | ++ |
Cast the element in a Text if it is possible.
+const exml::Text exml::Node::toText | +( | +) | +const | +
Cast the element in a Text if it is possible.
+
+
|
+ +protected | +
internal reference on a node
+ +This is the complete list of members for exml::Text, including all inherited members.
+#include <Text.hpp>
+Public Member Functions | |
Text (ememory::SharedPtr< exml::internal::Node > _internalNode) | |
Text (const exml::Text &_obj) | |
Text (const std::string &_data="") | |
exml::Text & | operator= (const exml::Text &_obj) |
![]() | |
Node (const ememory::SharedPtr< exml::internal::Node > &_internalNode) | |
Node () | |
virtual | ~Node ()=default |
bool | exist () const |
exml::FilePos | getPos () const |
virtual void | setValue (std::string _value) |
const std::string & | getValue () const |
enum nodeType | getType () const |
exml::Document | toDocument () |
const exml::Document | toDocument () const |
exml::Attribute | toAttribute () |
const exml::Attribute | toAttribute () const |
exml::Comment | toComment () |
const exml::Comment | toComment () const |
exml::Declaration | toDeclaration () |
const exml::Declaration | toDeclaration () const |
exml::Element | toElement () |
const exml::Element | toElement () const |
exml::Text | toText () |
const exml::Text | toText () const |
bool | isDocument () const |
bool | isAttribute () const |
bool | isComment () const |
bool | isDeclaration () const |
bool | isElement () const |
bool | isText () const |
virtual void | clear () |
+Additional Inherited Members | |
![]() | |
ememory::SharedPtr< exml::internal::Node > | m_data |
Text node interface (internal data between two balise : <XXX> ALL here </XXX>.
+exml::Text::Text | +( | +ememory::SharedPtr< exml::internal::Node > | +_internalNode | ) | ++ |
Constructor.
+[in] | _internalNode | Internal Node to set data |
exml::Text::Text | +( | +const exml::Text & | +_obj | ) | ++ |
Copy constructor.
+[in] | _obj | Object to copy |
exml::Text::Text | +( | +const std::string & | +_data = "" | ) | ++ |
Constructor.
+[in] | _data | String data of the current Text |
exml::Text& exml::Text::operator= | +( | +const exml::Text & | +_obj | ) | ++ |
Copy constructor.
+[in] | _obj | Object to copy |
This is the complete list of members for exml::internal::Attribute, including all inherited members.
+#include <Attribute.hpp>
+Public Member Functions | |
virtual void | setName (const std::string &_name) |
virtual const std::string & | getName () const |
enum nodeType | getType () const override |
bool | iParse (const std::string &_data, int32_t &_pos, bool _caseSensitive, exml::FilePos &_filePos, exml::internal::Document &_doc) override |
bool | iGenerate (std::string &_data, int32_t _indent) const override |
ememory::SharedPtr< exml::internal::Attribute > | toAttribute () override |
const ememory::SharedPtr< exml::internal::Attribute > | toAttribute () const override |
void | clear () override |
![]() | |
virtual | ~Node ()=default |
const exml::FilePos & | getPos () const |
virtual void | setValue (std::string _value) |
virtual const std::string & | getValue () const |
virtual ememory::SharedPtr< exml::internal::Document > | toDocument () |
virtual const ememory::SharedPtr< exml::internal::Document > | toDocument () const |
virtual ememory::SharedPtr< exml::internal::Comment > | toComment () |
virtual const ememory::SharedPtr< exml::internal::Comment > | toComment () const |
virtual ememory::SharedPtr< exml::internal::Declaration > | toDeclaration () |
virtual const ememory::SharedPtr< exml::internal::Declaration > | toDeclaration () const |
virtual ememory::SharedPtr< exml::internal::Element > | toElement () |
virtual const ememory::SharedPtr< exml::internal::Element > | toElement () const |
virtual ememory::SharedPtr< exml::internal::Text > | toText () |
virtual const ememory::SharedPtr< exml::internal::Text > | toText () const |
bool | isDocument () const |
bool | isAttribute () const |
bool | isComment () const |
bool | isDeclaration () const |
bool | isElement () const |
bool | isText () const |
![]() | |
+ememory::SharedPtr< EMEMORY_TYPE > | sharedFromThis () |
+const ememory::SharedPtr< EMEMORY_TYPE > | sharedFromThis () const |
+ememory::WeakPtr< EMEMORY_TYPE > | weakFromThis () |
+const ememory::WeakPtr< EMEMORY_TYPE > | weakFromThis () const |
+Static Public Member Functions | |
static ememory::SharedPtr< Attribute > | create (const std::string &_name="", const std::string &_value="") |
+Protected Member Functions | |
Attribute (const std::string &_name="", const std::string &_value="") | |
![]() | |
Node () | |
Node (const std::string &_value) | |
void | addIndent (std::string &_data, int32_t _indent) const |
void | drawElementParsed (char32_t _val, const exml::FilePos &_filePos) const |
bool | checkAvaillable (char32_t _val, bool _firstChar) const |
int32_t | countWhiteChar (const std::string &_data, int32_t _pos, exml::FilePos &_filePos) const |
+Protected Attributes | |
std::string | m_name |
![]() | |
exml::FilePos | m_pos |
std::string | m_value |
Single attribute element.
+
+
|
+ +protected | +
Constructor.
+[in] | _name | Name of the attribute. |
[in] | _value | Value of the attribute. |
+
|
+ +overridevirtual | +
clear the Node
+ +Reimplemented from exml::internal::Node.
+ +
+
|
+ +static | +
defined factory
+[in] | _name | Name of the attribute |
[in] | _value | Value of the attribute |
+
|
+ +inlinevirtual | +
get the current name of the Attribute
+
+
|
+ +inlineoverridevirtual | +
+
|
+ +overridevirtual | +
generate a string with the tree of the xml
+[in,out] | _data | string where to add the elements |
[in] | _indent | current indentation of the file |
Reimplemented from exml::internal::Node.
+ +
+
|
+ +overridevirtual | +
parse the Current node [pure VIRUAL]
+[in] | _data | data string to parse. |
[in,out] | _pos | position in the string to start parse, return the position end of parsing. |
[in] | _caseSensitive | Request a parsion of element that is not case sensitive (all element is in low case) |
[in,out] | _filePos | file parsing position (line x col x) |
[in,out] | _doc | Base document reference |
Implements exml::internal::Node.
+ +
+
|
+ +inlinevirtual | +
set the name of the attribute
+[in] | _name | New name of the attribute |
+
|
+ +inlineoverridevirtual | +
Cast the element in a Attribute if it is possible.
+Reimplemented from exml::internal::Node.
+ +
+
|
+ +inlineoverridevirtual | +
Cast the element in a Attribute if it is possible.
+Reimplemented from exml::internal::Node.
+ +
+
|
+ +protected | +
Name of the attribute.
+ +This is the complete list of members for exml::internal::AttributeList, including all inherited members.
+#include <AttributeList.hpp>
+Public Member Functions | |
size_t | sizeAttribute () const |
void | appendAttribute (const ememory::SharedPtr< exml::internal::Attribute > &_attr) |
ememory::SharedPtr< Attribute > | getAttr (int32_t _id) |
ememory::SharedPtr< const Attribute > | getAttr (int32_t _id) const |
std::pair< std::string, std::string > | getAttrPair (int32_t _id) const |
const std::string & | getAttribute (const std::string &_name) const |
bool | existAttribute (const std::string &_name) const |
void | setAttribute (const std::string &_name, const std::string &_value) |
bool | removeAttribute (const std::string &_name) |
bool | iGenerate (std::string &_data, int32_t _indent) const override |
void | clear () override |
![]() | |
virtual | ~Node ()=default |
virtual bool | iParse (const std::string &_data, int32_t &_pos, bool _caseSensitive, exml::FilePos &_filePos, exml::internal::Document &_doc)=0 |
const exml::FilePos & | getPos () const |
virtual void | setValue (std::string _value) |
virtual const std::string & | getValue () const |
virtual enum nodeType | getType () const |
virtual ememory::SharedPtr< exml::internal::Document > | toDocument () |
virtual const ememory::SharedPtr< exml::internal::Document > | toDocument () const |
virtual ememory::SharedPtr< exml::internal::Attribute > | toAttribute () |
virtual const ememory::SharedPtr< exml::internal::Attribute > | toAttribute () const |
virtual ememory::SharedPtr< exml::internal::Comment > | toComment () |
virtual const ememory::SharedPtr< exml::internal::Comment > | toComment () const |
virtual ememory::SharedPtr< exml::internal::Declaration > | toDeclaration () |
virtual const ememory::SharedPtr< exml::internal::Declaration > | toDeclaration () const |
virtual ememory::SharedPtr< exml::internal::Element > | toElement () |
virtual const ememory::SharedPtr< exml::internal::Element > | toElement () const |
virtual ememory::SharedPtr< exml::internal::Text > | toText () |
virtual const ememory::SharedPtr< exml::internal::Text > | toText () const |
bool | isDocument () const |
bool | isAttribute () const |
bool | isComment () const |
bool | isDeclaration () const |
bool | isElement () const |
bool | isText () const |
![]() | |
+ememory::SharedPtr< EMEMORY_TYPE > | sharedFromThis () |
+const ememory::SharedPtr< EMEMORY_TYPE > | sharedFromThis () const |
+ememory::WeakPtr< EMEMORY_TYPE > | weakFromThis () |
+const ememory::WeakPtr< EMEMORY_TYPE > | weakFromThis () const |
+Protected Member Functions | |
AttributeList (const std::string &_value="") | |
![]() | |
Node () | |
Node (const std::string &_value) | |
void | addIndent (std::string &_data, int32_t _indent) const |
void | drawElementParsed (char32_t _val, const exml::FilePos &_filePos) const |
bool | checkAvaillable (char32_t _val, bool _firstChar) const |
int32_t | countWhiteChar (const std::string &_data, int32_t _pos, exml::FilePos &_filePos) const |
+Protected Attributes | |
std::vector< ememory::SharedPtr< exml::internal::Attribute > > | m_listAttribute |
![]() | |
exml::FilePos | m_pos |
std::string | m_value |
List of all attribute element in a node.
+
+
|
+ +inlineprotected | +
Constructor.
+[in] | _value | Node value; |
void exml::internal::AttributeList::appendAttribute | +( | +const ememory::SharedPtr< exml::internal::Attribute > & | +_attr | ) | ++ |
add attribute on the List
+[in] | _attr | Pointer on the attribute |
+
|
+ +overridevirtual | +
clear the Node
+ +Reimplemented from exml::internal::Node.
+ +Reimplemented in exml::internal::Element.
+ +bool exml::internal::AttributeList::existAttribute | +( | +const std::string & | +_name | ) | +const | +
check if an attribute exist or not with his name.
+[in] | _name | Attribute Name. |
ememory::SharedPtr<Attribute> exml::internal::AttributeList::getAttr | +( | +int32_t | +_id | ) | ++ |
get attribute whith his ID
+[in] | _id | Identifier of the attribute 0<= _id < sizeAttribute() |
ememory::SharedPtr<const Attribute> exml::internal::AttributeList::getAttr | +( | +int32_t | +_id | ) | +const | +
get attribute whith his ID
+[in] | _id | Identifier of the attribute 0<= _id < sizeAttribute() |
const std::string& exml::internal::AttributeList::getAttribute | +( | +const std::string & | +_name | ) | +const | +
get the attribute value with searching in the List with his name
+[in] | _name | Attribute Name. |
std::pair<std::string, std::string> exml::internal::AttributeList::getAttrPair | +( | +int32_t | +_id | ) | +const | +
get attribute whith his ID
+[in] | _id | Identifier of the attribute 0<= _id < sizeAttribute() |
+
|
+ +overridevirtual | +
generate a string with the tree of the xml
+[in,out] | _data | string where to add the elements |
[in] | _indent | current indentation of the file |
Reimplemented from exml::internal::Node.
+ +Reimplemented in exml::internal::Element, exml::internal::Document, and exml::internal::Declaration.
+ +bool exml::internal::AttributeList::removeAttribute | +( | +const std::string & | +_name | ) | ++ |
Remove an attribute form the list.
+[in] | _name | Name of the attribute |
void exml::internal::AttributeList::setAttribute | +( | +const std::string & | +_name, | +
+ | + | const std::string & | +_value | +
+ | ) | ++ |
Set A new attribute or replace data of the previous one.
+[in] | _name | Name of the attribute |
[in] | _value | Value of the attribute |
+
|
+ +inline | +
get the number of attribute in the Node
+
+
|
+ +protected | +
list of all attribute
+ +This is the complete list of members for exml::internal::Comment, including all inherited members.
+#include <Comment.hpp>
+Public Member Functions | |
Comment (const std::string &_value) | |
enum nodeType | getType () const override |
bool | iParse (const std::string &_data, int32_t &_pos, bool _caseSensitive, exml::FilePos &_filePos, exml::internal::Document &_doc) override |
bool | iGenerate (std::string &_data, int32_t _indent) const override |
ememory::SharedPtr< exml::internal::Comment > | toComment () override |
const ememory::SharedPtr< exml::internal::Comment > | toComment () const override |
![]() | |
virtual | ~Node ()=default |
const exml::FilePos & | getPos () const |
virtual void | setValue (std::string _value) |
virtual const std::string & | getValue () const |
virtual ememory::SharedPtr< exml::internal::Document > | toDocument () |
virtual const ememory::SharedPtr< exml::internal::Document > | toDocument () const |
virtual ememory::SharedPtr< exml::internal::Attribute > | toAttribute () |
virtual const ememory::SharedPtr< exml::internal::Attribute > | toAttribute () const |
virtual ememory::SharedPtr< exml::internal::Declaration > | toDeclaration () |
virtual const ememory::SharedPtr< exml::internal::Declaration > | toDeclaration () const |
virtual ememory::SharedPtr< exml::internal::Element > | toElement () |
virtual const ememory::SharedPtr< exml::internal::Element > | toElement () const |
virtual ememory::SharedPtr< exml::internal::Text > | toText () |
virtual const ememory::SharedPtr< exml::internal::Text > | toText () const |
bool | isDocument () const |
bool | isAttribute () const |
bool | isComment () const |
bool | isDeclaration () const |
bool | isElement () const |
bool | isText () const |
virtual void | clear () |
![]() | |
+ememory::SharedPtr< EMEMORY_TYPE > | sharedFromThis () |
+const ememory::SharedPtr< EMEMORY_TYPE > | sharedFromThis () const |
+ememory::WeakPtr< EMEMORY_TYPE > | weakFromThis () |
+const ememory::WeakPtr< EMEMORY_TYPE > | weakFromThis () const |
+Static Public Member Functions | |
static ememory::SharedPtr< exml::internal::Comment > | create (const std::string &_value="") |
+Additional Inherited Members | |
![]() | |
Node () | |
Node (const std::string &_value) | |
void | addIndent (std::string &_data, int32_t _indent) const |
void | drawElementParsed (char32_t _val, const exml::FilePos &_filePos) const |
bool | checkAvaillable (char32_t _val, bool _firstChar) const |
int32_t | countWhiteChar (const std::string &_data, int32_t _pos, exml::FilePos &_filePos) const |
![]() | |
exml::FilePos | m_pos |
std::string | m_value |
Comment node: <!– ... –>.
+
+
|
+ +inline | +
Constructor.
+[in] | _value | comment value |
+
|
+ +static | +
defined factory
+[in] | _value | comment value |
+
|
+ +inlineoverridevirtual | +
+
|
+ +overridevirtual | +
generate a string with the tree of the xml
+[in,out] | _data | string where to add the elements |
[in] | _indent | current indentation of the file |
Reimplemented from exml::internal::Node.
+ +
+
|
+ +overridevirtual | +
parse the Current node [pure VIRUAL]
+[in] | _data | data string to parse. |
[in,out] | _pos | position in the string to start parse, return the position end of parsing. |
[in] | _caseSensitive | Request a parsion of element that is not case sensitive (all element is in low case) |
[in,out] | _filePos | file parsing position (line x col x) |
[in,out] | _doc | Base document reference |
Implements exml::internal::Node.
+ +
+
|
+ +inlineoverridevirtual | +
Cast the element in a Comment if it is possible.
+Reimplemented from exml::internal::Node.
+ +
+
|
+ +inlineoverridevirtual | +
Cast the element in a Comment if it is possible.
+Reimplemented from exml::internal::Node.
+ +This is the complete list of members for exml::internal::Declaration, including all inherited members.
+#include <Declaration.hpp>
+Public Member Functions | |
enum nodeType | getType () const override |
bool | iGenerate (std::string &_data, int32_t _indent) const override |
bool | iParse (const std::string &_data, int32_t &_pos, bool _caseSensitive, exml::FilePos &_filePos, exml::internal::Document &_doc) override |
ememory::SharedPtr< exml::internal::Declaration > | toDeclaration () override |
const ememory::SharedPtr< exml::internal::Declaration > | toDeclaration () const override |
![]() | |
size_t | sizeAttribute () const |
void | appendAttribute (const ememory::SharedPtr< exml::internal::Attribute > &_attr) |
ememory::SharedPtr< Attribute > | getAttr (int32_t _id) |
ememory::SharedPtr< const Attribute > | getAttr (int32_t _id) const |
std::pair< std::string, std::string > | getAttrPair (int32_t _id) const |
const std::string & | getAttribute (const std::string &_name) const |
bool | existAttribute (const std::string &_name) const |
void | setAttribute (const std::string &_name, const std::string &_value) |
bool | removeAttribute (const std::string &_name) |
void | clear () override |
![]() | |
virtual | ~Node ()=default |
const exml::FilePos & | getPos () const |
virtual void | setValue (std::string _value) |
virtual const std::string & | getValue () const |
virtual ememory::SharedPtr< exml::internal::Document > | toDocument () |
virtual const ememory::SharedPtr< exml::internal::Document > | toDocument () const |
virtual ememory::SharedPtr< exml::internal::Attribute > | toAttribute () |
virtual const ememory::SharedPtr< exml::internal::Attribute > | toAttribute () const |
virtual ememory::SharedPtr< exml::internal::Comment > | toComment () |
virtual const ememory::SharedPtr< exml::internal::Comment > | toComment () const |
virtual ememory::SharedPtr< exml::internal::Element > | toElement () |
virtual const ememory::SharedPtr< exml::internal::Element > | toElement () const |
virtual ememory::SharedPtr< exml::internal::Text > | toText () |
virtual const ememory::SharedPtr< exml::internal::Text > | toText () const |
bool | isDocument () const |
bool | isAttribute () const |
bool | isComment () const |
bool | isDeclaration () const |
bool | isElement () const |
bool | isText () const |
![]() | |
+ememory::SharedPtr< EMEMORY_TYPE > | sharedFromThis () |
+const ememory::SharedPtr< EMEMORY_TYPE > | sharedFromThis () const |
+ememory::WeakPtr< EMEMORY_TYPE > | weakFromThis () |
+const ememory::WeakPtr< EMEMORY_TYPE > | weakFromThis () const |
+Static Public Member Functions | |
static ememory::SharedPtr< Declaration > | create (const std::string &_name="") |
+Protected Member Functions | |
Declaration (const std::string &_name="") | |
![]() | |
AttributeList (const std::string &_value="") | |
![]() | |
Node () | |
Node (const std::string &_value) | |
void | addIndent (std::string &_data, int32_t _indent) const |
void | drawElementParsed (char32_t _val, const exml::FilePos &_filePos) const |
bool | checkAvaillable (char32_t _val, bool _firstChar) const |
int32_t | countWhiteChar (const std::string &_data, int32_t _pos, exml::FilePos &_filePos) const |
+Additional Inherited Members | |
![]() | |
std::vector< ememory::SharedPtr< exml::internal::Attribute > > | m_listAttribute |
![]() | |
exml::FilePos | m_pos |
std::string | m_value |
Declaration node: <?XXXXXX ... >.
+
+
|
+ +inlineprotected | +
Constructor.
+[in] | _name | name of the declaration (xml, xml:xxxx ...) |
+
|
+ +static | +
Factory to create declaration.
+[in] | _name | name of the declaration (xml, xml:xxxx ...) |
+
|
+ +inlineoverridevirtual | +
+
|
+ +overridevirtual | +
generate a string with the tree of the xml
+[in,out] | _data | string where to add the elements |
[in] | _indent | current indentation of the file |
Reimplemented from exml::internal::AttributeList.
+ +
+
|
+ +overridevirtual | +
parse the Current node [pure VIRUAL]
+[in] | _data | data string to parse. |
[in,out] | _pos | position in the string to start parse, return the position end of parsing. |
[in] | _caseSensitive | Request a parsion of element that is not case sensitive (all element is in low case) |
[in,out] | _filePos | file parsing position (line x col x) |
[in,out] | _doc | Base document reference |
Implements exml::internal::Node.
+ +
+
|
+ +inlineoverridevirtual | +
Cast the element in a Declaration if it is possible.
+Reimplemented from exml::internal::Node.
+ +
+
|
+ +inlineoverridevirtual | +
Cast the element in a Declaration if it is possible.
+Reimplemented from exml::internal::Node.
+ +This is the complete list of members for exml::internal::DeclarationXML, including all inherited members.
+#include <Declaration.hpp>
+Public Member Functions | |
DeclarationXML (const std::string &_version, const std::string &_format="UTF-8", bool _standalone=true) | |
![]() | |
enum nodeType | getType () const override |
bool | iGenerate (std::string &_data, int32_t _indent) const override |
bool | iParse (const std::string &_data, int32_t &_pos, bool _caseSensitive, exml::FilePos &_filePos, exml::internal::Document &_doc) override |
ememory::SharedPtr< exml::internal::Declaration > | toDeclaration () override |
const ememory::SharedPtr< exml::internal::Declaration > | toDeclaration () const override |
![]() | |
size_t | sizeAttribute () const |
void | appendAttribute (const ememory::SharedPtr< exml::internal::Attribute > &_attr) |
ememory::SharedPtr< Attribute > | getAttr (int32_t _id) |
ememory::SharedPtr< const Attribute > | getAttr (int32_t _id) const |
std::pair< std::string, std::string > | getAttrPair (int32_t _id) const |
const std::string & | getAttribute (const std::string &_name) const |
bool | existAttribute (const std::string &_name) const |
void | setAttribute (const std::string &_name, const std::string &_value) |
bool | removeAttribute (const std::string &_name) |
void | clear () override |
![]() | |
virtual | ~Node ()=default |
const exml::FilePos & | getPos () const |
virtual void | setValue (std::string _value) |
virtual const std::string & | getValue () const |
virtual ememory::SharedPtr< exml::internal::Document > | toDocument () |
virtual const ememory::SharedPtr< exml::internal::Document > | toDocument () const |
virtual ememory::SharedPtr< exml::internal::Attribute > | toAttribute () |
virtual const ememory::SharedPtr< exml::internal::Attribute > | toAttribute () const |
virtual ememory::SharedPtr< exml::internal::Comment > | toComment () |
virtual const ememory::SharedPtr< exml::internal::Comment > | toComment () const |
virtual ememory::SharedPtr< exml::internal::Element > | toElement () |
virtual const ememory::SharedPtr< exml::internal::Element > | toElement () const |
virtual ememory::SharedPtr< exml::internal::Text > | toText () |
virtual const ememory::SharedPtr< exml::internal::Text > | toText () const |
bool | isDocument () const |
bool | isAttribute () const |
bool | isComment () const |
bool | isDeclaration () const |
bool | isElement () const |
bool | isText () const |
![]() | |
+ememory::SharedPtr< EMEMORY_TYPE > | sharedFromThis () |
+const ememory::SharedPtr< EMEMORY_TYPE > | sharedFromThis () const |
+ememory::WeakPtr< EMEMORY_TYPE > | weakFromThis () |
+const ememory::WeakPtr< EMEMORY_TYPE > | weakFromThis () const |
+Static Public Member Functions | |
static ememory::SharedPtr< DeclarationXML > | create (const std::string &_version, const std::string &_format="UTF-8", bool _standalone=true) |
![]() | |
static ememory::SharedPtr< Declaration > | create (const std::string &_name="") |
+Additional Inherited Members | |
![]() | |
Declaration (const std::string &_name="") | |
![]() | |
AttributeList (const std::string &_value="") | |
![]() | |
Node () | |
Node (const std::string &_value) | |
void | addIndent (std::string &_data, int32_t _indent) const |
void | drawElementParsed (char32_t _val, const exml::FilePos &_filePos) const |
bool | checkAvaillable (char32_t _val, bool _firstChar) const |
int32_t | countWhiteChar (const std::string &_data, int32_t _pos, exml::FilePos &_filePos) const |
![]() | |
std::vector< ememory::SharedPtr< exml::internal::Attribute > > | m_listAttribute |
![]() | |
exml::FilePos | m_pos |
std::string | m_value |
Declaration node: <?XML ... >.
+exml::internal::DeclarationXML::DeclarationXML | +( | +const std::string & | +_version, | +
+ | + | const std::string & | +_format = "UTF-8" , |
+
+ | + | bool | +_standalone = true |
+
+ | ) | ++ |
Constructor for the generic declaration : <?xml version="" format="UTF-8"?>
+[in] | _version | Xml version. |
[in] | _format | charset of the XML |
[in] | _standalone | this document is standalone |
+
|
+ +static | +
Factory to create XML declaration.
+[in] | _version | Xml version. |
[in] | _format | charset of the XML |
[in] | _standalone | this document is standalone |
This is the complete list of members for exml::internal::Document, including all inherited members.
+#include <Document.hpp>
+Public Member Functions | |
Document () | |
virtual void | setCaseSensitive (bool _val) |
virtual bool | getCaseSensitive () const |
bool | parse (const std::string &_data) |
bool | generate (std::string &_data) |
bool | load (const std::string &_file) |
bool | store (const std::string &_file) |
void | display () |
void | setDisplayError (bool _value) |
bool | getDisplayError () |
void | displayError () |
void | createError (const std::string &_data, int32_t _pos, const exml::FilePos &_filePos, const std::string &_comment) |
enum nodeType | getType () const override |
bool | iGenerate (std::string &_data, int32_t _indent) const override |
ememory::SharedPtr< exml::internal::Document > | toDocument () override |
const ememory::SharedPtr< exml::internal::Document > | toDocument () const override |
![]() | |
size_t | size () const |
void | append (const ememory::SharedPtr< exml::internal::Node > &_node) |
void | remove (const std::string &_nodeName) |
enum nodeType | getType (int32_t _id) const |
ememory::SharedPtr< Node > | getNode (int32_t _id) |
const ememory::SharedPtr< Node > | getNode (int32_t _id) const |
ememory::SharedPtr< Element > | getElement (int32_t _id) |
const ememory::SharedPtr< Element > | getElement (int32_t _id) const |
ememory::SharedPtr< Element > | getNamed (const std::string &_name) |
const ememory::SharedPtr< Element > | getNamed (const std::string &_name) const |
std::string | getText () const |
enum nodeType | getType () const override |
bool | iParse (const std::string &_data, int32_t &_pos, bool _caseSensitive, exml::FilePos &_filePos, exml::internal::Document &_doc) override |
bool | iGenerate (std::string &_data, int32_t _indent) const override |
ememory::SharedPtr< exml::internal::Element > | toElement () override |
const ememory::SharedPtr< exml::internal::Element > | toElement () const override |
void | clear () override |
![]() | |
size_t | sizeAttribute () const |
void | appendAttribute (const ememory::SharedPtr< exml::internal::Attribute > &_attr) |
ememory::SharedPtr< Attribute > | getAttr (int32_t _id) |
ememory::SharedPtr< const Attribute > | getAttr (int32_t _id) const |
std::pair< std::string, std::string > | getAttrPair (int32_t _id) const |
const std::string & | getAttribute (const std::string &_name) const |
bool | existAttribute (const std::string &_name) const |
void | setAttribute (const std::string &_name, const std::string &_value) |
bool | removeAttribute (const std::string &_name) |
![]() | |
virtual | ~Node ()=default |
const exml::FilePos & | getPos () const |
virtual void | setValue (std::string _value) |
virtual const std::string & | getValue () const |
virtual ememory::SharedPtr< exml::internal::Attribute > | toAttribute () |
virtual const ememory::SharedPtr< exml::internal::Attribute > | toAttribute () const |
virtual ememory::SharedPtr< exml::internal::Comment > | toComment () |
virtual const ememory::SharedPtr< exml::internal::Comment > | toComment () const |
virtual ememory::SharedPtr< exml::internal::Declaration > | toDeclaration () |
virtual const ememory::SharedPtr< exml::internal::Declaration > | toDeclaration () const |
virtual ememory::SharedPtr< exml::internal::Text > | toText () |
virtual const ememory::SharedPtr< exml::internal::Text > | toText () const |
bool | isDocument () const |
bool | isAttribute () const |
bool | isComment () const |
bool | isDeclaration () const |
bool | isElement () const |
bool | isText () const |
![]() | |
+ememory::SharedPtr< EMEMORY_TYPE > | sharedFromThis () |
+const ememory::SharedPtr< EMEMORY_TYPE > | sharedFromThis () const |
+ememory::WeakPtr< EMEMORY_TYPE > | weakFromThis () |
+const ememory::WeakPtr< EMEMORY_TYPE > | weakFromThis () const |
+Static Public Member Functions | |
static ememory::SharedPtr< exml::internal::Document > | create () |
![]() | |
static ememory::SharedPtr< Element > | create (const std::string &_value="") |
+Additional Inherited Members | |
![]() | |
Element () | |
Element (const std::string &_value) | |
bool | subParse (const std::string &_data, int32_t &_pos, bool _caseSensitive, exml::FilePos &_filePos, exml::internal::Document &_doc, bool _mainNode=false) |
![]() | |
AttributeList (const std::string &_value="") | |
![]() | |
Node () | |
Node (const std::string &_value) | |
void | addIndent (std::string &_data, int32_t _indent) const |
void | drawElementParsed (char32_t _val, const exml::FilePos &_filePos) const |
bool | checkAvaillable (char32_t _val, bool _firstChar) const |
int32_t | countWhiteChar (const std::string &_data, int32_t _pos, exml::FilePos &_filePos) const |
![]() | |
std::vector< ememory::SharedPtr< exml::internal::Node > > | m_listSub |
![]() | |
std::vector< ememory::SharedPtr< exml::internal::Attribute > > | m_listAttribute |
![]() | |
exml::FilePos | m_pos |
std::string | m_value |
Basic document element of a document.
+exml::internal::Document::Document | +( | +) | ++ |
Constructor.
+ +
+
|
+ +static | +
Factory on a document.
+void exml::internal::Document::createError | +( | +const std::string & | +_data, | +
+ | + | int32_t | +_pos, | +
+ | + | const exml::FilePos & | +_filePos, | +
+ | + | const std::string & | +_comment | +
+ | ) | ++ |
Create an error in the parsing (call by the syetm for error management)
+[in] | _data | string of chat is wrong |
[in] | _pos | Position in the file |
[in] | _filePos | human position of the error |
[in] | _comment | Error string to display |
void exml::internal::Document::display | +( | +) | ++ |
Display the Document on console.
+ +void exml::internal::Document::displayError | +( | +) | ++ |
Request display in log of the error.
+ +bool exml::internal::Document::generate | +( | +std::string & | +_data | ) | ++ |
generate a string that contain the created XML
+[out] | _data | Data where the xml is stored |
+
|
+ +inlinevirtual | +
get the status of case sensitive mode.
+bool exml::internal::Document::getDisplayError | +( | +) | ++ |
Get the display of the error status.
+
+
|
+ +inlineoverridevirtual | +
+
|
+ +overridevirtual | +
generate a string with the tree of the xml
+[in,out] | _data | string where to add the elements |
[in] | _indent | current indentation of the file |
Reimplemented from exml::internal::AttributeList.
+ +bool exml::internal::Document::load | +( | +const std::string & | +_file | ) | ++ |
Load the file that might contain the xml.
+[in] | _file | Filename of the xml (compatible with etk FSNode naming) |
bool exml::internal::Document::parse | +( | +const std::string & | +_data | ) | ++ |
parse a string that contain an XML
+[in] | _data | Data to parse |
+
|
+ +inlinevirtual | +
Enable or diasable the case sensitive (must be done before the call of parsing)
+[in] | _val | true if enable; false else. |
void exml::internal::Document::setDisplayError | +( | +bool | +_value | ) | ++ |
Set the display of the error when detected.
+[in] | _value | true: display error, false not display error (get it at end) |
bool exml::internal::Document::store | +( | +const std::string & | +_file | ) | ++ |
Store the Xml in the file.
+[in] | _file | Filename of the xml (compatible with etk FSNode naming) |
+
|
+ +inlineoverridevirtual | +
Cast the element in a Document if it is possible.
+Reimplemented from exml::internal::Node.
+ +
+
|
+ +inlineoverridevirtual | +
Cast the element in a Document if it is possible.
+Reimplemented from exml::internal::Node.
+ +This is the complete list of members for exml::internal::Element, including all inherited members.
+#include <Element.hpp>
+Public Member Functions | |
size_t | size () const |
void | append (const ememory::SharedPtr< exml::internal::Node > &_node) |
void | remove (const std::string &_nodeName) |
enum nodeType | getType (int32_t _id) const |
ememory::SharedPtr< Node > | getNode (int32_t _id) |
const ememory::SharedPtr< Node > | getNode (int32_t _id) const |
ememory::SharedPtr< Element > | getElement (int32_t _id) |
const ememory::SharedPtr< Element > | getElement (int32_t _id) const |
ememory::SharedPtr< Element > | getNamed (const std::string &_name) |
const ememory::SharedPtr< Element > | getNamed (const std::string &_name) const |
std::string | getText () const |
enum nodeType | getType () const override |
bool | iParse (const std::string &_data, int32_t &_pos, bool _caseSensitive, exml::FilePos &_filePos, exml::internal::Document &_doc) override |
bool | iGenerate (std::string &_data, int32_t _indent) const override |
ememory::SharedPtr< exml::internal::Element > | toElement () override |
const ememory::SharedPtr< exml::internal::Element > | toElement () const override |
void | clear () override |
![]() | |
size_t | sizeAttribute () const |
void | appendAttribute (const ememory::SharedPtr< exml::internal::Attribute > &_attr) |
ememory::SharedPtr< Attribute > | getAttr (int32_t _id) |
ememory::SharedPtr< const Attribute > | getAttr (int32_t _id) const |
std::pair< std::string, std::string > | getAttrPair (int32_t _id) const |
const std::string & | getAttribute (const std::string &_name) const |
bool | existAttribute (const std::string &_name) const |
void | setAttribute (const std::string &_name, const std::string &_value) |
bool | removeAttribute (const std::string &_name) |
![]() | |
virtual | ~Node ()=default |
const exml::FilePos & | getPos () const |
virtual void | setValue (std::string _value) |
virtual const std::string & | getValue () const |
virtual ememory::SharedPtr< exml::internal::Document > | toDocument () |
virtual const ememory::SharedPtr< exml::internal::Document > | toDocument () const |
virtual ememory::SharedPtr< exml::internal::Attribute > | toAttribute () |
virtual const ememory::SharedPtr< exml::internal::Attribute > | toAttribute () const |
virtual ememory::SharedPtr< exml::internal::Comment > | toComment () |
virtual const ememory::SharedPtr< exml::internal::Comment > | toComment () const |
virtual ememory::SharedPtr< exml::internal::Declaration > | toDeclaration () |
virtual const ememory::SharedPtr< exml::internal::Declaration > | toDeclaration () const |
virtual ememory::SharedPtr< exml::internal::Text > | toText () |
virtual const ememory::SharedPtr< exml::internal::Text > | toText () const |
bool | isDocument () const |
bool | isAttribute () const |
bool | isComment () const |
bool | isDeclaration () const |
bool | isElement () const |
bool | isText () const |
![]() | |
+ememory::SharedPtr< EMEMORY_TYPE > | sharedFromThis () |
+const ememory::SharedPtr< EMEMORY_TYPE > | sharedFromThis () const |
+ememory::WeakPtr< EMEMORY_TYPE > | weakFromThis () |
+const ememory::WeakPtr< EMEMORY_TYPE > | weakFromThis () const |
+Static Public Member Functions | |
static ememory::SharedPtr< Element > | create (const std::string &_value="") |
+Protected Member Functions | |
Element () | |
Element (const std::string &_value) | |
bool | subParse (const std::string &_data, int32_t &_pos, bool _caseSensitive, exml::FilePos &_filePos, exml::internal::Document &_doc, bool _mainNode=false) |
![]() | |
AttributeList (const std::string &_value="") | |
![]() | |
Node () | |
Node (const std::string &_value) | |
void | addIndent (std::string &_data, int32_t _indent) const |
void | drawElementParsed (char32_t _val, const exml::FilePos &_filePos) const |
bool | checkAvaillable (char32_t _val, bool _firstChar) const |
int32_t | countWhiteChar (const std::string &_data, int32_t _pos, exml::FilePos &_filePos) const |
+Protected Attributes | |
std::vector< ememory::SharedPtr< exml::internal::Node > > | m_listSub |
![]() | |
std::vector< ememory::SharedPtr< exml::internal::Attribute > > | m_listAttribute |
![]() | |
exml::FilePos | m_pos |
std::string | m_value |
Basic element Node of an XML document <YYYYY>.
+
+
|
+ +inlineprotected | +
Constructor.
+ +
+
|
+ +inlineprotected | +
Constructor.
+[in] | _value | Element name; |
void exml::internal::Element::append | +( | +const ememory::SharedPtr< exml::internal::Node > & | +_node | ) | ++ |
add a node at the element (not exml::internal::Attribute (move in the attribute automaticly).
+[in] | _node | Pointer of the node to add. |
+
|
+ +overridevirtual | +
clear the Node
+ +Reimplemented from exml::internal::AttributeList.
+ +
+
|
+ +static | +
factory of an exml::internal::Element
+[in] | _value | Name of the node. |
ememory::SharedPtr<Element> exml::internal::Element::getElement | +( | +int32_t | +_id | ) | ++ |
get the element casted in Element (if the node is not an element return NULL).
+[in] | _id | Id of the element. |
const ememory::SharedPtr<Element> exml::internal::Element::getElement | +( | +int32_t | +_id | ) | +const | +
get the element casted in Element (if the node is not an element return NULL).
+[in] | _id | Id of the element. |
ememory::SharedPtr<Element> exml::internal::Element::getNamed | +( | +const std::string & | +_name | ) | ++ |
get an element with his name (work only with exml::internal::Element)
+[in] | _name | Name of the element that is requested |
const ememory::SharedPtr<Element> exml::internal::Element::getNamed | +( | +const std::string & | +_name | ) | +const | +
get an element with his name (work only with exml::internal::Element)
+[in] | _name | Name of the element that is requested |
ememory::SharedPtr<Node> exml::internal::Element::getNode | +( | +int32_t | +_id | ) | ++ |
get the Node pointer of the element id.
+[in] | _id | Id of the element. |
const ememory::SharedPtr<Node> exml::internal::Element::getNode | +( | +int32_t | +_id | ) | +const | +
get the Node pointer of the element id.
+[in] | _id | Id of the element. |
std::string exml::internal::Element::getText | +( | +) | +const | +
get the internal data of the element (if the element has some sub node thay are converted in xml string == > like this it is not needed to use <![CDATA[...]]>
+enum nodeType exml::internal::Element::getType | +( | +int32_t | +_id | ) | +const | +
get the type of the element id.
+[in] | _id | Id of the element. |
+
|
+ +inlineoverridevirtual | +
+
|
+ +overridevirtual | +
generate a string with the tree of the xml
+[in,out] | _data | string where to add the elements |
[in] | _indent | current indentation of the file |
Reimplemented from exml::internal::AttributeList.
+ +
+
|
+ +overridevirtual | +
parse the Current node [pure VIRUAL]
+[in] | _data | data string to parse. |
[in,out] | _pos | position in the string to start parse, return the position end of parsing. |
[in] | _caseSensitive | Request a parsion of element that is not case sensitive (all element is in low case) |
[in,out] | _filePos | file parsing position (line x col x) |
[in,out] | _doc | Base document reference |
Implements exml::internal::Node.
+ +void exml::internal::Element::remove | +( | +const std::string & | +_nodeName | ) | ++ |
Remove all element with this name.
+[in] | _nodeName | Name of nodes to remove. |
+
|
+ +inline | +
get the number of sub element in the node (can be exml::internal::Comment ; exml::internal::Element ; exml::internal::Text :exml::internal::Declaration).
+
+
|
+ +protected | +
Parse sub node string.
+[in] | _data | all file string data |
[in,out] | _pos | Position to start parsing in the file and return the end of parsing |
[in] | _caseSensitive | Case sensitive parsing (usefull for html) |
[in] | _filePos | Current File position of the parsing |
[in] | _doc | Document base reference |
[in] | _mainNode | if true, this is the first root node |
+
|
+ +overridevirtual | +
Cast the element in a Element if it is possible.
+Reimplemented from exml::internal::Node.
+ +
+
|
+ +overridevirtual | +
Cast the element in a Element if it is possible.
+Reimplemented from exml::internal::Node.
+ +
+
|
+ +protected | +
List of subNodes.
+ +This is the complete list of members for exml::internal::Node, including all inherited members.
+#include <Node.hpp>
+Public Member Functions | |
virtual | ~Node ()=default |
virtual bool | iParse (const std::string &_data, int32_t &_pos, bool _caseSensitive, exml::FilePos &_filePos, exml::internal::Document &_doc)=0 |
virtual bool | iGenerate (std::string &_data, int32_t _indent) const |
const exml::FilePos & | getPos () const |
virtual void | setValue (std::string _value) |
virtual const std::string & | getValue () const |
virtual enum nodeType | getType () const |
virtual ememory::SharedPtr< exml::internal::Document > | toDocument () |
virtual const ememory::SharedPtr< exml::internal::Document > | toDocument () const |
virtual ememory::SharedPtr< exml::internal::Attribute > | toAttribute () |
virtual const ememory::SharedPtr< exml::internal::Attribute > | toAttribute () const |
virtual ememory::SharedPtr< exml::internal::Comment > | toComment () |
virtual const ememory::SharedPtr< exml::internal::Comment > | toComment () const |
virtual ememory::SharedPtr< exml::internal::Declaration > | toDeclaration () |
virtual const ememory::SharedPtr< exml::internal::Declaration > | toDeclaration () const |
virtual ememory::SharedPtr< exml::internal::Element > | toElement () |
virtual const ememory::SharedPtr< exml::internal::Element > | toElement () const |
virtual ememory::SharedPtr< exml::internal::Text > | toText () |
virtual const ememory::SharedPtr< exml::internal::Text > | toText () const |
bool | isDocument () const |
bool | isAttribute () const |
bool | isComment () const |
bool | isDeclaration () const |
bool | isElement () const |
bool | isText () const |
virtual void | clear () |
![]() | |
+ememory::SharedPtr< EMEMORY_TYPE > | sharedFromThis () |
+const ememory::SharedPtr< EMEMORY_TYPE > | sharedFromThis () const |
+ememory::WeakPtr< EMEMORY_TYPE > | weakFromThis () |
+const ememory::WeakPtr< EMEMORY_TYPE > | weakFromThis () const |
+Protected Member Functions | |
Node () | |
Node (const std::string &_value) | |
void | addIndent (std::string &_data, int32_t _indent) const |
void | drawElementParsed (char32_t _val, const exml::FilePos &_filePos) const |
bool | checkAvaillable (char32_t _val, bool _firstChar) const |
int32_t | countWhiteChar (const std::string &_data, int32_t _pos, exml::FilePos &_filePos) const |
+Protected Attributes | |
exml::FilePos | m_pos |
std::string | m_value |
Basic main object of all xml elements.
+
+
|
+ +inlineprotected | +
basic element of a xml structure
+ +
+
|
+ +protected | +
basic element of a xml structure
+[in] | _value | value of the node |
+
|
+ +virtualdefault | +
Virtualize destructor.
+ +
+
|
+ +protected | +
add indentation of the string input.
+[in,out] | _data | String where the indentation is done. |
[in] | _indent | Number of tab to add at the string. |
+
|
+ +protected | +
check if an element or attribute is availlable (not : !"#$%&'()*+,/;<=>?@[]^`{|}~ \n\t\r and for first char : not -.0123456789).
+[in] | _val | Value to check the conformity. |
[in] | _firstChar | True if the element check is the first char. |
+
|
+ +virtual | +
clear the Node
+ +Reimplemented in exml::internal::Element, exml::internal::AttributeList, and exml::internal::Attribute.
+ +
+
|
+ +protected | +
count the number of white char in the string from the specify position (stop at the first element that is not a white char)
+[in] | _data | Data to parse. |
[in] | _pos | Start position in the string. |
[out] | _filePos | new poistion of te file to add. |
+
|
+ +protected | +
Display the cuurent element that is curently parse.
+[in] | _val | Char that is parsed. |
[in] | _filePos | Position of the char in the file. |
const exml::FilePos& exml::internal::Node::getPos | +( | +) | +const | +
get the current position where the element is in the file
+
+
|
+ +virtual | +
get the node type.
+Reimplemented in exml::internal::Element, exml::internal::Document, exml::internal::Attribute, exml::internal::Text, exml::internal::Declaration, and exml::internal::Comment.
+ +
+
|
+ +virtual | +
get the current element Value.
+
+
|
+ +virtual | +
generate a string with the tree of the xml
+[in,out] | _data | string where to add the elements |
[in] | _indent | current indentation of the file |
Reimplemented in exml::internal::Element, exml::internal::Document, exml::internal::AttributeList, exml::internal::TextCDATA, exml::internal::Attribute, exml::internal::Text, exml::internal::Comment, and exml::internal::Declaration.
+ +
+
|
+ +pure virtual | +
parse the Current node [pure VIRUAL]
+[in] | _data | data string to parse. |
[in,out] | _pos | position in the string to start parse, return the position end of parsing. |
[in] | _caseSensitive | Request a parsion of element that is not case sensitive (all element is in low case) |
[in,out] | _filePos | file parsing position (line x col x) |
[in,out] | _doc | Base document reference |
Implemented in exml::internal::Element, exml::internal::TextCDATA, exml::internal::Attribute, exml::internal::Text, exml::internal::Declaration, and exml::internal::Comment.
+ +bool exml::internal::Node::isAttribute | +( | +) | +const | +
check if the node is a exml::internal::Attribute
+bool exml::internal::Node::isComment | +( | +) | +const | +
check if the node is a exml::internal::Comment
+bool exml::internal::Node::isDeclaration | +( | +) | +const | +
check if the node is a exml::internal::Declaration
+bool exml::internal::Node::isDocument | +( | +) | +const | +
check if the node is a exml::internal::Document
+bool exml::internal::Node::isElement | +( | +) | +const | +
check if the node is a exml::internal::Element
+bool exml::internal::Node::isText | +( | +) | +const | +
check if the node is a exml::internal::Text
+
+
|
+ +virtual | +
set the value of the node.
+[in] | _value | New value of the node. |
+
|
+ +virtual | +
Cast the element in a Attribute if it is possible.
+Reimplemented in exml::internal::Attribute.
+ +
+
|
+ +virtual | +
Cast the element in a Attribute if it is possible.
+Reimplemented in exml::internal::Attribute.
+ +
+
|
+ +virtual | +
Cast the element in a Comment if it is possible.
+Reimplemented in exml::internal::Comment.
+ +
+
|
+ +virtual | +
Cast the element in a Comment if it is possible.
+Reimplemented in exml::internal::Comment.
+ +
+
|
+ +virtual | +
Cast the element in a Declaration if it is possible.
+Reimplemented in exml::internal::Declaration.
+ +
+
|
+ +virtual | +
Cast the element in a Declaration if it is possible.
+Reimplemented in exml::internal::Declaration.
+ +
+
|
+ +virtual | +
Cast the element in a Document if it is possible.
+Reimplemented in exml::internal::Document.
+ +
+
|
+ +virtual | +
Cast the element in a Document if it is possible.
+Reimplemented in exml::internal::Document.
+ +
+
|
+ +virtual | +
Cast the element in a Element if it is possible.
+Reimplemented in exml::internal::Element.
+ +
+
|
+ +virtual | +
Cast the element in a Element if it is possible.
+Reimplemented in exml::internal::Element.
+ +
+
|
+ +virtual | +
Cast the element in a Text if it is possible.
+Reimplemented in exml::internal::Text.
+ +
+
|
+ +virtual | +
Cast the element in a Text if it is possible.
+Reimplemented in exml::internal::Text.
+ +
+
|
+ +protected | +
position in the readed file == > not correct when the file is generated
+ +
+
|
+ +protected | +
value of the node (for element this is the name, for text it is the inside text ...)
+ +This is the complete list of members for exml::internal::Text, including all inherited members.
+#include <Text.hpp>
+Public Member Functions | |
int32_t | countLines () const |
enum nodeType | getType () const override |
bool | iParse (const std::string &_data, int32_t &_pos, bool _caseSensitive, exml::FilePos &_filePos, exml::internal::Document &_doc) override |
bool | iGenerate (std::string &_data, int32_t _indent) const override |
ememory::SharedPtr< exml::internal::Text > | toText () override |
const ememory::SharedPtr< exml::internal::Text > | toText () const override |
![]() | |
virtual | ~Node ()=default |
const exml::FilePos & | getPos () const |
virtual void | setValue (std::string _value) |
virtual const std::string & | getValue () const |
virtual ememory::SharedPtr< exml::internal::Document > | toDocument () |
virtual const ememory::SharedPtr< exml::internal::Document > | toDocument () const |
virtual ememory::SharedPtr< exml::internal::Attribute > | toAttribute () |
virtual const ememory::SharedPtr< exml::internal::Attribute > | toAttribute () const |
virtual ememory::SharedPtr< exml::internal::Comment > | toComment () |
virtual const ememory::SharedPtr< exml::internal::Comment > | toComment () const |
virtual ememory::SharedPtr< exml::internal::Declaration > | toDeclaration () |
virtual const ememory::SharedPtr< exml::internal::Declaration > | toDeclaration () const |
virtual ememory::SharedPtr< exml::internal::Element > | toElement () |
virtual const ememory::SharedPtr< exml::internal::Element > | toElement () const |
bool | isDocument () const |
bool | isAttribute () const |
bool | isComment () const |
bool | isDeclaration () const |
bool | isElement () const |
bool | isText () const |
virtual void | clear () |
![]() | |
+ememory::SharedPtr< EMEMORY_TYPE > | sharedFromThis () |
+const ememory::SharedPtr< EMEMORY_TYPE > | sharedFromThis () const |
+ememory::WeakPtr< EMEMORY_TYPE > | weakFromThis () |
+const ememory::WeakPtr< EMEMORY_TYPE > | weakFromThis () const |
+Static Public Member Functions | |
static ememory::SharedPtr< exml::internal::Text > | create (const std::string &_data="") |
+Protected Member Functions | |
Text () | |
Text (const std::string &_data) | |
![]() | |
Node () | |
Node (const std::string &_value) | |
void | addIndent (std::string &_data, int32_t _indent) const |
void | drawElementParsed (char32_t _val, const exml::FilePos &_filePos) const |
bool | checkAvaillable (char32_t _val, bool _firstChar) const |
int32_t | countWhiteChar (const std::string &_data, int32_t _pos, exml::FilePos &_filePos) const |
+Additional Inherited Members | |
![]() | |
exml::FilePos | m_pos |
std::string | m_value |
Text node interface (internal data between two balise : <XXX> ALL here </XXX>.
+
+
|
+ +inlineprotected | +
Constructor.
+ +
+
|
+ +inlineprotected | +
Constructor.
+[in] | _data | String data of the current Text |
int32_t exml::internal::Text::countLines | +( | +) | +const | +
count the number of line in the current text
+
+
|
+ +static | +
+
|
+ +inlineoverridevirtual | +
+
|
+ +overridevirtual | +
generate a string with the tree of the xml
+[in,out] | _data | string where to add the elements |
[in] | _indent | current indentation of the file |
Reimplemented from exml::internal::Node.
+ +Reimplemented in exml::internal::TextCDATA.
+ +
+
|
+ +overridevirtual | +
parse the Current node [pure VIRUAL]
+[in] | _data | data string to parse. |
[in,out] | _pos | position in the string to start parse, return the position end of parsing. |
[in] | _caseSensitive | Request a parsion of element that is not case sensitive (all element is in low case) |
[in,out] | _filePos | file parsing position (line x col x) |
[in,out] | _doc | Base document reference |
Implements exml::internal::Node.
+ +Reimplemented in exml::internal::TextCDATA.
+ +
+
|
+ +inlineoverridevirtual | +
Cast the element in a Text if it is possible.
+Reimplemented from exml::internal::Node.
+ +
+
|
+ +inlineoverridevirtual | +
Cast the element in a Text if it is possible.
+Reimplemented from exml::internal::Node.
+ +This is the complete list of members for exml::internal::TextCDATA, including all inherited members.
+#include <Text.hpp>
+Public Member Functions | |
bool | iParse (const std::string &_data, int32_t &_pos, bool _caseSensitive, exml::FilePos &_filePos, exml::internal::Document &_doc) override |
bool | iGenerate (std::string &_data, int32_t _indent) const override |
![]() | |
int32_t | countLines () const |
enum nodeType | getType () const override |
ememory::SharedPtr< exml::internal::Text > | toText () override |
const ememory::SharedPtr< exml::internal::Text > | toText () const override |
![]() | |
virtual | ~Node ()=default |
const exml::FilePos & | getPos () const |
virtual void | setValue (std::string _value) |
virtual const std::string & | getValue () const |
virtual ememory::SharedPtr< exml::internal::Document > | toDocument () |
virtual const ememory::SharedPtr< exml::internal::Document > | toDocument () const |
virtual ememory::SharedPtr< exml::internal::Attribute > | toAttribute () |
virtual const ememory::SharedPtr< exml::internal::Attribute > | toAttribute () const |
virtual ememory::SharedPtr< exml::internal::Comment > | toComment () |
virtual const ememory::SharedPtr< exml::internal::Comment > | toComment () const |
virtual ememory::SharedPtr< exml::internal::Declaration > | toDeclaration () |
virtual const ememory::SharedPtr< exml::internal::Declaration > | toDeclaration () const |
virtual ememory::SharedPtr< exml::internal::Element > | toElement () |
virtual const ememory::SharedPtr< exml::internal::Element > | toElement () const |
bool | isDocument () const |
bool | isAttribute () const |
bool | isComment () const |
bool | isDeclaration () const |
bool | isElement () const |
bool | isText () const |
virtual void | clear () |
![]() | |
+ememory::SharedPtr< EMEMORY_TYPE > | sharedFromThis () |
+const ememory::SharedPtr< EMEMORY_TYPE > | sharedFromThis () const |
+ememory::WeakPtr< EMEMORY_TYPE > | weakFromThis () |
+const ememory::WeakPtr< EMEMORY_TYPE > | weakFromThis () const |
+Static Public Member Functions | |
static ememory::SharedPtr< TextCDATA > | create () |
![]() | |
static ememory::SharedPtr< exml::internal::Text > | create (const std::string &_data="") |
+Protected Member Functions | |
TextCDATA () | |
![]() | |
Text () | |
Text (const std::string &_data) | |
![]() | |
Node () | |
Node (const std::string &_value) | |
void | addIndent (std::string &_data, int32_t _indent) const |
void | drawElementParsed (char32_t _val, const exml::FilePos &_filePos) const |
bool | checkAvaillable (char32_t _val, bool _firstChar) const |
int32_t | countWhiteChar (const std::string &_data, int32_t _pos, exml::FilePos &_filePos) const |
+Additional Inherited Members | |
![]() | |
exml::FilePos | m_pos |
std::string | m_value |
Text node interface for balise CDATA <![CDATA[*******]]>.
+
+
|
+ +inlineprotected | +
Constructor.
+ +
+
|
+ +static | +
defined factory
+
+
|
+ +overridevirtual | +
generate a string with the tree of the xml
+[in,out] | _data | string where to add the elements |
[in] | _indent | current indentation of the file |
Reimplemented from exml::internal::Text.
+ +
+
|
+ +overridevirtual | +
parse the Current node [pure VIRUAL]
+[in] | _data | data string to parse. |
[in,out] | _pos | position in the string to start parse, return the position end of parsing. |
[in] | _caseSensitive | Request a parsion of element that is not case sensitive (all element is in low case) |
[in,out] | _filePos | file parsing position (line x col x) |
[in,out] | _doc | Base document reference |
Reimplemented from exml::internal::Text.
+ +This is the complete list of members for exml::iterator< EXML_BASE_T, EXML_RETURN_T >, including all inherited members.
+#include <iterator.hpp>
+Public Member Functions | |
iterator (EXML_BASE_T &_obj, size_t _pos) | |
iterator (const EXML_BASE_T &_obj, size_t _pos) | |
iterator (const iterator &_obj) | |
iterator & | operator= (const iterator &_obj) |
iterator & | operator+= (int32_t _val) |
iterator | operator+ (int32_t _val) const |
iterator & | operator-= (int32_t _val) |
iterator | operator- (int32_t _val) const |
iterator & | operator++ () |
iterator | operator++ (int) |
iterator & | operator-- () |
iterator | operator-- (int) |
bool | operator== (const iterator &_obj) const |
bool | operator!= (const iterator &_obj) const |
const EXML_RETURN_T | operator* () const noexcept |
EXML_RETURN_T | operator* () noexcept |
iterator on elements.
+exml::iterator< EXML_BASE_T, EXML_RETURN_T >::iterator | +( | +EXML_BASE_T & | +_obj, | +
+ | + | size_t | +_pos | +
+ | ) | ++ |
Constructor of the generic object class.
+[in] | _obj | Reference on the object to go threw |
[in] | _pos | Position in the object |
exml::iterator< EXML_BASE_T, EXML_RETURN_T >::iterator | +( | +const EXML_BASE_T & | +_obj, | +
+ | + | size_t | +_pos | +
+ | ) | ++ |
Const constructor of the generic const object class.
+[in] | _obj | Reference on the object to go threw |
[in] | _pos | Position in the object |
exml::iterator< EXML_BASE_T, EXML_RETURN_T >::iterator | +( | +const iterator< EXML_BASE_T, EXML_RETURN_T > & | +_obj | ) | ++ |
Copy iterator.
+[in] | _obj | Iterator to copy |
bool exml::iterator< EXML_BASE_T, EXML_RETURN_T >::operator!= | +( | +const iterator< EXML_BASE_T, EXML_RETURN_T > & | +_obj | ) | +const | +
In-Equality compare operator with an other iterator.
+[in] | _obj | Reference on the comparing iterator |
+
|
+ +noexcept | +
Get the property Value.
+
+
|
+ +noexcept | +
Get the property Value.
+iterator exml::iterator< EXML_BASE_T, EXML_RETURN_T >::operator+ | +( | +int32_t | +_val | ) | +const | +
Operator+ Addition a value.
+[in] | _val | Value to addition |
iterator& exml::iterator< EXML_BASE_T, EXML_RETURN_T >::operator++ | +( | +) | ++ |
Operator++ Pre-incrementation of this iterator.
+iterator exml::iterator< EXML_BASE_T, EXML_RETURN_T >::operator++ | +( | +int | +) | ++ |
Operator++ Post-incrementation of this iterator.
+iterator& exml::iterator< EXML_BASE_T, EXML_RETURN_T >::operator+= | +( | +int32_t | +_val | ) | ++ |
Operator+= Addition value.
+[in] | _val | Value to addition |
iterator exml::iterator< EXML_BASE_T, EXML_RETURN_T >::operator- | +( | +int32_t | +_val | ) | +const | +
Operator- Decrement a value.
+[in] | _val | Value to addition |
iterator& exml::iterator< EXML_BASE_T, EXML_RETURN_T >::operator-- | +( | +) | ++ |
Operator++ Pre-decrementation of this iterator.
+iterator exml::iterator< EXML_BASE_T, EXML_RETURN_T >::operator-- | +( | +int | +) | ++ |
Operator++ Post-decrementation of this iterator.
+iterator& exml::iterator< EXML_BASE_T, EXML_RETURN_T >::operator-= | +( | +int32_t | +_val | ) | ++ |
Operator-= Decrement a value.
+[in] | _val | Value to addition |
iterator& exml::iterator< EXML_BASE_T, EXML_RETURN_T >::operator= | +( | +const iterator< EXML_BASE_T, EXML_RETURN_T > & | +_obj | ) | ++ |
Operator= Asignement iterator.
+[in] | _obj | Iterator to copy |
bool exml::iterator< EXML_BASE_T, EXML_RETURN_T >::operator== | +( | +const iterator< EXML_BASE_T, EXML_RETURN_T > & | +_obj | ) | +const | +
Equality compare operator with an other iterator.
+[in] | _obj | Reference on the comparing iterator |
+Files | |
file | Attribute.hpp [code] |
file | AttributeList.hpp [code] |
file | Comment.hpp [code] |
file | Declaration.hpp [code] |
file | Document.hpp [code] |
file | Element.hpp [code] |
file | Node.hpp [code] |
file | Text.hpp [code] |
+Directories |
+Files | |
file | Attribute.hpp [code] |
file | AttributeList.hpp [code] |
file | Comment.hpp [code] |
file | Declaration.hpp [code] |
file | Document.hpp [code] |
file | Element.hpp [code] |
file | exml.hpp [code] |
file | FilePos.hpp [code] |
file | iterator.hpp [code] |
file | Node.hpp [code] |
file | nodeType.hpp [code] |
file | Text.hpp [code] |
typeUnknow |
typeNode |
typeDocument |
typeDeclaration |
typeAttribute |
typeElement |
typeComment |
typeText |
-typeUnknow = 0
-
-might be an error ...
-typeNode = 1
-
-might be an error ...
-typeDocument = 2
-
-all the file main access
-typeDeclaration = 3
-
-<?xml ... ?>
-typeAttribute = 4
-
-the <Element ATTRIBUTE="ATTRIBUTE_VALUE" />
-typeElement = 5
-
-the <XXX> ... </XXX>
-typeComment = 6
-
-comment node : <!-- -->
-typeText = 7
-
-<XXX> InsideText </XXX>#include <exml/Document.hpp>
#include <exml/Node.hpp>
#include <exml/Element.hpp>
#include <exml/Attribute.hpp>
#include <exml/Declaration.hpp>
#include <exml/Comment.hpp>
#include <exml/Text.hpp>
Go to the source code of this file.
+exml use some tools to manage source and build it:
+The first thing to do when reading or writing a XML file/stream, is to declare the Document interface
+Include exml
Declare document interface
File to read: "read.xml"
Reading a file is done like this:
The file naming is manage by etk::FSNode that provide "DATA:" start string for internal application asset. You can use external path like "./plop/file.xml" too.
+Reading a stream is done like this:
In C and C++ it is very hard to read string with the \" then to simplify parsing of xml the parser engine support the use of simple ' interface:
In an exml::Element (or exml::Document) the sub-nodes are accessible threw an abstraction class stores in an element name nodes
+Get a node with its name:
Reading all file nodes:
note: the itElem is a simple exml::Node that can be all the xml type. you can change the type by calling: toDocument(), toElement(), toString() ...
+In a C style mode:
In an exml::Element (or exml::Document or exml::Declaration) the sub-nodes are accessible threw an abstraction class stores in an element name attributes
+Reading all Attributes of one node:
In a C style mode:
Get an attribute data:
In an exml::Element (or exml::Document) the internal data text can be accessible threw the interface:
+Get all the data in an element in text mode:
The first thing to do when reading or writing a XML file/stream, is to declare the Document interface
+Include exml
Declare document interface
Write an xml tree is done like:
Writing a stream is done like this:
Add Node/Declaration:
Add an Node/Element:
Remove a Node/Element:
Add an attribute (simple version):
Add an attribute (complex version):
Remove an attribute:
the exml concept is to abstract the implementation of the internal system. All the element are maped on shared memory. Then if you asign an element to an other, it is the same. You need to clone it if you want to have new standalone element.
+▼ framework | |
▼ atria-soft | |
▼ exml | |
▼ exml | |
▼ internal | |
Attribute.hpp | |
AttributeList.hpp | |
Comment.hpp | |
Declaration.hpp | |
Document.hpp | |
Element.hpp | |
Node.hpp | |
Text.hpp | |
Attribute.hpp | |
AttributeList.hpp | |
Comment.hpp | |
Declaration.hpp | |
Document.hpp | |
Element.hpp | |
exml.hpp | |
FilePos.hpp | |
iterator.hpp | |
Node.hpp | |
nodeType.hpp | |
Text.hpp |
Cexml::AttributeListData | Abstract interface on all attributes elements |
Cexml::ElementData | Basic element Node of an XML document <YYYYY> |
▼Cememory::EnableSharedFromThisBase [external] | |
▼Cememory::EnableSharedFromThis< Node > [external] | |
▼Cexml::internal::Node | Basic main object of all xml elements |
Cexml::internal::Attribute | Single attribute element |
▼Cexml::internal::AttributeList | List of all attribute element in a node |
▼Cexml::internal::Declaration | Declaration node: <?XXXXXX ... > |
Cexml::internal::DeclarationXML | Declaration node: <?XML ... > |
▼Cexml::internal::Element | Basic element Node of an XML document <YYYYY> |
Cexml::internal::Document | Basic document element of a document |
Cexml::internal::Comment | Comment node: <!– ... –> |
▼Cexml::internal::Text | Text node interface (internal data between two balise : <XXX> ALL here </XXX> |
Cexml::internal::TextCDATA | Text node interface for balise CDATA <![CDATA[*******]]> |
Cexml::FilePos | Position in the file of the original data |
Cexml::iterator< EXML_BASE_T, EXML_RETURN_T > | |
▼Cexml::Node | Basic main object of all xml elements |
Cexml::Attribute | Single attribute element |
▼Cexml::AttributeList | List of all attribute element in a node |
▼Cexml::Declaration | Declaration node: <?XXXXXX ... > |
Cexml::DeclarationXML | Declaration node: <?XML ... > |
▼Cexml::Element | Basic element Node of an XML document <YYYYY> |
Cexml::Document | Basic document element of a document |
Cexml::Comment | Comment node: <!– ... –> |
Cexml::Text | Text node interface (internal data between two balise : <XXX> ALL here </XXX> |
EXML, or Ewol XML interface is a simple, small, efficient, C++ XML parser/generator that can be easily integrating into other programs.
+EXML parses an XML document, and builds from that a Document Object Model (DOM) that can be read, modified, and saved.
+XML stands for "eXtensible Markup Language." It is a general purpose human and machine readable markup language to describe arbitrary data. All those random file formats created to store application data can all be replaced with XML. One parser for everything.
+ +There are different ways to access and interact with XML data. EXML uses a Document Object Model (DOM), meaning the XML data is parsed into a C++ objects that can be browsed and manipulated, and then written to disk. You can also construct an XML document from scratch with C++ objects and write this to disk.
+EXML is designed to be easy and fast to learn.
+EXML is dependent of the STL (compatible with MacOs stl (CXX))
+EXML doesn't parse or use DTDs (Document Type Definitions) or XSLs (eXtensible Stylesheet Language).
+EXML is written in C++.
+EXML is FREE software and all sub-library are FREE and staticly linkable !!!
+Copyright EXML Edouard DUPIN
+Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
+http://www.apache.org/licenses/LICENSE-2.0
+Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
+Go to the source code of this file.
++Classes | |
class | exml::internal::Attribute |
+Namespaces | |
exml | |
#include <exml/internal/Node.hpp>
#include <vector>
#include <exml/internal/Attribute.hpp>
#include <utility>
Go to the source code of this file.
++Classes | |
class | exml::internal::AttributeList |
+Namespaces | |
exml | |
Go to the source code of this file.
++Classes | |
class | exml::internal::Comment |
+Namespaces | |
exml | |
#include <exml/internal/AttributeList.hpp>
Go to the source code of this file.
++Classes | |
class | exml::internal::Declaration |
class | exml::internal::DeclarationXML |
+Namespaces | |
exml | |
Go to the source code of this file.
++Classes | |
class | exml::internal::Document |
+Namespaces | |
exml | |
+Macros | |
#define | CREATE_ERROR(doc, data, pos, filePos, comment) |
#define CREATE_ERROR | +( | ++ | doc, | +
+ | + | + | data, | +
+ | + | + | pos, | +
+ | + | + | filePos, | +
+ | + | + | comment | +
+ | ) | ++ |
Automatic create error on the basic Document object.
+[in] | doc | Document reference |
[in] | data | main string parsed |
[in] | pos | Position in the file |
[in] | filePos | position in linre row in the file |
[in] | comment | Comment of the error find |
Go to the source code of this file.
++Classes | |
class | exml::internal::Element |
+Namespaces | |
exml | |
#include <ememory/memory.hpp>
#include <etk/types.hpp>
#include <etk/math/Vector2D.hpp>
#include <exml/FilePos.hpp>
#include <exml/nodeType.hpp>
Go to the source code of this file.
++Classes | |
class | exml::internal::Node |
+Namespaces | |
exml | |
+Macros | |
#define | EXML_PARSE_ELEMENT EXML_VERBOSE |
#define | EXML_PARSE_ATTRIBUTE EXML_VERBOSE |
#define EXML_PARSE_ATTRIBUTE EXML_VERBOSE | +
manual debug element (when developpe exml)
+ +#define EXML_PARSE_ELEMENT EXML_VERBOSE | +
manual debug element (when developpe exml)
+ +Go to the source code of this file.
++Classes | |
class | exml::internal::Text |
class | exml::internal::TextCDATA |
+Namespaces | |
exml | |
Go to the source code of this file.
++Classes | |
class | exml::iterator< EXML_BASE_T, EXML_RETURN_T > |
+Namespaces | |
exml | |
t |