Quick links: Tutorial - Examples - Files - Symbols.
Classes: Hierarchy - Index - List - Members.
Namespaces: Index - base - cs - display.

Classes | Public Member Functions | List of all members
cogitant::XmlDocument::Element Class Reference

Noeud de type Element. More...

#include "xmldocument.h"

Inheritance diagram for cogitant::XmlDocument::Element:
cogitant::XmlDocument::Node

Classes

class  Attribute
 Un attribut d'un élément. More...
 

Public Member Functions

 Element (Element *parent, std::string const &name)
 Constructeur. More...
 
 ~Element ()
 Destructeur. More...
 
Type type () const
 Accès au type du noeud. More...
 
Node * deepCopy (Element *newparent) const
 Crée une copie (profonde) du noeud courant, et le rattache au parent passé en paramètre. More...
 
void addChild (Node *n)
 Ajout d'un noeud fils (en fin). More...
 
void detachChild (Node *n)
 Détacher le noeud fils. More...
 
void deleteChild (Node *n)
 Détache et supprime le noeud fils. More...
 
std::list< Node * > const & children () const
 Accès à la liste des fils. More...
 
bool childrenNoElement () const
 Est-ce que l'élément ne contient aucun sous-élément (mais uniquement du texte ou des commentaires. More...
 
Element * searchChild (std::string const &name, bool recurs=false) const
 Recherche du premier fils ayant comme nom la chaîne passée. More...
 
Element * searchChild (std::string const &name, std::string const &attrname, std::string const &attrvalue, bool recurs=false) const
 Recherche du premier fils ayant comme nom la chaîne passée et comme attribut les valeurs passées. More...
 
Element * searchChild (std::string const &name, std::string const &attrname1, std::string const &attrvalue1, std::string const &attrname2, std::string const &attrvalue2, bool recurs=false) const
 Recherche du premier fils ayant comme nom la chaîne passée et comme attributs les valeurs passées. More...
 
Element * searchCreateChild (std::string const &name)
 Recherche du premier fils ayant comme nom la chaîne passée avec création si ce fils n'existe pas. More...
 
Element & addAttribute (std::string const &name, std::string const &value)
 Ajoute un attribut. More...
 
void deleteAttribute (std::string const &name)
 Supprime un attribut. More...
 
std::string const & findAttribute (std::string const &name) const
 Recherche d'un attribut. More...
 
bool hasAttribute (std::string const &name) const
 Est-ce que l'élément possède l'attribut. More...
 
bool hasAttribute (std::string const &name, std::string &result) const
 Est-ce que l'élément possède l'attribut, et quelle est la valeur de cet attribut. More...
 
std::list< Attribute > const & attributes () const
 Accès à la liste des attributs. More...
 
std::list< Attribute > & attributes ()
 Accès à la liste des attributs. More...
 
- Public Member Functions inherited from cogitant::XmlDocument::Node
 Node (Element *parent, std::string const &name)
 Constructeur. More...
 
virtual ~Node ()
 Destructeur. More...
 
Element * parent () const
 Accès au parent. More...
 
std::string const & name () const
 Accès à l'intitulé. More...
 
std::string & name ()
 Accès à l'intitulé. More...
 
void setName (std::string const &name)
 Modification de l'intitulé. More...
 
XmlDeclaration & asXmlDeclaration ()
 Conversion en noeud de type XMLDECLARATION. More...
 
DoctypeDeclaration & asDoctypeDeclaration ()
 Conversion en noeud de type DOCTYPEDECLARATION. More...
 
Element & asElement ()
 Conversion en noeud de type ELEMENT. More...
 
Text & asText ()
 Conversion en noeud de type TEXT. More...
 
Comment & asComment ()
 Conversion en noeud de type COMMENT. More...
 
XmlDeclaration const & asXmlDeclaration () const
 Conversion en noeud de type XMLDECLARATION. More...
 
DoctypeDeclaration const & asDoctypeDeclaration () const
 Conversion en noeud de type DOCTYPEDECLARATION. More...
 
Element const & asElement () const
 Conversion en noeud de type ELEMENT. More...
 
Text const & asText () const
 Conversion en noeud de type TEXT. More...
 
Comment const & asComment () const
 Conversion en noeud de type COMMENT. More...
 

Additional Inherited Members

- Public Types inherited from cogitant::XmlDocument::Node
enum  Type {
  XMLDECLARATION, DOCTYPEDECLARATION, ELEMENT, TEXT,
  COMMENT
}
 Les types de noeuds qui composent un document. More...
 
- Protected Attributes inherited from cogitant::XmlDocument::Node
Element * m_parent
 Noeud parent (ou NULL si aucun).
 
std::string m_name
 Intitulé du noeud.
 

Detailed Description

Noeud de type Element.

Constructor & Destructor Documentation

◆ Element()

cogitant::XmlDocument::Element::Element ( Element *  parent,
std::string const &  name 
)

Constructeur.

◆ ~Element()

cogitant::XmlDocument::Element::~Element ( )

Destructeur.

Member Function Documentation

◆ addAttribute()

Element& cogitant::XmlDocument::Element::addAttribute ( std::string const &  name,
std::string const &  value 
)

Ajoute un attribut.

Si un attribut de ce nom existe déjà, il est mis à jour par la nouvelle valeur.

◆ addChild()

void cogitant::XmlDocument::Element::addChild ( Node *  n)

Ajout d'un noeud fils (en fin).

◆ attributes() [1/2]

std::list<Attribute> const& cogitant::XmlDocument::Element::attributes ( ) const
inline

Accès à la liste des attributs.

◆ attributes() [2/2]

std::list<Attribute>& cogitant::XmlDocument::Element::attributes ( )
inline

Accès à la liste des attributs.

◆ children()

std::list<Node *> const& cogitant::XmlDocument::Element::children ( ) const

Accès à la liste des fils.

◆ childrenNoElement()

bool cogitant::XmlDocument::Element::childrenNoElement ( ) const

Est-ce que l'élément ne contient aucun sous-élément (mais uniquement du texte ou des commentaires.

◆ deepCopy()

Node* cogitant::XmlDocument::Element::deepCopy ( Element *  newparent) const
virtual

Crée une copie (profonde) du noeud courant, et le rattache au parent passé en paramètre.

Implements cogitant::XmlDocument::Node.

◆ deleteAttribute()

void cogitant::XmlDocument::Element::deleteAttribute ( std::string const &  name)

Supprime un attribut.

◆ deleteChild()

void cogitant::XmlDocument::Element::deleteChild ( Node *  n)

Détache et supprime le noeud fils.

◆ detachChild()

void cogitant::XmlDocument::Element::detachChild ( Node *  n)

Détacher le noeud fils.

◆ findAttribute()

std::string const& cogitant::XmlDocument::Element::findAttribute ( std::string const &  name) const

Recherche d'un attribut.

Retourne la valeur de l'attribut name ou, si il n'est pas trouvé, une chaine vide.

◆ hasAttribute() [1/2]

bool cogitant::XmlDocument::Element::hasAttribute ( std::string const &  name) const

Est-ce que l'élément possède l'attribut.

◆ hasAttribute() [2/2]

bool cogitant::XmlDocument::Element::hasAttribute ( std::string const &  name,
std::string &  result 
) const

Est-ce que l'élément possède l'attribut, et quelle est la valeur de cet attribut.

◆ searchChild() [1/3]

Element* cogitant::XmlDocument::Element::searchChild ( std::string const &  name,
bool  recurs = false 
) const

Recherche du premier fils ayant comme nom la chaîne passée.

◆ searchChild() [2/3]

Element* cogitant::XmlDocument::Element::searchChild ( std::string const &  name,
std::string const &  attrname,
std::string const &  attrvalue,
bool  recurs = false 
) const

Recherche du premier fils ayant comme nom la chaîne passée et comme attribut les valeurs passées.

◆ searchChild() [3/3]

Element* cogitant::XmlDocument::Element::searchChild ( std::string const &  name,
std::string const &  attrname1,
std::string const &  attrvalue1,
std::string const &  attrname2,
std::string const &  attrvalue2,
bool  recurs = false 
) const

Recherche du premier fils ayant comme nom la chaîne passée et comme attributs les valeurs passées.

◆ searchCreateChild()

Element* cogitant::XmlDocument::Element::searchCreateChild ( std::string const &  name)

Recherche du premier fils ayant comme nom la chaîne passée avec création si ce fils n'existe pas.

◆ type()

Type cogitant::XmlDocument::Element::type ( ) const
virtual

Accès au type du noeud.

Implements cogitant::XmlDocument::Node.