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

Protected Member Functions | Protected Attributes | List of all members
cogitant::OperationCoGXMLOutput Class Reference

Opération de sortie de support/graphes au format CoGXML. More...

#include "cogitant/outputcogxml.h"

Inheritance diagram for cogitant::OperationCoGXMLOutput:
cogitant::OperationOutput cogitant::OperationIO cogitant::Operation cogitant::OperationBase cogitant::ObservableObject cogitant::CogitantObject

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
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...
 

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 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...
 

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< iSeti_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 []
 

Detailed Description

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.

#include <iostream>
using namespace cogitant;
int main(int, char* [])
{
env.readSupport("xml/bucolic/bucolic_id.cogxml");
env.writeSupport("bucolic_label.cogxml");
iSet g = env.readGraphs("xml/bucolic/fact_coref.cogxml");
env.writeGraph("fact_coref_label.cogxml", g);
return 0;
}


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">

#include <iostream>
using namespace cogitant;
int main(int, char* [])
{
cogxmloutput->properties()->set("encoding", "ISO-8859-1");
cogxmloutput->properties()->set("doctype", "cogxml SYSTEM \"my_dtd.dtd\"");
env.readSupport("xml/bucolic/bucolic_id.cogxml");
iSet g= env.readGraphs("xml/bucolic/fact_coref.cogxml");
env.writeGraph(std::cout, g, IOHandler::COGXML);
return 0;
}


See also
CoGXML Format.

Constructor & Destructor Documentation

cogitant::OperationCoGXMLOutput::OperationCoGXMLOutput ( Environment env)

Constructeur.

cogitant::OperationCoGXMLOutput::~OperationCoGXMLOutput ( )

Destructeur.

Member Function Documentation

std::string cogitant::OperationCoGXMLOutput::conceptIdentifier ( Graph const *  g,
iSet  idconcept 
)
protected

Retourne l'identificateur (à sortir dans le fichier) pour un sommet concept dans un graphe.

std::string cogitant::OperationCoGXMLOutput::conceptTypeIdentifier ( iSet  i)
protected

Retourne l'identificateur (à sortir dans le fichier) d'un type de concept.

bool cogitant::OperationCoGXMLOutput::hasSubProperties ( CogitantObject const *  o) const
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.

std::string cogitant::OperationCoGXMLOutput::individualIdentifier ( iSet  i)
protected

Retourne l'identificateur (à sortir dans le fichier) d'un marqueur individuel.

std::string cogitant::OperationCoGXMLOutput::internalGraphIdentifier ( Graph const *  g,
iSet  idig,
std::string const &  defaultname = "" 
)
protected

Retourne l'identificateur (à sortir dans le fichier) pour un graphe interne dans un graphe.

std::string cogitant::OperationCoGXMLOutput::nestingTypeIdentifier ( iSet  i)
protected

Retourne l'identificateur (à sortir dans le fichier) d'un type d'emboîtement.

std::string cogitant::OperationCoGXMLOutput::propertyTypeToString ( Property::Type  p,
iSet  sub 
) const
protectedvirtual

Chaîne de caractères représentant une propriété.

Par défaut, cette méthode appelle propertyTypeToStringDefault().

Returns
la chaîne représentant le type de propriété passé.

Reimplemented from cogitant::OperationIO.

std::string cogitant::OperationCoGXMLOutput::relationIdentifier ( Graph const *  g,
iSet  idconcept 
)
protected

Retourne l'identificateur (à sortir dans le fichier) pour un sommet relation dans un graphe.

std::string cogitant::OperationCoGXMLOutput::relationTypeIdentifier ( iSet  i)
protected

Retourne l'identificateur (à sortir dans le fichier) d'un type de relation.

bool cogitant::OperationCoGXMLOutput::writableProperty ( Property const &  p,
iSet  sub 
)
protectedvirtual

Écriture de la propriété de façon standard ou pas.

Reimplemented from cogitant::OperationOutput.

void cogitant::OperationCoGXMLOutput::writeBegin ( )
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.

void cogitant::OperationCoGXMLOutput::writeEnd ( )
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.

void cogitant::OperationCoGXMLOutput::writeInternalGraph ( Graph const *  g,
iSet  idinternalgraph,
std::string const &  graphname = "" 
)
protected

Écriture d'un graphe interne.

Parameters
gGraphe dont une partie doit être écrite.
idinternalgraphIdentificateur de l'InternalGraph de g qui doit être écrit.
graphnameLe 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.
void cogitant::OperationCoGXMLOutput::writeObject ( EnvironmentObject const *  g,
iSet  idgraph 
)
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.

Parameters
gl'objet à écrire.
idgraphidentifiant dans l'environnement de l'objet à écrire ou ISET_NULL si l'objet à écrire n'est pas dans l'environnement.

Reimplemented from cogitant::OperationOutput.

void cogitant::OperationCoGXMLOutput::writePropertiesBegin ( CogitantObject const *  o)
protectedvirtual

Écriture de l'entête des propriétés de o.

Reimplemented from cogitant::OperationOutput.

void cogitant::OperationCoGXMLOutput::writePropertiesEnd ( CogitantObject const *  o)
protectedvirtual

Écriture de la fin des propriétés de o.

Reimplemented from cogitant::OperationOutput.

void cogitant::OperationCoGXMLOutput::writePropertiesSeparatorConst ( )
protectedvirtual

Écriture d'un séparateur entre propriétés.

Reimplemented from cogitant::OperationOutput.

void cogitant::OperationCoGXMLOutput::writePropertiesType ( PropertySet const *  o,
iSet  i,
iSet  sub 
)
protectedvirtual

Écriture du type de la propriété.

Un éventuel séparateur type - valeur (: en BCGCT) est aussi écrit dans cette méthode.

Parameters
oensemble de propriétés.
subidentificateur du sous-ensemble de propriétés.
iest l'identificateur dans o de la propriété à écrire.

Reimplemented from cogitant::OperationOutput.

void cogitant::OperationCoGXMLOutput::writePropertiesValue ( PropertySet const *  o,
iSet  i 
)
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.

Parameters
oensemble de propriétés dont le type d'une propriété doit être écrit.
iest l'identificateur dans o de la propriété à écrire.
Precondition
la propriété doit pouvoir être écrite.

Reimplemented from cogitant::OperationOutput.

void cogitant::OperationCoGXMLOutput::writeString ( std::string const &  s,
bool  ident = false 
)
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.

void cogitant::OperationCoGXMLOutput::writeSubProperties ( CogitantObject const *  o,
bool  writetranslations = false 
)
protected

Écriture dans le flux des propriétés des sous-ensembles.

Parameters
oObject dont les sous-ensembles de propriétés doivent être écrits.
writetranslationsSi true commence par écrire les traductions (sinon, écrit tous les sous-ensembles de propriétés).
void cogitant::OperationCoGXMLOutput::writeSupport ( )
protectedvirtual

Écriture du support.

Cette méthode doit être concrétisée dans les sous classes concrètes.

Implements cogitant::OperationOutput.

Member Data Documentation

bool cogitant::OperationCoGXMLOutput::m_writeSubs
protected

Ecriture des propriétés contenue dans les sous-ensembles ou pas.