Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
IXmlDocumentHolder.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2022 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4// See the top-level COPYRIGHT file for details.
5// SPDX-License-Identifier: Apache-2.0
6//-----------------------------------------------------------------------------
7/*---------------------------------------------------------------------------*/
8/* IXmlDocumentHolder.h (C) 2000-2018 */
9/* */
10/* Interface d'un gestionnaire d'un document DOM. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_IXMLDOCUMENTHOLDER_H
13#define ARCANE_IXMLDOCUMENTHOLDER_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
27
28class XmlNode;
29
30/*---------------------------------------------------------------------------*/
31/*---------------------------------------------------------------------------*/
32/*!
33 * \ingroup Xml
34 * \brief Gestionnaire d'un document DOM.
35 *
36 * Cette classe encapsule le noeud document d'un arbre DOM.
37 * Le destructeur de cette classe libère l'arbre DOM.
38 * L'utilisateur doit bien faire attention à ne plus utiliser
39 * un noeud de cet arbre après sa libération.
40 */
41class ARCANE_CORE_EXPORT IXmlDocumentHolder
42{
43 public:
44
45 //! Libère les ressources
47
48 public:
49
50 //! Créé et retourne un document nul.
51 static IXmlDocumentHolder* createNull();
52
53 /*!
54 * \brief Charge un document XML.
55 *
56 * Lit et analyse le document XML de nom \a name dont les données sont dans \a buffer.
57 *
58 * L'instance retournée n'est jamais nulle.
59 * L'appelant est propriétaire de l'instance retournée et doit
60 * la détruire par l'opérateur delete.
61 */
62 static IXmlDocumentHolder*
63 loadFromBuffer(Span<const Byte> buffer,const String& name,ITraceMng* tm);
64
65 /*!
66 * \brief Charge un document XML.
67 *
68 * Lit et analyse le document XML de nom \a name dont les données sont dans \a buffer.
69 *
70 * L'instance retournée n'est jamais nulle.
71 * L'appelant est propriétaire de l'instance retournée et doit
72 * la détruire par l'opérateur delete.
73 */
74 static IXmlDocumentHolder*
75 loadFromBuffer(ByteConstSpan buffer,const String& name,ITraceMng* tm);
76
77 /*!
78 * \brief Charge un document XML.
79 *
80 * Lit et analyse le document XML contenu dans le fichier \a filename.
81 *
82 * L'instance retournée n'est jamais nulle.
83 * L'appelant est propriétaire de l'instance retournée et doit
84 * la détruire par l'opérateur delete.
85 */
86 static IXmlDocumentHolder*
87 loadFromFile(const String& filename,ITraceMng* tm);
88
89 /*!
90 * \brief Charge un document XML.
91 *
92 * Lit et analyse le document XML contenu dans le fichier \a filename.
93 *
94 * L'instance retournée n'est jamais nulle.
95 * L'appelant est propriétaire de l'instance retournée et doit
96 * la détruire par l'opérateur delete.
97 *
98 * Si \a schema_filename est non nul, il indique le fichier XML contenant le schéma
99 * utilisé pour valider le fichier XML.
100 */
101 static IXmlDocumentHolder*
102 loadFromFile(const String& filename,const String& schema_filename,ITraceMng* tm);
103
104 public:
105
106 //! Noeud document. \c Ce noeud est nul si le document n'existe pas.
107 virtual XmlNode documentNode() =0;
108
109 //! Clone ce document
111
112 //! Sauvegarde ce document dans le tableau \a bytes.
113 virtual void save(ByteArray& bytes) =0;
114
115 //! Sauvegarde ce document et retourne la chaîne de caractères.
116 virtual String save() =0;
117};
118
119/*---------------------------------------------------------------------------*/
120/*---------------------------------------------------------------------------*/
121
122} // End namespace Arcane
123
124/*---------------------------------------------------------------------------*/
125/*---------------------------------------------------------------------------*/
126
127#endif
128
Déclarations des types utilisés dans Arcane.
Gestionnaire d'un document DOM.
virtual void save(ByteArray &bytes)=0
Sauvegarde ce document dans le tableau bytes.
virtual XmlNode documentNode()=0
Noeud document. Ce noeud est nul si le document n'existe pas.
virtual String save()=0
Sauvegarde ce document et retourne la chaîne de caractères.
virtual ~IXmlDocumentHolder()
Libère les ressources.
virtual IXmlDocumentHolder * clone()=0
Clone ce document.
Noeud d'un arbre DOM.
Definition XmlNode.h:51
Classe de base des vecteurs 1D de données.
Interface du gestionnaire de traces.
Vue d'un tableau d'éléments de type T.
Definition Span.h:510
Chaîne de caractères unicode.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Span< const std::byte > ByteConstSpan
Vue en lecture seule d'un tableau à une dimension de caractères.
Definition UtilsTypes.h:706