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

Public Member Functions | Protected Member Functions | Friends | List of all members
cogitant::OperationInputXmlSelector Class Reference

Opération de chargement d'un fichier XML et de sélection d'opération en fonction du type de document. More...

#include "cogitant/inputxml.h"

Inheritance diagram for cogitant::OperationInputXmlSelector:
cogitant::OperationInputXml cogitant::OperationInput cogitant::OperationIO cogitant::IStreamReader cogitant::Operation cogitant::OperationBase cogitant::ObservableObject cogitant::CogitantObject

Public Member Functions

 OperationInputXmlSelector (Environment *env)
 Constructeur. More...
 
void addStandard (OperationCoGXMLInput *cogxml1, OperationRdfsXmlInput *rdfxml)
 Ajoute les opérations de chargement des formats spécifiques. More...
 
void add (std::string const &root, OperationInputXml *ope)
 Ajoute un format et une opération de chargement de ce format. More...
 
- Public Member Functions inherited from cogitant::OperationInputXml
void setParamStream (std::istream *stream, std::string const &streamname)
 Choix du flux (C++) de lecture et de son nom. More...
 
void run ()
 Lancement de l'opération. More...
 
IStream const * currentStream () const
 Méthode abstraite retournant le flux en cours de lecture. More...
 
void setParamIgnoreUnknownElements (bool iue)
 Configure la lecture stricte ou relachée. More...
 
void copyConfig (OperationInputXml const &src)
 Copie la configuration de l'opération passée en paramètre dans la configuration de l'opération courante. More...
 
 OperationInputXml (Environment *env)
 Constructeur. More...
 
 ~OperationInputXml ()
 Destructeur. More...
 
- Public Member Functions inherited from cogitant::OperationInput
Error check ()
 Vérification des paramètres. More...
 
void run ()
 Lancement de l'opération. More...
 
std::string streamName () const
 Nom du flux. More...
 
IStream const * currentStream () const
 Méthode abstraite retournant le flux en cours de lecture. More...
 
 OperationInput (Environment *env)
 Constructeur. More...
 
 OperationInput (OperationInput const &o)
 Constructeur par recopie. More...
 
 ~OperationInput ()
 Destructeur. More...
 
void setParamReadSupport (bool support)
 
void setParamReadObjects (bool objects)
 
void setParamInEnvironment (bool inenvironment)
 
void setParamConvertCgtInterface (bool c)
 
void setParamGraphObjectIdentifiers (bool c)
 Choix de la conservation des identificateurs des objets du graphes. More...
 
void setParamAutoCreateTypes (bool a)
 Accepte des types de concepts, relations, emboîtements inconnus lors du chargement d'un graphe. More...
 
void setParamAutoCreateIndividuals (bool a)
 Accepte des marqueurs individuels inconnus lors du chargement d'un graphe. More...
 
void setParamIgnoreRedeclarationIndividuals (bool r)
 Accepte (et ignore) la redéclaration de marqueurs individuels. More...
 
void setParamForceDestinationGraph (iSet dg=ISET_NULL)
 Force la lecture des connaissances graphe dans un objet Graph bien précis. More...
 
void setParamPropertyFilter (PropertySet::Filter *f)
 Fixe le filtre de propriétés. More...
 
void setParamBaseIds (std::string const &b)
 Fixe la base des identificateurs relatifs. More...
 
void setParamResultEnvironmentIds (std::vector< iSet > *resultenvironmentids)
 
void setParamResultObjects (Set< EnvironmentObject * > *resultobjects)
 
void copyConfig (OperationInput const &src)
 Copie la configuration de l'opération passée en paramètre dans la configuration de l'opération courante. More...
 
std::vector< iSet > * getResultEnvironmentIds () const
 
Set< EnvironmentObject * > * getResultObjects () const
 
- Public Member Functions inherited from cogitant::OperationIO
virtual bool binaryFile () const
 Les fichiers gérés par cette opération doivent-ils être ouverts en mode binaire. More...
 
 OperationIO (Environment *env)
 Constructeur. More...
 
 ~OperationIO ()
 Destructeur. More...
 
- Public Member Functions inherited from cogitant::Operation
Environmentenvironment () const
 Environnement. More...
 
void setEnvironment (Environment *env)
 Modification de l'environnement sur lequel est défini l'opération. More...
 
 Operation (Environment *env)
 Constructeur. More...
 
 Operation (Operation const &o)
 Constructeur par recopie. More...
 
 ~Operation ()
 Destructeur. More...
 
- Public Member Functions inherited from cogitant::OperationBase
void stop ()
 Stopper l'opération dès que possible. More...
 
bool isStopped () const
 Est-ce que l'opération a été stoppée. More...
 
 OperationBase ()
 Constructeur. More...
 
 OperationBase (OperationBase const &o)
 Constructeur par recopie. More...
 
 ~OperationBase ()
 Destructeur. More...
 
- Public Member Functions inherited from cogitant::ObservableObject
 ObservableObject ()
 Constructeur. More...
 
 ObservableObject (ObservableObject const &o)
 Constructeur par recopie. More...
 
 ~ObservableObject ()
 Destructeur. More...
 
ObserverSet const & observers () const
 Accès à l'ensemble des observateurs. More...
 
bool hasObservers () const
 Existence d'observateurs. More...
 
bool hasObservers (ObserverMessage::Type mt) const
 Existence d'observateurs qui écoutent le type de message passé. More...
 
void attachObserver (Observer *obs)
 Ajoute un nouvel observateur à l'objet. More...
 
void detachObserver (Observer *obs)
 Supprime le lien entre l'observateur et l'objet. More...
 
void notifyObservers (ObserverMessage const *msg)
 Envoie le message de modification à tous les observateurs. More...
 
- Public Member Functions inherited from cogitant::CogitantObject
 CogitantObject ()
 Constructeur. More...
 
 CogitantObject (CogitantObject const &o)
 Constructeur par recopie. More...
 
virtual ~CogitantObject ()
 Destructeur. More...
 
PropertySetproperties ()
 Accès à l'ensemble des propriétés. More...
 
virtual std::string toString () const
 Transformation en chaîne de caractères. More...
 
std::string className () const
 Nom de la classe. More...
 
PropertySet const * properties () const
 Accès en lecture seule à l'ensemble des propriétés. More...
 
bool hasProperties () const
 Existence de propriétés. More...
 
CogitantObjectoperator= (CogitantObject const &ob)
 Affectation. More...
 
- Public Member Functions inherited from cogitant::IStreamReader
virtual ~IStreamReader ()
 Destructeur. More...
 

Protected Member Functions

ExceptionInputcreateWarning (unsigned int code, std::string const &streamname, unsigned int line, std::string const &msg) const
 Crée une exception non fatale. More...
 
XmlInput::ContentHandlercreateXmlContentHandler ()
 Méthode devant créer une sous-classe de XmlInput::ContentHandler pour gérer le contenu du flux lu. More...
 
void runBegin (XmlInput &xi)
 Méthode appelée au début de l'analyse (juste après la détection du format). More...
 
OperationInputXmloperationFor (std::string const &root, std::string const &formatname)
 Retourne l'opération gérant le format identifié par la racine passée et le nom de format passé. More...
 
void setDoctype (XmlDocument const &doc, XmlDocument::DoctypeDeclaration const *dt)
 Méthode appelée par le ContentHandler et signalant à l'opération le DOCTYPE du document. More...
 
void setRootElement (XmlDocument const &doc, XmlDocument::Element const *root)
 Méthode appelée par le ContentHandler et signalant à l'opération la racine du document. More...
 
void selectOperation (OperationInputXml *ope)
 Sélectionne l'opération passée pour la suite du chargement . More...
 
- Protected Member Functions inherited from cogitant::OperationInputXml
IStream::Line currentLine () const
 Retourne la ligne en cours d'analyse. More...
 
std::string currentStreamName () const
 Retourne le nom du flux en cours d'analyse. More...
 
void assertParent (XmlDocument const &doc, XmlDocument::Node const *el, std::string const &parentname)
 Vérification que l'élément parent du noeud passé est bien du bon intitulé. More...
 
virtual void runEnd ()
 Méthode appelée à la fin de l'analyse. More...
 
virtual void runException ()
 Méthode appelée en cas d'exception levée dans l'analyse. More...
 
- Protected Member Functions inherited from cogitant::OperationInput
IStream::LexemeType assertLexeme (IStream::Lexeme &s, IStream::LexemeType l1, wchar_t sc1=0, IStream::LexemeType l2=IStream::LEX_UNKNOWN, wchar_t sc2=0, IStream::LexemeType l3=IStream::LEX_UNKNOWN, wchar_t sc3=0, IStream::LexemeType l4=IStream::LEX_UNKNOWN, wchar_t sc4=0, IStream::LexemeType l5=IStream::LEX_UNKNOWN, wchar_t sc5=0)
 Lit le lexème suivant qui doit être d'un des types donnés. More...
 
IStream::LexemeType assertLexeme (IStream::Lexeme &s, IStream::LexemeType ltypes[], wchar_t lchars[])
 Lit le lexème suivant qui doit être d'un des types donnés. More...
 
IStream::LexemeType verifyLexeme (IStream::Lexeme const &l, IStream::LexemeType l1, wchar_t sc1=0, IStream::LexemeType l2=IStream::LEX_UNKNOWN, wchar_t sc2=0, IStream::LexemeType l3=IStream::LEX_UNKNOWN, wchar_t sc3=0, IStream::LexemeType l4=IStream::LEX_UNKNOWN, wchar_t sc4=0, IStream::LexemeType l5=IStream::LEX_UNKNOWN, wchar_t sc5=0)
 Vérifie si un lexème est d'un des types donnés. More...
 
IStream::LexemeType verifyLexeme (IStream::Lexeme const &l, IStream::LexemeType ltypes[], wchar_t lchars[])
 Vérifie si un lexème est d'un des types donnés. More...
 
virtual _NO_RETURN_PRE void throwException (unsigned int code, std::string const &streamname, unsigned int line, std::string const &msg="") const _NO_RETURN_POST
 Lève une exception du type correspondant à une erreur d'analyse du flux d'entrée. More...
 
virtual _NO_RETURN_PRE void throwExceptionCurrent (unsigned int code, std::string const &msg="") const _NO_RETURN_POST
 Lève une exception (par appel à throwException()) sur la ligne courante sur le flux courant. More...
 
void throwWarningCurrent (unsigned int code, std::string const &msg="")
 Lève une exception non fatale. More...
 
void convertCgtInterface (Graph *g)
 Conversion du codage des propriétés graphiques de cgtinterface/CoGui. More...
 
iSet findConceptType (std::string const &i, bool throwifnotfound) const
 Raccourci pour chercher un type de concept dans le support, et qui le crée éventuellement à l'occasion, selon le réglage de l'opération. More...
 
iSet findConceptOrDataType (std::string const &i) const
 Raccourci pour chercher un type de concept ou de données dans le support. More...
 
iSet findRelationType (std::string const &i, bool throwifnotfound) const
 Raccourci pour chercher un type de relation dans le support, et qui le crée éventuellement à l'occasion, selon le réglage de l'opération. More...
 
iSet findNestingType (std::string const &i, bool throwifnotfound) const
 Raccourci pour chercher un type d'emboîtement dans le support, et qui le crée éventuellement à l'occasion, selon le réglage de l'opération. More...
 
iSet findIndividual (std::string const &i, bool throwifnotfound) const
 Raccourci pour chercher un marqueur individuel dans le support, et qui le crée éventuellement à l'occasion, selon le réglage de l'opération. More...
 
iSet findDatatype (std::string const &i, bool throwifnotfound) const
 Raccourci pour chercher un Datatype dans le support, et qui le crée éventuellement à l'occasion, selon le réglage de l'opération. More...
 
iSet findConceptTypeById (std::string const &id, bool throwifnotfound) const
 Retourne l'iSet du type de concept dont l'identificateur (ConceptType::identifier()) est passé en paramètre. More...
 
iSet findConceptOrDataTypeById (std::string const &id) const
 Retourne l'iSet du type de concept ou de données dont l'identificateur (ConceptType::identifier()) est passé en paramètre. More...
 
iSet findRelationTypeById (std::string const &id, bool throwifnotfound) const
 Retourne l'iSet du type de relation dont l'identificateur (RelationType::identifier()) est passé en paramètre. More...
 
iSet findNestingTypeById (std::string const &id, bool throwifnotfound) const
 Retourne l'iSet du type d'emboîtement dont l'identificateur (NetingType::identifier()) est passé en paramètre. More...
 
iSet findIndividualById (std::string const &id, bool throwifnotfound) const
 Retourne l'iSet du marqueur individual dont l'identificateur (Individual::identifier()) est passé en paramètre. More...
 
void previouslyReadClear ()
 Efface la mémorisation des intitulés et identifiants déjà lus. More...
 
bool previouslyReadHas (bool id, std::string const &s) const
 Est-ce que que l'identifiant ou l'intitulé a déjà été lu. More...
 
void previouslyReadAdd (bool id, std::string const &s)
 Ajoute un identifiant ou un intitulé à l'ensemble des chaînes déjà lues. More...
 
bool previouslyReadAddVerify (bool id, std::string const &s)
 Ajoute un identifiant ou un intitulé si celui-ci ne figure pas déjà dans l'ensemble des chaînes déjà lues. More...
 
void previouslyReadInit (bool label, bool id, int s)
 Construit les structures de données prévues pour tester si un intitulé ou un identificateur a déjà été lu. More...
 
bool propertyAccept (Property::Type p, iSet sub=ISET_NULL) const
 La propriété doit-elle être acceptée. More...
 
bool propertyAccept (std::string p, iSet sub=ISET_NULL) const
 La propriété doit-elle être acceptée. More...
 
- Protected Member Functions inherited from cogitant::OperationIO
virtual Property::Type stringToPropertyType (std::string const &s, iSet *sub=NULL, std::string *nomprop=NULL) const
 Type de propriété représenté par une chaîne. More...
 
virtual std::string propertyTypeToString (Property::Type p, iSet sub=ISET_NULL) const
 Chaîne de caractères représentant une propriété. More...
 
void throwExceptionIO (std::string const &what, unsigned int code=0, unsigned int line=0)
 Levée d'une exception de type ExceptionIO. More...
 
- Protected Member Functions inherited from cogitant::Operation
void setProgress (unsigned int current, unsigned int max)
 Progression actuelle de l'opération. More...
 
- Protected Member Functions inherited from cogitant::ObservableObject
virtual ObserverSetallocObservers () const
 Fonction créant l'instance d'une sous classe de ObserverSet pour la représentation de l'ensemble des observateurs de l'objet. More...
 
ObserverSetobservers ()
 Accès à l'ensemble des observateurs. More...
 
- Protected Member Functions inherited from cogitant::CogitantObject
virtual PropertySetallocProperties () const
 Fonction créant l'instance d'une sous classe de PropertySet pour la représentation des propriétés de l'objet. More...
 

Friends

class ContentHandlerSelector
 

Additional Inherited Members

- Public Types inherited from cogitant::OperationBase
typedef unsigned int Error
 Résultat de la vérification des arguments d'une opération. More...
 
- Static Public Member Functions inherited from cogitant::OperationIO
static Property::Type stringToPropertyTypeDefault (const std::string &s)
 Type de propriété représenté par une chaîne (nom de stockage) Cette méthode (de classe) permet la correspondance entre types et chaînes pour les propriétés standard. More...
 
static std::string propertyTypeToStringDefault (Property::Type p)
 Chaîne de caractères (nom de stockage) représentant une propriété. More...
 
- Static Public Attributes inherited from cogitant::Operation
static const Error PROJBACKTRACKCHOICE_EMPTYLIST
 Impossible d'enlever un élément à une liste vide. More...
 
static const Error OBJECTTYPE
 Un (identifiant d') objet parmi les paramètres n'est pas du bon type. More...
 
static const Error WRONGEDGES
 Un graphe parmi les paramètres de l'opération possède des arêtes pendantes. More...
 
- Static Public Attributes inherited from cogitant::OperationBase
static const Error CHECKOK
 Pas d'erreur. More...
 
static const Error ARGUMENTS
 Certains paramètres de l'opération n'ont pas été fixés. More...
 
static const Error UNUSED
 Symbole d'erreur inutilisé. More...
 
- Protected Attributes inherited from cogitant::OperationInputXml
std::istream * i_stream
 Flux de lecture.
 
bool i_ignoreunknownelements
 Ignore les éléments inconnus.
 
std::string m_streamname
 Nom du flux.
 
XmlInput::IStreamXml const * m_streamxml
 Flux XML utilisé par l'opération de lecture XML (utilisé pour récupérer nom et position dans le flux en cas de levée d'exception).
 
- Protected Attributes inherited from cogitant::OperationInput
IStreamm_stream
 Flux de lecture.
 
bool i_support
 Lecture d'un support autorisée.
 
bool i_objects
 Lecture d'EnvironmentObject autorisée.
 
bool i_inenvironment
 Les objets lus sont-ils stockés dans l'environnement (true) ou dans le résultat de l'opération (false).
 
bool i_convertcgti
 Conversion des propriétés graphiques des fichiers générés par cgtinterface/CoGui.
 
bool i_graphobjectidentifiers
 Conservation des identificateurs des objets lus dans le fichier dans les graphes. More...
 
bool i_autocreatetypes
 Création automatique de types dans le support quand des graphes/règles/contraintes sont lus.
 
bool i_autocreateindividuals
 Création automatique de marqueurs individuels quand des graphes/règles/contraintes sont lus.
 
bool i_ignoreredeclarationindividuals
 Ignore les déclarations de marqueurs individuels existants.
 
iSet i_forcegraph
 Graphe destination des connaissances lues.
 
PropertySet::Filteri_propfilter
 Filtre pour la lecture de propriétés. More...
 
std::string i_baseids
 Base pour les identifiants relatifs. More...
 
std::vector< iSet > * io_resultenvironmentids
 Si les objets lus sont stockés dans l'environnement, contient en sortie les identificateurs des objets lus.
 
Set< EnvironmentObject * > * io_resultobjects
 Si les objets lus sont stockés dans le résultat de l'opération, contient en sortie des pointeurs vers les objets lus.
 
EnvironmentObjectm_object
 Objet (Graph ou Rule) en cours de lecture.
 
MapIdentISet m_formatid
 Correspondances identificateurs du format (CoGXML, BCGCT, etc.) - identificateurs internes à l'objet en cours de lecture. More...
 
std::set< std::string > m_previouslyreadlabels
 Intitulés (labels) déjà lus. More...
 
std::set< std::string > m_previouslyreadids
 Identificateurs déjà lus. More...
 
bool m_supportadd
 Est-ce que le support en cours de lecture est un ajout au support précédent ( true ) ou un nouveau support ( false ). More...
 
- Protected Attributes inherited from cogitant::OperationBase
bool m_stop
 Arrêt de l'exécution de l'opération demandé. More...
 
- Static Protected Attributes inherited from cogitant::OperationIO
static const char * c_standardproperties_label []
 
static const Property::Type c_standardproperties_id []
 

Detailed Description

Opération de chargement d'un fichier XML et de sélection d'opération en fonction du type de document.

Cette classe est utilisée pour gérer les fichiers rédigés en XML, dont l'extension (.xml par exemple) ne permet pas de détecter le format. Elle se charge de commencer l'analyse du fichier, puis passe la main à la sous-classe d'OperationInputXml gérant le format.

Constructor & Destructor Documentation

cogitant::OperationInputXmlSelector::OperationInputXmlSelector ( Environment env)

Constructeur.

Member Function Documentation

void cogitant::OperationInputXmlSelector::add ( std::string const &  root,
OperationInputXml ope 
)

Ajoute un format et une opération de chargement de ce format.

Warning
Les opérations ajoutées ici ne sont pas détruites par le destructeur.
Parameters
rootnom de l'élément racine du format.
opeopération prenant en compte le format.
void cogitant::OperationInputXmlSelector::addStandard ( OperationCoGXMLInput cogxml1,
OperationRdfsXmlInput rdfxml 
)

Ajoute les opérations de chargement des formats spécifiques.

Warning
Les opérations ajoutées ici ne sont pas détruites par le destructeur.
ExceptionInput* cogitant::OperationInputXmlSelector::createWarning ( unsigned int  code,
std::string const &  streamname,
unsigned int  line,
std::string const &  msg 
) const
protectedvirtual

Crée une exception non fatale.

Implements cogitant::OperationInput.

XmlInput::ContentHandler* cogitant::OperationInputXmlSelector::createXmlContentHandler ( )
protectedvirtual

Méthode devant créer une sous-classe de XmlInput::ContentHandler pour gérer le contenu du flux lu.

Implements cogitant::OperationInputXml.

OperationInputXml* cogitant::OperationInputXmlSelector::operationFor ( std::string const &  root,
std::string const &  formatname 
)
protected

Retourne l'opération gérant le format identifié par la racine passée et le nom de format passé.

void cogitant::OperationInputXmlSelector::runBegin ( XmlInput xi)
protectedvirtual

Méthode appelée au début de l'analyse (juste après la détection du format).

Par défaut, ne fait rien.

Reimplemented from cogitant::OperationInputXml.

void cogitant::OperationInputXmlSelector::selectOperation ( OperationInputXml ope)
protected

Sélectionne l'opération passée pour la suite du chargement .

void cogitant::OperationInputXmlSelector::setDoctype ( XmlDocument const &  doc,
XmlDocument::DoctypeDeclaration const *  dt 
)
protected

Méthode appelée par le ContentHandler et signalant à l'opération le DOCTYPE du document.

void cogitant::OperationInputXmlSelector::setRootElement ( XmlDocument const &  doc,
XmlDocument::Element const *  root 
)
protected

Méthode appelée par le ContentHandler et signalant à l'opération la racine du document.