bpmn++
A BPMN parser library, written in C++
XMLObject.h File Reference
#include <memory>
#include <sstream>
#include <string>
#include <string_view>
#include <unordered_map>
#include <vector>
#include <optional>
#include <xercesc/dom/DOM.hpp>

Go to the source code of this file.

Classes

struct  XML::Value
 A struct representing the value of an XML-node attribute. More...
 
struct  XML::Attribute
 A struct representing an attribute of an XML-node. More...
 
class  XML::XMLObject
 A class representing a node in an XML-tree. More...
 

Namespaces

 XML
 The XML namespace contains classes representing XML-nodes defined in given XML-schema(s).
 

Typedefs

typedef std::string XML::ClassName
 
typedef std::string XML::ElementName
 
typedef std::string XML::TextContent
 
typedef std::string XML::Namespace
 
typedef std::string XML::AttributeName
 
typedef std::vector< Attribute > XML::Attributes
 
typedef std::vector< std::unique_ptr< XMLObject > > XML::Children
 
typedef std::unordered_map< ElementName, XMLObject *(*)(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)> XML::Factory
 Factory used to create instance depending on element name. More...
 

Functions

template<typename T >
XMLObject * XML::createInstance (const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
 Template function used to store in factory. More...
 
std::ostream & XML::operator<< (std::ostream &os, const XMLObject *obj)
 Allows printing of stringified XML object. More...
 
std::ostream & XML::operator<< (std::ostream &os, const XMLObject &obj)
 Allows printing of stringified XML object. More...