Noeud d'un arbre DOM. Plus de détails...
#include <arcane/core/XmlNode.h>
Types publics | |
enum | eType { ELEMENT = 1 , ATTRIBUTE = 2 , TEXT = 3 , CDATA_SECTION = 4 , ENTITY_REFERENCE = 5 , ENTITY = 6 , PROCESSING_INSTRUCTION = 7 , COMMENT = 8 , DOCUMENT = 9 , DOCUMENT_TYPE = 10 , DOCUMENT_FRAGMENT = 11 , NOTATION = 12 } |
NodeType An integer indicating which type of node this is. Plus de détails... | |
typedef XmlNode | value_type |
Type des éléments du tableau. | |
typedef XmlNodeIterator | iterator |
Type de l'itérateur sur un élément du tableau. | |
typedef XmlNodeConstIterator | const_iterator |
Type de l'itérateur constant sur un élément du tableau. | |
typedef value_type * | pointer |
Type pointeur d'un élément du tableau. | |
typedef const value_type * | const_pointer |
Type pointeur constant d'un élément du tableau. | |
typedef value_type & | reference |
Type référence d'un élément du tableau. | |
typedef const value_type & | const_reference |
Type référence constante d'un élément du tableau. | |
typedef Integer | size_type |
Type indexant le tableau. | |
typedef int | difference_type |
Type d'une distance entre itérateur éléments du tableau. | |
typedef IterT< XmlNode > | iter |
Type d'un itérateur sur tout le tableau. | |
typedef ConstIterT< XmlNode > | const_iter |
Type d'un itérateur constant sur tout le tableau. | |
Fonctions membres publiques | |
XmlNode (IRessourceMng *m, const dom::Node &node) | |
XmlNode (IRessourceMng *m) | |
iterator | begin () |
Retourne un iterateur sur le premier élément du tableau. | |
iterator | end () |
Retourne un iterateur sur le premier élément après la fin du tableau. | |
const_iterator | begin () const |
Retourne un iterateur constant sur le premier élément du tableau. | |
const_iterator | end () const |
Retourne un iterateur constant sur le premier élément après la fin du tableau. | |
eType | type () const |
Type du noeud. | |
String | name () const |
Nom du noeud. | |
String | xpathFullName () const |
Nom XPath du noeud avec ces ancêtres. | |
bool | isNamed (const String &name) const |
Vrai si le nom de l'élément est name. | |
String | value () const |
Valeur du noeud. | |
Integer | valueAsInteger (bool throw_exception=false) const |
Valeur du noeud convertie en entier. | |
Int64 | valueAsInt64 (bool throw_exception=false) const |
Valeur du noeud convertie en entier 64 bits. 0 si conversion échoue. | |
bool | valueAsBoolean (bool throw_exception=false) const |
Valeur du noeud convertie en booléan. | |
Real | valueAsReal (bool throw_exception=false) const |
Valeur du noeud convertie en réel. Si la conversion échoue, si throw_exception vaut false retourne 0.0, sinon lève une exception. | |
void | setValue (const String &value) |
Positionne la valeur du noeud. | |
String | attrValue (const String &name, bool throw_exception=false) const |
Valeur de l'attribut name. | |
void | setAttrValue (const String &name, const String &value) |
Positionne l'attribut name à la valeur value. | |
XmlNode | attr (const String &name, bool throw_exception=false) const |
Retourne l'attribut de nom name. | |
XmlNode | forceAttr (const String &name) |
Retourne l'attribut de nom name. Si aucun attribut avec ce nom n'existe, un attribut avec comme valeur la chaîne nul est créé et retourné. | |
void | removeAttr (const String &name) const |
Supprime l'attribut de nom name de ce noeud. Si ce noeud n'est pas élément, rien n'est effectué. | |
XmlNode | documentElement () const |
Retourne le noeud élément du document. | |
XmlNode | ownerElement () const |
Retourne l'élément propriétaire de cet attribut. | |
void | clear () |
Supprime tous les noeuds fils. | |
XmlNode | child (const String &name) const |
Noeud fils de celui-ci de nom name. | |
XmlNode | expectedChild (const String &name) const |
Noeud fils de celui-ci de nom name. | |
XmlNodeList | children (const String &name) const |
Ensemble des noeuds fils de ce noeud ayant pour nom name. | |
XmlNodeList | children () const |
Ensemble des noeuds fils de ce noeud. | |
XmlNode | parent () const |
Parent de ce noeud (null si aucun) | |
void | append (const XmlNode &child_node) |
Ajoute child_node comme fils de ce noeud. | |
void | remove (const XmlNode &child_node) |
Supprime le noeud fils child_node. | |
void | replace (const XmlNode &new_node, XmlNode &ref_node) |
Remplace le noeud fils ref_node par le noeud new_node. | |
void | remove () |
Supprime ce noeud du document. | |
XmlNode | front () const |
Premier fils. | |
XmlNode | last () const |
Dernier fils. | |
XmlNode | next () const |
Noeud suivant (nextSibling()) | |
XmlNode | prev () const |
Noeud précédent (previousSibling()) | |
XmlNode | nextWithName (const String &name) const |
Retourne le noeud suivant ce noeud ayant le nom name. | |
XmlNode | prevWithName (const String &name) const |
Retourne le noeud précédent ce noeud ayant le nom name. | |
XmlNode | nextSameType () const |
Retourne le noeud suivant ce noeud ayant le même type. | |
XmlNode | prevSameType () const |
Retourne le noeud précédent ce noeud ayant le même type. | |
void | operator++ () |
void | operator-- () |
bool | null () const |
Vrai si le noeud est nul. | |
bool | operator! () const |
dom::Node | domNode () const |
void | assignDomNode (const dom::Node &node) |
XmlNode | insertAfter (const XmlNode &new_child, const XmlNode &ref_node) |
Insère un noeud. Insère le noeud new_child après le noeud ref_node. Si new_child est nul , ne fait rien. Si ref_node est nul , new_child est ajouté à la fin (comme append()). Sinon, ref_node doit être fils de ce noeud et new_child est inséré après ref_node. En cas de succès, retourne le noeud ajouté (new_child), sinon le noeud nul. | |
XmlNode | childWithAttr (const String &elem_name, const String &attr_name, const String &attr_value) const |
Retourne le fils de ce noeud ayant pour nom elem_name et un attribut de nom attr_name avec pour valeur attr_value. | |
XmlNode | childWithNameAttr (const String &elem_name, const String &attr_value) const |
Retourne le fils de ce noeud ayant pour nom elem_name et un attribut de nom "name" avec pour valeur attr_value. | |
XmlNode | xpathNode (const String &xpath_expr) const |
Retourne un noeud à partir d'une expression XPath. | |
XmlNode | createNode (eType type, const String &name, const String &value) |
Créé un noeud d'un type donné. | |
XmlNode | createNode (eType type, const String &name_or_value) |
Créé un noeud d'un type donné. | |
XmlNode | createText (const String &value) |
Créé un noeud texte. | |
XmlNode | createElement (const String &name) |
XmlNode | createAndAppendElement (const String &name) |
XmlNode | createAndAppendElement (const String &name, const String &value) |
XmlNode | ownerDocument () const |
IRessourceMng * | rm () const |
Fonctions membres protégées | |
String | _value () const |
XmlNode | _build (const dom::Node &node) const |
XmlNode | _nullNode () const |
void | _setNode (const dom::Node &n) |
void | _throwBadConvert (const char *type_name, const String &value) const |
Noeud d'un arbre DOM.
Cette classe sert pour tous les types de noeuds du DOM et permet de les manipuler de manière plus simple qu'avec le DOM sans avoir besoin de faire des conversions de types.
Chaque noeud peut être considéré comme un container au sens de la STL.
typedef ConstIterT<XmlNode> Arcane::XmlNode::const_iter |
typedef const value_type* Arcane::XmlNode::const_pointer |
typedef const value_type& Arcane::XmlNode::const_reference |
typedef int Arcane::XmlNode::difference_type |
typedef IterT<XmlNode> Arcane::XmlNode::iter |
typedef value_type* Arcane::XmlNode::pointer |
typedef value_type& Arcane::XmlNode::reference |
typedef Integer Arcane::XmlNode::size_type |
typedef XmlNode Arcane::XmlNode::value_type |
NodeType An integer indicating which type of node this is.
Valeurs énumérées | |
---|---|
ELEMENT | The node is an Element. |
ATTRIBUTE | The node is an Attr. |
TEXT | The node is a Text node. |
CDATA_SECTION | The node is a CDATASection. |
ENTITY_REFERENCE | The node is an EntityReference. |
ENTITY | The node is an Entity. |
PROCESSING_INSTRUCTION | The node is a ProcessingInstruction. |
COMMENT | The node is a Comment. |
DOCUMENT | The node is a Document. |
DOCUMENT_TYPE | The node is a DocumentType. |
DOCUMENT_FRAGMENT | The node is a DocumentFragment. |
NOTATION | The node is a Notation. |
|
inline |
|
inlineexplicit |
|
protected |
Définition à la ligne 669 du fichier XmlNode.cc.
|
protected |
Définition à la ligne 54 du fichier XmlNode.cc.
|
inlineprotected |
|
inlineprotected |
Définition à la ligne 401 du fichier XmlNode.cc.
|
protected |
Définition à la ligne 517 du fichier XmlNode.cc.
|
inline |
Ajoute child_node comme fils de ce noeud.
Le noeud est ajouté après tous les fils.
Définition à la ligne 267 du fichier XmlNode.h.
Référencé par insertAfter().
void Arcane::XmlNode::assignDomNode | ( | const dom::Node & | node | ) |
Définition à la ligne 528 du fichier XmlNode.cc.
Retourne l'attribut de nom name.
Si l'attribut n'existe pas, si throw_exception vaut false retourne un noeud nul, sinon lève une exception.
Définition à la ligne 247 du fichier XmlNode.cc.
Références ARCANE_THROW, name(), null(), et xpathFullName().
Référencé par forceAttr(), Arcane::Hdf5VariableReaderHelper::open(), Arcane::Hdf5VariableReaderHelper2::open(), et ownerElement().
Valeur de l'attribut name.
Si l'attribut n'existe pas, si throw_exception vaut false retourne la chaîne nulle, sinon lève une exception.
Définition à la ligne 224 du fichier XmlNode.cc.
Références ARCANE_THROW, name(), Arccore::String::null(), et xpathFullName().
Référencé par Arcane::Hdf5VariableReaderHelper::open(), Arcane::CaseOptions::read(), et Arcane::LimaMeshReaderService::readMeshFromFile().
|
inline |
Retourne un iterateur sur le premier élément du tableau.
Définition à la ligne 88 du fichier XmlNodeIterator.h.
Référencé par Arcane::XmlElementContentChecker::check(), child(), children(), et children().
|
inline |
Retourne un iterateur constant sur le premier élément du tableau.
Définition à la ligne 100 du fichier XmlNodeIterator.h.
Noeud fils de celui-ci de nom name.
Si plusieurs noeuds portant ce nom existent, retourne le premier. Si le noeud n'est pas trouvé, retourne un noeud nul
Définition à la ligne 63 du fichier XmlNode.cc.
Référencé par expectedChild(), et remove().
XmlNodeList Arcane::XmlNode::children | ( | ) | const |
Ensemble des noeuds fils de ce noeud.
Définition à la ligne 108 du fichier XmlNode.cc.
Références Arccore::Array< T >::add(), begin(), et end().
XmlNodeList Arcane::XmlNode::children | ( | const String & | name | ) | const |
Ensemble des noeuds fils de ce noeud ayant pour nom name.
Définition à la ligne 92 du fichier XmlNode.cc.
Références Arccore::Array< T >::add(), begin(), et end().
Référencé par Arcane::CaseOptionMultiExtended::_search(), Arcane::Hdf5VariableReaderHelper::open(), Arcane::Hdf5VariableReaderHelper2::open(), Arcane::CaseOptionList::readChildren(), et Arcane::CaseOptionListMulti::readChildren().
XmlNode Arcane::XmlNode::childWithAttr | ( | const String & | elem_name, |
const String & | attr_name, | ||
const String & | attr_value | ||
) | const |
Retourne le fils de ce noeud ayant pour nom elem_name et un attribut de nom attr_name avec pour valeur attr_value.
Définition à la ligne 479 du fichier XmlNode.cc.
Référencé par childWithNameAttr().
XmlNode Arcane::XmlNode::childWithNameAttr | ( | const String & | elem_name, |
const String & | attr_value | ||
) | const |
Retourne le fils de ce noeud ayant pour nom elem_name et un attribut de nom "name"
avec pour valeur attr_value.
Définition à la ligne 499 du fichier XmlNode.cc.
Références childWithAttr().
void Arcane::XmlNode::clear | ( | ) |
Supprime tous les noeuds fils.
Définition à la ligne 292 du fichier XmlNode.cc.
Définition à la ligne 599 du fichier XmlNode.cc.
Définition à la ligne 588 du fichier XmlNode.cc.
Définition à la ligne 579 du fichier XmlNode.cc.
Créé un noeud d'un type donné.
Si type() ne vaut pas DOCUMENT_NODE, utilise ownerDocument() comme fabrique.
type | type du noeud. |
nom | du noeud. |
valeur | du noeud. |
Définition à la ligne 644 du fichier XmlNode.cc.
Références ARCANE_THROW, ELEMENT, name(), setValue(), TEXT, type(), et value().
Référencé par createText().
Créé un noeud d'un type donné.
Si type() ne vaut pas DOCUMENT_NODE, utilise ownerDocument() comme fabrique.
type | type du noeud. |
nom | ou valeur du noeud dans le cas ou le noeud n'a pas de nom. |
Définition à la ligne 610 du fichier XmlNode.cc.
Références ARCANE_THROW, ELEMENT, TEXT, et type().
Créé un noeud texte.
value | valeur du noeud texte. |
Définition à la ligne 635 du fichier XmlNode.cc.
Références createNode(), TEXT, et value().
XmlNode Arcane::XmlNode::documentElement | ( | ) | const |
Retourne le noeud élément du document.
Définition à la ligne 555 du fichier XmlNode.cc.
Référencé par Arcane::XmlInfo::rootNode().
|
inline |
Retourne un iterateur sur le premier élément après la fin du tableau.
Définition à la ligne 94 du fichier XmlNodeIterator.h.
Référencé par Arcane::XmlElementContentChecker::check(), child(), children(), et children().
|
inline |
Retourne un iterateur constant sur le premier élément après la fin du tableau.
Définition à la ligne 106 du fichier XmlNodeIterator.h.
Noeud fils de celui-ci de nom name.
Si plusieurs noeuds portant ce nom existent, retourne le premier. Si le noeud n'est pas trouvé, lève une exception.
Définition à la ligne 78 du fichier XmlNode.cc.
Références ARCANE_FATAL, child(), null(), et xpathFullName().
Retourne l'attribut de nom name. Si aucun attribut avec ce nom n'existe, un attribut avec comme valeur la chaîne nul est créé et retourné.
Définition à la ligne 265 du fichier XmlNode.cc.
|
inline |
Premier fils.
Définition à la ligne 275 du fichier XmlNode.h.
Référencé par clear(), et xpathFullName().
Insère un noeud. Insère le noeud new_child après le noeud ref_node. Si new_child est nul
, ne fait rien. Si ref_node est nul
, new_child est ajouté à la fin (comme append()). Sinon, ref_node doit être fils de ce noeud et new_child est inséré après ref_node. En cas de succès, retourne le noeud ajouté (new_child), sinon le noeud nul.
Définition à la ligne 537 du fichier XmlNode.cc.
bool Arcane::XmlNode::isNamed | ( | const String & | name | ) | const |
Vrai si le nom de l'élément est name.
Définition à la ligne 189 du fichier XmlNode.cc.
Références name().
Référencé par nextWithName(), et prevWithName().
|
inline |
String Arcane::XmlNode::name | ( | ) | const |
Nom du noeud.
Définition à la ligne 131 du fichier XmlNode.cc.
Référencé par attr(), attrValue(), childWithAttr(), createNode(), Arcane::XmlInfo::error(), forceAttr(), isNamed(), nextWithName(), prevWithName(), removeAttr(), setAttrValue(), Arcane::XmlInfo::warning(), Arcane::XmlElement::XmlElement(), Arcane::XmlElement::XmlElement(), et xpathFullName().
|
inline |
Noeud suivant (nextSibling())
Définition à la ligne 279 du fichier XmlNode.h.
Référencé par insertAfter(), nextSameType(), et nextWithName().
XmlNode Arcane::XmlNode::nextSameType | ( | ) | const |
Retourne le noeud suivant ce noeud ayant le même type.
Définition à la ligne 360 du fichier XmlNode.cc.
|
inline |
Vrai si le noeud est nul.
Définition à la ligne 294 du fichier XmlNode.h.
Référencé par Arcane::CaseOptionExtended::_search(), Arcane::CaseOptionMultiExtended::_search(), Arcane::CaseOptionMultiSimpleT< T >::_search(), Arcane::CaseOptionList::addInvalidChildren(), attr(), childWithAttr(), clear(), expectedChild(), insertAfter(), nextSameType(), nextWithName(), prevSameType(), prevWithName(), Arcane::CaseOptionList::readChildren(), replace(), Arcane::CaseOptionList::setRootElement(), value(), valueAsBoolean(), valueAsInt64(), valueAsInteger(), valueAsReal(), et xpathFullName().
|
inline |
XmlNode Arcane::XmlNode::ownerElement | ( | ) | const |
Retourne l'élément propriétaire de cet attribut.
Définition à la ligne 567 du fichier XmlNode.cc.
Références attr(), et ownerElement().
Référencé par ownerElement(), et xpathFullName().
|
inline |
Parent de ce noeud (null si aucun)
Définition à la ligne 261 du fichier XmlNode.h.
Référencé par remove(), Arcane::XmlElement::XmlElement(), Arcane::XmlElement::XmlElement(), et xpathFullName().
|
inline |
Noeud précédent (previousSibling())
Définition à la ligne 281 du fichier XmlNode.h.
Référencé par prevSameType(), et prevWithName().
XmlNode Arcane::XmlNode::prevSameType | ( | ) | const |
Retourne le noeud précédent ce noeud ayant le même type.
Définition à la ligne 375 du fichier XmlNode.cc.
void Arcane::XmlNode::remove | ( | ) |
Supprime ce noeud du document.
Définition à la ligne 306 du fichier XmlNode.cc.
Références parent().
Référencé par clear().
void Arcane::XmlNode::remove | ( | const XmlNode & | child_node | ) |
Supprime le noeud fils child_node.
Définition à la ligne 320 du fichier XmlNode.cc.
Références child().
void Arcane::XmlNode::removeAttr | ( | const String & | name | ) | const |
Supprime l'attribut de nom name de ce noeud. Si ce noeud n'est pas élément, rien n'est effectué.
Définition à la ligne 282 du fichier XmlNode.cc.
Références name().
Remplace le noeud fils ref_node par le noeud new_node.
Définition à la ligne 390 du fichier XmlNode.cc.
Références null().
|
inline |
Positionne l'attribut name à la valeur value.
Définition à la ligne 238 du fichier XmlNode.cc.
Références name(), et value().
Référencé par Arcane::UnitTestServiceAdapter< T >::executeTest(), et Arcane::ManualHdf5VariableWriter::notifyEndWrite().
void Arcane::XmlNode::setValue | ( | const String & | value | ) |
Positionne la valeur du noeud.
Cette méthode n'est valide que pour les noeuds ELEMENT_NODE ou ATTRIBUTE_NODE. Pour les éléments, elles supprime tous les fils et ajoute un seul fils de type TEXT_NODE comportant la valeur value
Définition à la ligne 209 du fichier XmlNode.cc.
Référencé par createNode().
XmlNode::eType Arcane::XmlNode::type | ( | ) | const |
Type du noeud.
Définition à la ligne 122 du fichier XmlNode.cc.
Référencé par Arcane::XmlElementContentChecker::check(), createNode(), createNode(), nextSameType(), et prevSameType().
String Arcane::XmlNode::value | ( | ) | const |
Valeur du noeud.
Pour un élément, il s'agit de la concaténation des valeurs de chacun de ses noeuds fils de type TEXT, CDATA_SECTION ou ENTITY_REFERENCE. Pour les noeuds autre que les éléments, il s'agit de la valeur de la méthode Node::nodeValue() du DOM.
Définition à la ligne 198 du fichier XmlNode.cc.
Références null().
Référencé par Arcane::CaseOptionExtended::_search(), Arcane::CaseOptionMultiExtended::_search(), Arcane::CaseOptionMultiSimpleT< T >::_search(), Arcane::XmlElementContentChecker::check(), createNode(), createText(), setAttrValue(), valueAsBoolean(), valueAsInt64(), valueAsInteger(), valueAsReal(), et Arcane::XmlElement::XmlElement().
bool Arcane::XmlNode::valueAsBoolean | ( | bool | throw_exception = false | ) | const |
Valeur du noeud convertie en booléan.
Une valeur de false
ou 0
correspond à false. Une valeur de true
ou 1
correspond à true. Si la conversion échoue, si throw_exception vaut false retourne false, sinon lève une exception.
Définition à la ligne 411 du fichier XmlNode.cc.
Références ARCANE_THROW, null(), value(), et xpathFullName().
Int64 Arcane::XmlNode::valueAsInt64 | ( | bool | throw_exception = false | ) | const |
Valeur du noeud convertie en entier 64 bits. 0 si conversion échoue.
Si la conversion échoue, si throw_exception vaut false retourne 0, sinon lève une exception.
Définition à la ligne 447 du fichier XmlNode.cc.
Integer Arcane::XmlNode::valueAsInteger | ( | bool | throw_exception = false | ) | const |
Valeur du noeud convertie en entier.
Si la conversion échoue, si throw_exception vaut false retourne 0, sinon lève une exception.
Définition à la ligne 431 du fichier XmlNode.cc.
Real Arcane::XmlNode::valueAsReal | ( | bool | throw_exception = false | ) | const |
Valeur du noeud convertie en réel. Si la conversion échoue, si throw_exception vaut false retourne 0.0, sinon lève une exception.
Définition à la ligne 463 du fichier XmlNode.cc.
Références null(), et value().
Référencé par Arcane::Hdf5VariableReaderHelper::open(), et Arcane::Hdf5VariableReaderHelper2::open().
String Arcane::XmlNode::xpathFullName | ( | ) | const |
Nom XPath du noeud avec ces ancêtres.
Définition à la ligne 142 du fichier XmlNode.cc.
Références Arccore::StringBuilder::append(), front(), name(), null(), ownerElement(), parent(), et xpathFullName().
Référencé par Arcane::CaseOptionList::addInvalidChildren(), Arcane::CaseOptionError::addInvalidTypeError(), Arcane::CaseOptionError::addInvalidTypeError(), Arcane::CaseOptionError::addOptionNotFoundError(), attr(), attrValue(), Arcane::CaseOptionException::CaseOptionException(), Arcane::CaseOptionException::CaseOptionException(), Arcane::XmlElementContentChecker::check(), Arcane::CaseOptionList::disable(), expectedChild(), Arcane::Hdf5VariableReaderHelper::open(), Arcane::Hdf5VariableReaderHelper2::open(), Arcane::CaseOptions::read(), Arcane::CaseOptionList::readChildren(), Arcane::CaseOptionListMulti::readChildren(), valueAsBoolean(), xpathFullName(), et Arcane::CaseOptionList::xpathFullName().
Retourne un noeud à partir d'une expression XPath.
xpath_expr | Expression XPath. |
Définition à la ligne 508 du fichier XmlNode.cc.