bpmn++
A BPMN parser library, written in C++
XML Namespace Reference

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

Namespaces

 bpmn
 The XML::bpmn namespace contains classes from the following XML-schema(s): xsd/DC.xsd, xsd/DI.xsd, xsd/BPMNDI.xsd, xsd/Semantic.xsd, xsd/BPMN20.xsd.
 

Classes

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

Typedefs

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

Functions

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

Typedef Documentation

◆ AttributeName

typedef std::string XML::AttributeName

Definition at line 25 of file XMLObject.h.

◆ Attributes

typedef std::vector<Attribute> XML::Attributes

Definition at line 80 of file XMLObject.h.

◆ Children

typedef std::vector<std::unique_ptr<XMLObject> > XML::Children

Definition at line 81 of file XMLObject.h.

◆ ClassName

typedef std::string XML::ClassName

Definition at line 21 of file XMLObject.h.

◆ ElementName

typedef std::string XML::ElementName

Definition at line 22 of file XMLObject.h.

◆ Factory

typedef std::unordered_map<ElementName, XMLObject* (*)(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element)> XML::Factory

Definition at line 87 of file XMLObject.h.

◆ Namespace

typedef std::string XML::Namespace

Definition at line 24 of file XMLObject.h.

◆ TextContent

typedef std::string XML::TextContent

Definition at line 23 of file XMLObject.h.

Function Documentation

◆ createInstance()

template<typename T >
XMLObject* XML::createInstance ( const Namespace xmlns,
const ClassName className,
const xercesc::DOMElement *  element 
)

Definition at line 84 of file XMLObject.h.

◆ operator<<() [1/2]

std::ostream & XML::operator<< ( std::ostream &  os,
const XMLObject obj 
)

Definition at line 254 of file XMLObject.cpp.

◆ operator<<() [2/2]

std::ostream & XML::operator<< ( std::ostream &  os,
const XMLObject obj 
)

Definition at line 249 of file XMLObject.cpp.

◆ transcode()

std::string XML::transcode ( const XMLCh *  xmlChStr)

Definition at line 36 of file XMLObject.cpp.