20 #ifndef GTXLWRITERXERCES_H_
21 #define GTXLWRITERXERCES_H_
23 #include "GTXLWriter.h"
24 #include <xercesc/dom/DOMElement.hpp>
49 virtual void writeGXL(vector<graphs::Hypergraph_sp>
const& graphs, boost::filesystem::path& filename)
const override;
51 virtual void writeGTXL(
graphs::GTS const& gts, boost::filesystem::path& filename)
const override;
83 IDType const& graphID)
const;
114 void writeRule(xercesc::DOMElement* gtxlRoot,
117 vector<unordered_set<IDType>>
const* leftUQids,
118 vector<unordered_set<IDType>>
const* rightUQids)
const;
171 XMLCh* xmlch_edgeids;
173 XMLCh* xmlch_hypergraph;
175 XMLCh* xmlch_edgemode;
176 XMLCh* xmlch_undirected;
187 XMLCh* xmlch_startorder;
194 XMLCh* xmlch_initial;
198 XMLCh* xmlch_rulegraph;
199 XMLCh* xmlch_mapping;
200 XMLCh* xmlch_mapelem;
203 XMLCh* xmlch_quantification;
string generateVertexID(const IDType &nodeID, const IDType &graphID) const
Generates a unique XML ID for a vertex of a graph.
Definition: GTXLWriterXerces.cpp:409
virtual void writeGXL(vector< graphs::Hypergraph_sp > const &graphs, boost::filesystem::path &filename) const override
This method takes a collection of Hypergraphs and stores the collection as a GXL XML-file with the gi...
Definition: GTXLWriterXerces.cpp:140
This class exports GXL or GTXL XML files by converting them from Hypergraph and GTS objects respectiv...
Definition: GTXLWriter.h:34
Represents the data structure for a rule including a unique identifier.
Definition: Rule.h:38
GTXLWriterXerces()
Creates a new GTXLWriterXerces object, which includes initialization of the Xerces framework...
Definition: GTXLWriterXerces.cpp:38
This class exports GXL or GTXL XML files by converting them from Hypergraph and GTS objects respectiv...
Definition: GTXLWriterXerces.h:34
AnonRule serves as a data structure of a rule object.
Definition: AnonRule.h:39
void writeUQRule(xercesc::DOMElement *gtxlRoot, graphs::UQRule const &rule) const
Takes a UQRule, converts it to a DOMElement and adds the resulting object as a child of the given DOM...
Definition: GTXLWriterXerces.cpp:271
A Hypergraph represents a graph with a unique identifier.
Definition: Hypergraph.h:35
string generateRightRulegraphID(const IDType &ruleID) const
Generates a unique XML ID for the right graph of a Rule.
Definition: GTXLWriterXerces.cpp:425
string generateGraphID(const IDType &graphID) const
Generates a unique XML ID for a Hypergraph.
Definition: GTXLWriterXerces.cpp:405
string generateEdgeID(const IDType &edgeID, const IDType &graphID) const
Generates a unique XML ID for an edge of a graph.
Definition: GTXLWriterXerces.cpp:413
string generateRuleID(const IDType &ruleID) const
Generates a unique XML ID for a Rule.
Definition: GTXLWriterXerces.cpp:417
An AnonHypergraph is a data structure storing a hypergraph.
Definition: AnonHypergraph.h:43
virtual ~GTXLWriterXerces()
Destroys the GTXLWriterXerces object.
Definition: GTXLWriterXerces.cpp:88
void writeRule(xercesc::DOMElement *gtxlRoot, graphs::AnonRule const &rule, IDType id, vector< unordered_set< IDType >> const *leftUQids, vector< unordered_set< IDType >> const *rightUQids) const
This function is a generalized implementation of writeStdRule(...) and writeUQRule(...).
Definition: GTXLWriterXerces.cpp:278
The GTS class is the data structure for a graph transformation system.
Definition: GTS.h:36
string generateLeftRulegraphID(const IDType &ruleID) const
Generates a unique XML ID for the left graph of a Rule.
Definition: GTXLWriterXerces.cpp:421
This class serves as data structure of a universally quantified rule.
Definition: UQRule.h:38
void writeStdRule(xercesc::DOMElement *gtxlRoot, graphs::Rule const &rule) const
Takes a Rule, converts it to a DOMElement and adds the resulting object as a child of the given DOMEl...
Definition: GTXLWriterXerces.cpp:267
virtual void writeGTXL(graphs::GTS const >s, boost::filesystem::path &filename) const override
This method takes a GTS object and stores it as a GTXL XML-file with the given filename.
Definition: GTXLWriterXerces.cpp:429
unsigned int IDType
IDType is an (unsigned) integer specifically used as an Identifier of graphs, elements of graphs or a...
Definition: globals.h:53
void writeHypergraph(xercesc::DOMElement *gxlRoot, graphs::Hypergraph const &graph) const
Takes a Hypergraph, converts it to a DOMElement and adds the resulting object as a child of the given...
Definition: GTXLWriterXerces.cpp:165