Opération de sortie de support/graphes au format CoGXML. More...
#include "cogitant/outputcogxml.h"
Public Member Functions | |
Constructeurs - destructeur. | |
OperationCoGXMLOutput (Environment *env) | |
Constructeur. More... | |
~OperationCoGXMLOutput () | |
Destructeur. More... | |
Public Member Functions inherited from cogitant::OperationOutput | |
Error | check () |
Vérification des paramètres. More... | |
void | run () |
Lancement de l'opération. More... | |
std::string | streamName () const |
Nom du flux. More... | |
OperationOutput (Environment *env) | |
Constructeur. More... | |
~OperationOutput () | |
Destructeur. More... | |
void | setParamStream (std::ostream *stream, std::string const &sn="") |
Flux d'entrée. More... | |
void | setParamWriteSupport (bool support) |
Ecriture du support (complet) dans le flux ou pas. More... | |
void | setParamSupportOutput (SupportOutput s) |
Ecriture d'une partie du support dans le flux. More... | |
SupportOutput | supportOutput () const |
void | setParamEnvironmentIds (std::vector< iSet > const *environmentids) |
void | setParamObjects (Set< EnvironmentObject *> const *graphs) |
void | setParamEncoding (Encoding::Type enc=Encoding::DEFAULT) |
Choix de l'encodage du flux de sortie. More... | |
void | setParamIndividuals (std::vector< iSet > const &ind) |
Choix des marqueurs individuels à sortir. More... | |
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 | |
Environment * | environment () 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... | |
PropertySet * | properties () |
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... | |
CogitantObject & | operator= (CogitantObject const &ob) |
Affectation. More... | |
Protected Member Functions | |
bool | hasSubProperties (CogitantObject const *o) const |
L'objet en question a t il des sous-ensembles de propriétés ? Il peut s'agir de sous-ensembles de propriétés "utilisateur" ou de traductions. More... | |
void | writeSubProperties (CogitantObject const *o, bool writetranslations=false) |
Écriture dans le flux des propriétés des sous-ensembles. More... | |
std::string | propertyTypeToString (Property::Type p, iSet sub) const |
Chaîne de caractères représentant une propriété. More... | |
void | writeSupport () |
Écriture du support. More... | |
void | writeObject (EnvironmentObject const *g, iSet idgraph) |
Écriture d'un objet de l'environnement (graphe ou règle). More... | |
void | writeBegin () |
Écriture du prologue de la sortie. More... | |
void | writeEnd () |
Écriture de la fin de sortie. More... | |
void | writeString (std::string const &s, bool ident=false) |
Écriture d'une chaîne autre qu'un mot clef du format de sortie. More... | |
void | writePropertiesBegin (CogitantObject const *o) |
Écriture de l'entête des propriétés de o. More... | |
void | writePropertiesEnd (CogitantObject const *o) |
Écriture de la fin des propriétés de o. More... | |
void | writePropertiesSeparatorConst () |
Écriture d'un séparateur entre propriétés. More... | |
void | writePropertiesType (PropertySet const *o, iSet i, iSet sub) |
Écriture du type de la propriété. More... | |
void | writePropertiesValue (PropertySet const *o, iSet i) |
Écriture du type de la propriété. More... | |
bool | writableProperty (Property const &p, iSet sub) |
Écriture de la propriété de façon standard ou pas. More... | |
void | writeCoupleOfLambdas (CoupleOfLambdas const *g, iSet idgraph) |
Écriture d'une règle. | |
void | writeSupportConceptTypes () |
Écriture de l'ensemble ordonné des types de concepts. | |
void | writeSupportRelationTypes () |
Écriture de l'ensemble ordonné des types de relations. | |
void | writeSupportNestingTypes () |
Écriture de l'ensemble ordonné des types d'emboîtements. | |
void | writeSupportIndividual (iSet i) |
Ecriture d'un marqueur individuel. | |
void | writeSupportIndividuals () |
Écriture de l'ensemble des marqueurs individuels. | |
void | writeSupportBannedTypes () |
Ecriture de l'ensemble des types bannis. | |
void | writeInternalGraph (Graph const *g, iSet idinternalgraph, std::string const &graphname="") |
Écriture d'un graphe interne. More... | |
void | writeConcept (Graph const *g, iSet idconcept) |
Écriture d'un sommet concept (et de ses emboîtements) | |
void | writeRelation (Graph const *g, iSet idrelation) |
Écriture d'un sommet relation. | |
void | writeEdges (Graph const *g, iSet idrelation) |
Écriture des arêtes du sommet relation. | |
std::string | conceptTypeIdentifier (iSet i) |
Retourne l'identificateur (à sortir dans le fichier) d'un type de concept. More... | |
std::string | relationTypeIdentifier (iSet i) |
Retourne l'identificateur (à sortir dans le fichier) d'un type de relation. More... | |
std::string | nestingTypeIdentifier (iSet i) |
Retourne l'identificateur (à sortir dans le fichier) d'un type d'emboîtement. More... | |
std::string | individualIdentifier (iSet i) |
Retourne l'identificateur (à sortir dans le fichier) d'un marqueur individuel. More... | |
std::string | conceptIdentifier (Graph const *g, iSet idconcept) |
Retourne l'identificateur (à sortir dans le fichier) pour un sommet concept dans un graphe. More... | |
std::string | relationIdentifier (Graph const *g, iSet idconcept) |
Retourne l'identificateur (à sortir dans le fichier) pour un sommet relation dans un graphe. More... | |
std::string | internalGraphIdentifier (Graph const *g, iSet idig, std::string const &defaultname="") |
Retourne l'identificateur (à sortir dans le fichier) pour un graphe interne dans un graphe. More... | |
Protected Member Functions inherited from cogitant::OperationOutput | |
virtual bool | writeProperties (CogitantObject const *o, bool writebegin=true) |
Écriture des propriétés de l'objet. More... | |
virtual bool | writePropertiesSeparator (PropertySet const *o, iSet i, iSet sub) |
Écriture d'un séparateur entre les propriétés de o. More... | |
virtual bool | isSeparator (wchar_t c) |
Le caractère est-il un séparateur dans le format. More... | |
void | writeTabs () |
Écriture du retrait (tabulations). More... | |
void | tabsInc () |
Ajout d'une tabulation. More... | |
void | tabsDec () |
Retrait d'une tabulation. More... | |
virtual void | writeAsIs (unsigned char c) |
Écriture d'un caractère dans le flux de sortie. More... | |
virtual void | writeAsIs (std::string const &s) |
Écriture d'une chaîne dans le flux de sortie. More... | |
virtual void | writeStringEscape (std::string const &s) |
Écriture d'une chaîne autre avec des caractères d'échappement. More... | |
virtual bool | writeStringEscapeSpecial (wchar_t c) |
Caractère spécial qui doit être préfixé d'un caractère d'échappement. More... | |
virtual void | writeCR () |
Écriture d'un passage à la ligne dans le flux de sortie. 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... | |
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 ObserverSet * | allocObservers () 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... | |
ObserverSet & | observers () |
Accès à l'ensemble des observateurs. More... | |
Protected Member Functions inherited from cogitant::CogitantObject | |
virtual PropertySet * | allocProperties () const |
Fonction créant l'instance d'une sous classe de PropertySet pour la représentation des propriétés de l'objet. More... | |
Protected Attributes | |
bool | m_writeSubs |
Ecriture des propriétés contenue dans les sous-ensembles ou pas. More... | |
Protected Attributes inherited from cogitant::OperationOutput | |
std::ostream * | i_stream |
Flux d'écriture. | |
std::string | i_streamname |
Nom du flux de sortie. | |
SupportOutput | i_support |
Écriture du support true ou seulement d'objets false. | |
std::vector< iSet > const * | i_environmentids |
Contient en entrée les identificateurs (dans l'environnement) des objets à écrire. More... | |
Set< EnvironmentObject * > const * | i_objects |
Contient en entrée des pointeurs vers les objets à écrire. More... | |
Encoding::Type | i_encoding |
Encodage de la sortie. More... | |
std::vector< iSet > | i_individuals |
Contient en entrée les identificateurs des marqueurs individuels à écrire. More... | |
unsigned int | m_tabs |
Nombre de retraits (tabulations) pour la ligne en cours. | |
Protected Attributes inherited from cogitant::OperationBase | |
bool | m_stop |
Arrêt de l'exécution de l'opération demandé. More... | |
Additional Inherited Members | |
Public Types inherited from cogitant::OperationOutput | |
typedef unsigned char | SupportOutput |
Configuration de la sortie du support;. | |
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::OperationOutput | |
static const SupportOutput | SO_NONE |
Aucune sortie du support. | |
static const SupportOutput | SO_CTYPES |
Sortie de l'ensemble des types de concepts. | |
static const SupportOutput | SO_RTYPES |
Sortie de l'ensemble des types de relations. | |
static const SupportOutput | SO_NTYPES |
Sortie de l'ensemble des types d'emboîtements. | |
static const SupportOutput | SO_INDIVIDUALS |
Sortie de l'ensemble des marqueurs individuels. | |
static const SupportOutput | SO_BANNEDTYPES |
Sortie de l'ensemble des types bannis. | |
static const SupportOutput | SO_ALL |
Sortie de la totalité du support. | |
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... | |
Static Protected Attributes inherited from cogitant::OperationIO | |
static const char * | c_standardproperties_label [] |
static const Property::Type | c_standardproperties_id [] |
Opération de sortie de support/graphes au format CoGXML.
Selon la valeur de la propriété Property::FILE_COGXML_USELABEL de l'objet, des identificateurs ou les intitulés (des types de concepts, de relations, d'emboîtements, des marqueurs individuels) sont utilisés pour repérer les objets. Il est possible de modifier la valeur de cette propriété pour forcer la création de fichiers contenant les intitulés (plutot que des identificateurs, utilisés par défaut).
Exemple. Le programme ci-dessous illustre la façon de modifier la valeur de la propriété Property::FILE_COGXML_USELABEL, charge un support et un graphe et sauvegarde ce support et ce graphe dans deux fichiers CoGXML utilisant les intitulés.
DTD et table de caractères. Par défaut, dans le document XML créé, aucune référence à une table de caractères n'est présente (attribut encoding de la balise xml). Il est possible de forcer l'utilisation d'une table de caractères en modifiant la propriété "encoding"
de l'instance de OperationCoGXMLOutput. De la même façon, le document créé contient une référence à la DTD CoGXML (<!DOCTYPE CoGXML PUBLIC "-//COGITANT//CoGXML Format Specification 1.1//EN" "http://cogitant.sourceforge.net/cogxml.dtd">
). Il est possible de forcer l'utilisation d'une autre DTD en modifiant la propriété "doctype"
de l'opération. L'exemple ci-dessous génère la forme CoGXML d'un graphe, avec l'entête suivante : <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE cogxml SYSTEM "my_dtd.dtd">
cogitant::OperationCoGXMLOutput::OperationCoGXMLOutput | ( | Environment * | env | ) |
Constructeur.
cogitant::OperationCoGXMLOutput::~OperationCoGXMLOutput | ( | ) |
Destructeur.
|
protected |
Retourne l'identificateur (à sortir dans le fichier) pour un sommet concept dans un graphe.
|
protected |
Retourne l'identificateur (à sortir dans le fichier) d'un type de concept.
|
protected |
L'objet en question a t il des sous-ensembles de propriétés ? Il peut s'agir de sous-ensembles de propriétés "utilisateur" ou de traductions.
|
protected |
Retourne l'identificateur (à sortir dans le fichier) d'un marqueur individuel.
|
protected |
Retourne l'identificateur (à sortir dans le fichier) pour un graphe interne dans un graphe.
|
protected |
Retourne l'identificateur (à sortir dans le fichier) d'un type d'emboîtement.
|
protectedvirtual |
Chaîne de caractères représentant une propriété.
Par défaut, cette méthode appelle propertyTypeToStringDefault().
Reimplemented from cogitant::OperationIO.
|
protected |
Retourne l'identificateur (à sortir dans le fichier) pour un sommet relation dans un graphe.
|
protected |
Retourne l'identificateur (à sortir dans le fichier) d'un type de relation.
|
protectedvirtual |
Écriture de la propriété de façon standard ou pas.
Reimplemented from cogitant::OperationOutput.
|
protectedvirtual |
Écriture du prologue de la sortie.
Cette méthode est appelée avant tout écriture. Si cette méthode n'est pas redéfinie dans la sous classe, aucune opération particulière n'est effectuée pour le prologue de l'écriture.
Reimplemented from cogitant::OperationOutput.
|
protectedvirtual |
Écriture de la fin de sortie.
Cette méthode est appelée après l'écriture. Si cette méthode n'est pas redéfinie dans la sous classe, aucune opération particulière n'est effectuée pour la fin de l'écriture.
Reimplemented from cogitant::OperationOutput.
|
protected |
Écriture d'un graphe interne.
g | Graphe dont une partie doit être écrite. |
idinternalgraph | Identificateur de l'InternalGraph de g qui doit être écrit. |
graphname | Le nom du graphe (Property::GRAPH_NAME) est utilisé pour nommer le graphe dans le fichier. Si le graphe a écrire n'a pas cette propriété, et qu'il s'agit de l'InternalGraph de niveau 0, graphname est utilisé pour nommer le graphe. Dans le cas d'un InternalGraph de niveau >= 1, la valeur de l'identificateur de l'InternalGraph est utilisée pour nommer le graphe. |
|
protectedvirtual |
Écriture d'un objet de l'environnement (graphe ou règle).
Cette méthode doit être redéfinie dans les sous classes concrètes.
g | l'objet à écrire. |
idgraph | identifiant dans l'environnement de l'objet à écrire ou ISET_NULL si l'objet à écrire n'est pas dans l'environnement. |
Reimplemented from cogitant::OperationOutput.
|
protectedvirtual |
Écriture de l'entête des propriétés de o.
Reimplemented from cogitant::OperationOutput.
|
protectedvirtual |
Écriture de la fin des propriétés de o.
Reimplemented from cogitant::OperationOutput.
|
protectedvirtual |
Écriture d'un séparateur entre propriétés.
Reimplemented from cogitant::OperationOutput.
|
protectedvirtual |
Écriture du type de la propriété.
Un éventuel séparateur type - valeur (: en BCGCT) est aussi écrit dans cette méthode.
o | ensemble de propriétés. |
sub | identificateur du sous-ensemble de propriétés. |
i | est l'identificateur dans o de la propriété à écrire. |
Reimplemented from cogitant::OperationOutput.
|
protectedvirtual |
Écriture du type de la propriété.
Un éventuel séparateur entre couples type - valeur (; en BCGCT) ne doit pas être écrit dans cette méthode mais dans writePropertiesSeparator(). Pour la sortie BCGCT le une valeur de type Property::VT_VECTORISET est considérée comme un tableau d'identificateurs de types de concepts.
o | ensemble de propriétés dont le type d'une propriété doit être écrit. |
i | est l'identificateur dans o de la propriété à écrire. |
Reimplemented from cogitant::OperationOutput.
|
protectedvirtual |
Écriture d'une chaîne autre qu'un mot clef du format de sortie.
Les mots clefs sont sortis "tels quels" (writeAsIs()) mais il peut être nécessaire pour les chaînes (intitulés des types, commentaires, propriétés diverses, etc.) de les faire transiter par cette méthode qui sort des caractères d'échappement, entoure la chaîne de guillemets, etc. Si la méthode n'est pas redéfinie dans la sous-classe, la chaîne s est sortie entre guillemets si elle contient des caractères spéciaux. Si ident vaut true, la chaîne s est considérée comme un identificateur, dans ce cas, elle peut être sortie différemment selon le format (en BCGCT, un identificateur commençant par un chiffre est sorti entre guillemets).
Reimplemented from cogitant::OperationOutput.
|
protected |
Écriture dans le flux des propriétés des sous-ensembles.
o | Object dont les sous-ensembles de propriétés doivent être écrits. |
writetranslations | Si true commence par écrire les traductions (sinon, écrit tous les sous-ensembles de propriétés). |
|
protectedvirtual |
Écriture du support.
Cette méthode doit être concrétisée dans les sous classes concrètes.
Implements cogitant::OperationOutput.
|
protected |
Ecriture des propriétés contenue dans les sous-ensembles ou pas.