BPMN-OS
BPMN for optimization and simulation
Loading...
Searching...
No Matches
bpmn++.h
Go to the documentation of this file.
1// Automatically generated single header file
2// schematic++ v0.4.0
3#ifndef XMLObject_H
4#define XMLObject_H
5#include <memory>
6#include <sstream>
7#include <string>
8#include <string_view>
9#include <unordered_map>
10#include <vector>
11#include <optional>
12
13#include <xercesc/dom/DOM.hpp>
14
15/**
16 * @brief The `XML` namespace contains classes representing XML-nodes defined in given XML-schema(s).
17 */
18namespace XML {
19
20class XMLObject;
21
22typedef std::string ClassName;
23typedef std::string ElementName;
24typedef std::string TextContent;
25typedef std::string Namespace;
26typedef std::string AttributeName;
27
28/**
29 * @brief A struct representing the value of an XML-node attribute.
30 *
31 * The Value struct stores a value and provides implicit conversion and assignment operators
32 * to facilitate easy conversion between different types and convenient assignment
33 * of values.
34 *
35 * Example usage:
36 * ```
37 * Value value;
38 * value = std::to_string("a_string"); // Assignment using a std::string.
39 * value = true; // Assignment using a bool.
40 * value = 42; // Assignment using an int.
41 * value = 3.14; // Assignment using a double.
42 *
43 * std::string stringValue = value; // Implicit conversion to std::string.
44 * bool booleanValue = value; // Implicit conversion to bool.
45 * int integerValue = value; // Implicit conversion to int.
46 * double realValue = value; // Implicit conversion to double.
47 * ```
48 */
49struct Value {
50 std::string value;
51 operator std::string_view() const { return value; };
52 operator std::string() const { return value; };
53 operator bool() const { return (value == True); };
54 operator int() const { try { return std::stoi(value); } catch(...) { throw std::runtime_error("Cannot convert '" + value + "' to int"); } };
55 operator double() const { try { return std::stod(value); } catch(...) { throw std::runtime_error("Cannot convert '" + value + "' to double"); } };
56 Value& operator=(const std::string& s) { value = s; return *this; };
57 Value& operator=(bool b) { value = (b ? True : False); return *this; };
58 Value& operator=(int i) { value = std::to_string(i); return *this; };
59 Value& operator=(double d) { value = std::to_string(d); return *this; };
60 Value(const std::string& s) : value(s) {};
61 Value(bool b) : value(b ? True : False) {};
62 Value(int i) : value(std::to_string(i)) {};
63 Value(double d) : value(std::to_string(d)) {};
64 inline static std::string True = "true";
65 inline static std::string False = "false";
66};
67
68/**
69 * @brief A struct representing an attribute of an XML-node.
70 *
71 * The `Attribute` struct stores information about the namespace, prefix, name, and
72 * value of the attribute.
73 */
74struct Attribute {
79};
80
81typedef std::vector<Attribute> Attributes;
82typedef std::vector<std::unique_ptr<XMLObject>> Children;
83
84/// @brief Template function used to store in factory
85template<typename T> XMLObject* createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element) { return new T(xmlns, className, element, T::defaults); }
86
87/// @brief Factory used to create instance depending on element name
88typedef std::unordered_map<ElementName, XMLObject* (*)(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element)> Factory;
89
90
91/**
92 * @brief A class representing a node in an XML-tree.
93 *
94 * The XMLObject class allows to read and store an XML-tree. The root element can be created using
95 * - @ref XMLObject::createFromStream(std::istream& xmlStream)
96 * - @ref XMLObject::createFromString(const std::string& xmlString)
97 * - @ref XMLObject::createFromFile(const std::string& filename)
98 *
99 * Each object has the following members:
100 * - @ref xmlns : refers to the XML namespace
101 * - @ref className : refers to the class it belong to
102 * - @ref elementName : refers to the name used in the XML
103 * - @ref prefix : refers to the namespace prefix in the XML
104 * - @ref textContent : textual content of XML element without children
105 * - @ref attributes : a list of attributes containing the namespace, prefix, attribute name,
106 * and attribute value
107 * - @ref children : a list of child elements
108 *
109 * Derived classes with dedicated members for attributes and children are automatically generated by
110 * schematic++ according to respective XML schema definition(s).
111 *
112 * Each XMLObject can be converted to a string using @ref stringify() and printed to an output stream
113 * using @ref operator<<(std::ostream& os, const XMLObject* obj) and
114 * @ref operator<<(std::ostream& os, const XMLObject& obj) .
115 */
116class XMLObject {
117
118public:
119 /**
120 * @brief Create an XMLObject from the input stream.
121 *
122 * @param xmlStream The input stream containing the XML data.
123 * @return A pointer to the created XMLObject.
124 * @throws std::runtime_error if parsing the XML fails.
125 */
126 static XMLObject* createFromStream(std::istream& xmlStream);
127
128 /**
129 * @brief Create an XMLObject from a string representation of XML.
130 *
131 * @param xmlString The string containing the XML data.
132 * @return A pointer to the created XMLObject.
133 * @throws std::runtime_error if parsing the XML fails.
134 */
135 static XMLObject* createFromString(const std::string& xmlString);
136
137 /**
138 * @brief Create an XMLObject from an XML file.
139 *
140 * @param filename The path to the XML file.
141 * @return A pointer to the created XMLObject.
142 * @throws std::runtime_error if loading the file or parsing the XML fails.
143 */
144 static XMLObject* createFromFile(const std::string& filename);
145
146 virtual ~XMLObject() {};
147
148protected:
149 static XMLObject* createObject(const xercesc::DOMElement* element);
150
151template<typename T> friend XMLObject* createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
152
153protected:
154 XMLObject(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
155
156 inline static Factory factory;
157public:
158 /// @brief Returns a pointer of type T of the object.
159 template<typename T> inline T* is() {
160 return dynamic_cast<T*>(this);
161 }
162
163 template<typename T> inline const T* is() const {
164 return dynamic_cast<const T*>(this);
165 }
166
167 /**
168 * @brief Attempt to cast the current instance to the specified type T.
169 * @return A pointer to the casted object.
170 * @throws std::runtime_error if the cast fails.
171 */
172 template<typename T> inline T* get() {
173 T* ptr = dynamic_cast<T*>(this);
174 if ( ptr == nullptr ) {
175 throw std::runtime_error("XMLObject: Illegal cast");
176 }
177 return ptr;
178 }
179
180 /**
181 * @brief Attempt to cast the current instance to the specified type T.
182 * @return A pointer to the casted object.
183 * @throws std::runtime_error if the cast fails.
184 */
185 template<typename T> inline const T* get() const {
186 const T* ptr = dynamic_cast<const T*>(this);
187 if ( ptr == nullptr ) {
188 throw std::runtime_error("XMLObject: Illegal cast");
189 }
190 return ptr;
191 }
192
193private:
194 template<typename T>
195 void findRecursive(std::vector<std::reference_wrapper<T> >& result, const Children& descendants)
196 {
197 for (auto& descendant : descendants) {
198 if (descendant->is<T>()) {
199 result.push_back(*descendant->get<T>());
200 }
201 findRecursive(result, descendant->children );
202 }
203 }
204
205 template<typename T>
206 void findRecursive(std::vector<std::reference_wrapper<const T> >& result, const Children& descendants) const
207 {
208 for (auto& descendant : descendants) {
209 if (descendant->is<const T>()) {
210 result.push_back(*descendant->get<const T>());
211 }
212 findRecursive(result, descendant->children );
213 }
214 }
215
216public:
217 /**
218 * @brief Find all descendants of type T.
219 *
220 * @return A vector of references to descendants of type T.
221 */
222 template<typename T>
223 std::vector<std::reference_wrapper<T> > find()
224 {
225 std::vector<std::reference_wrapper<T> > result;
226 findRecursive(result, children);
227 return result;
228 }
229
230 /**
231 * @brief Find all descendants of type T.
232 *
233 * @return A vector of const references to descendants of type T.
234 */
235 template<typename T>
236 std::vector<std::reference_wrapper<const T> > find() const
237 {
238 std::vector<std::reference_wrapper<const T> > result;
239 findRecursive(result, children);
240 return result;
241 }
242
247
248 TextContent textContent; ///< Textual content of XML element without children
249 Children children; ///< Child nodes of the XML element
250 Attributes attributes; /// Attributes of the XML element
251 inline static const Attributes defaults = {};
252
253 /**
254 * @brief Convert the XMLObject and its children to a string representation.
255 *
256 * @return The string representation of the XMLObject.
257 */
258 std::string stringify() const;
259
260 /**
261 * @brief Creates formated string representing the XMLObject including its children.
262 *
263 * @return A formated string representing the XMLObject.
264 */
265 std::string format(std::string indentation = "\t", unsigned int depth = 0) const;
266
267 /**
268 * @brief Get a required child of type T.
269 *
270 * @return A reference to the required child.
271 * @throws std::runtime_error if the required child is not found.
272 */
273 template<typename T> T& getRequiredChild() {
274 for ( auto& child : children ) {
275 if ( child->is<T>() ) {
276 return *child->get<T>();
277 }
278 }
279 throw std::runtime_error("Failed to get required child of element '" + elementName + "'");
280 }
281
282 /**
283 * @brief Get an optional child of type T.
284 *
285 * @return An optional containing a reference to the optional child if found,
286 * or `std::nullopt` if the optional child is not found.
287 */
288 template<typename T> std::optional< std::reference_wrapper<T> > getOptionalChild() {
289 for ( auto& child : children ) {
290 if ( child->is<T>() ) {
291 return *child->get<T>();
292 }
293 }
294 return std::nullopt;
295 }
296
297 /**
298 * @brief Get all children of type T.
299 *
300 * @return A vector of references to the children of type T.
301 */
302 template<typename T> std::vector< std::reference_wrapper<T> > getChildren() {
303 std::vector< std::reference_wrapper<T> > result;
304 for ( auto& child : children ) {
305 if ( child->is<T>() ) {
306 result.push_back(*child->get<T>());
307 }
308 }
309 return result;
310 }
311
312 /**
313 * @brief Get a required child with the specified element name.
314 *
315 * @param elementName The name of the child element without namespace prefix.
316 * @return A reference to the required child.
317 * @throws std::runtime_error if the required child is not found.
318 */
320
321 /**
322 * @brief Get the optional child with the specified element name.
323 *
324 * @param elementName The name of the child element without namespace prefix.
325 * @return An optional containing a reference to the optional child if found,
326 * or `std::nullopt` if the optional child is not found.
327 */
328 std::optional< std::reference_wrapper<XMLObject> > getOptionalChildByName(const ElementName& elementName);
329
330 /**
331 * @brief Get all children with the specified element name.
332 *
333 * @param elementName The name of the child elements without namespace prefix.
334 * @return A vector of references to the children with the specified element name.
335 */
336 std::vector< std::reference_wrapper<XMLObject> > getChildrenByName(const ElementName& elementName);
337
338 /**
339 * @brief Get a required attribute with the specified attribute name.
340 *
341 * @param attributeName The name of the attribute without namespace prefix.
342 * @return A reference to the required attribute.
343 * @throws std::runtime_error if the required attribute is not found.
344 */
346
347 /**
348 * @brief Get an optional attribute with the specified attribute name.
349 *
350 * @param attributeName The name of the attribute without namespace prefix.
351 * @return An optional containing a reference to the optional attribute if found,
352 * or `std::nullopt` if the optional attribute is not found.
353 */
354 std::optional< std::reference_wrapper<Attribute> > getOptionalAttributeByName(const AttributeName& attributeName);
355
356
357};
358
359/// @brief Allows printing of stringified XML object
360std::ostream& operator<<(std::ostream& os, const XMLObject* obj);
361/// @brief Allows printing of stringified XML object
362std::ostream& operator<<(std::ostream& os, const XMLObject& obj);
363
364} // end namespace XML
365
366#endif // XML_H
367#ifndef XML_bpmn_tBaseElement_H
368#define XML_bpmn_tBaseElement_H
369#include <memory>
370#include <optional>
371#include <vector>
372
373
374/**
375 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
376 */
377namespace XML::bpmn {
378
379class tDocumentation;
381
382/**
383 * Overview:
384 * - Element name: tBaseElement
385 * - XML-Schema: xsd/Semantic.xsd
386 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
387 *
388 * Members:
389 * - documentation : tDocumentation [0..*]
390 * - extensionElements : tExtensionElements [0..1]
391 * - id : ID [0..1]
392 *
393 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
394 */
395class tBaseElement : public XMLObject {
396 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
397private:
398 static bool registerClass() {
399 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tBaseElement"] = &createInstance<tBaseElement>; // register function in factory
400 return true;
401 };
402 inline static bool registered = registerClass();
403protected:
404 tBaseElement(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
405
406 friend class tLane;
407
408public:
409 /// default attributes to be used if they are not explicitly provided
410 inline static const Attributes defaults = {
411 };
412
413 std::vector< std::reference_wrapper<tDocumentation> > documentation;
414 std::optional< std::reference_wrapper<tExtensionElements> > extensionElements;
415 std::optional< std::reference_wrapper<Attribute> > id; ///< Attribute value can be expected to be of type 'std::string'
416};
417
418} // namespace XML::bpmn
419
420#endif // XML_bpmn_tBaseElement_H
421#ifndef XML_bpmn_baseElement_H
422#define XML_bpmn_baseElement_H
423#include <memory>
424#include <optional>
425#include <vector>
426
427
428/**
429 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
430 */
431namespace XML::bpmn {
432
433/**
434 * Overview:
435 * - Element name: baseElement
436 * - XML-Schema: xsd/Semantic.xsd
437 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
438 *
439 * Members:
440 * - documentation : tDocumentation [0..*] (from: tBaseElement)
441 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
442 * - id : ID [0..1] (from: tBaseElement)
443 *
444 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
445 */
446class baseElement : public tBaseElement {
447 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
448private:
449 static bool registerClass() {
450 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:baseElement"] = &createInstance<baseElement>; // register function in factory
451 return true;
452 };
453 inline static bool registered = registerClass();
454protected:
455 baseElement(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
456
457public:
458 /// default attributes to be used if they are not explicitly provided
459 inline static const Attributes defaults = {
460 };
461
462};
463
464} // namespace XML::bpmn
465
466#endif // XML_bpmn_baseElement_H
467#ifndef XML_bpmn_tArtifact_H
468#define XML_bpmn_tArtifact_H
469#include <memory>
470#include <optional>
471#include <vector>
472
473
474/**
475 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
476 */
477namespace XML::bpmn {
478
479/**
480 * Overview:
481 * - Element name: tArtifact
482 * - XML-Schema: xsd/Semantic.xsd
483 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
484 *
485 * Members:
486 * - documentation : tDocumentation [0..*] (from: tBaseElement)
487 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
488 * - id : ID [0..1] (from: tBaseElement)
489 *
490 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
491 */
492class tArtifact : public tBaseElement {
493 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
494private:
495 static bool registerClass() {
496 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tArtifact"] = &createInstance<tArtifact>; // register function in factory
497 return true;
498 };
499 inline static bool registered = registerClass();
500protected:
501 tArtifact(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
502
503 friend class tCollaboration;
504 friend class tProcess;
505 friend class tSubChoreography;
506 friend class tSubProcess;
507
508public:
509 /// default attributes to be used if they are not explicitly provided
510 inline static const Attributes defaults = {
511 };
512
513};
514
515} // namespace XML::bpmn
516
517#endif // XML_bpmn_tArtifact_H
518#ifndef XML_bpmn_artifact_H
519#define XML_bpmn_artifact_H
520#include <memory>
521#include <optional>
522#include <vector>
523
524
525/**
526 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
527 */
528namespace XML::bpmn {
529
530/**
531 * Overview:
532 * - Element name: artifact
533 * - XML-Schema: xsd/Semantic.xsd
534 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
535 *
536 * Members:
537 * - documentation : tDocumentation [0..*] (from: tBaseElement)
538 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
539 * - id : ID [0..1] (from: tBaseElement)
540 *
541 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
542 */
543class artifact : public tArtifact {
544 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
545private:
546 static bool registerClass() {
547 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:artifact"] = &createInstance<artifact>; // register function in factory
548 return true;
549 };
550 inline static bool registered = registerClass();
551protected:
552 artifact(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
553
554public:
555 /// default attributes to be used if they are not explicitly provided
556 inline static const Attributes defaults = {
557 };
558
559};
560
561} // namespace XML::bpmn
562
563#endif // XML_bpmn_artifact_H
564#ifndef XML_bpmn_tAssignment_H
565#define XML_bpmn_tAssignment_H
566#include <memory>
567#include <optional>
568#include <vector>
569
570
571/**
572 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
573 */
574namespace XML::bpmn {
575
576class tExpression;
577class tExpression;
578
579/**
580 * Overview:
581 * - Element name: tAssignment
582 * - XML-Schema: xsd/Semantic.xsd
583 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
584 *
585 * Members:
586 * - from : tExpression [1..1]
587 * - to : tExpression [1..1]
588 * - documentation : tDocumentation [0..*] (from: tBaseElement)
589 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
590 * - id : ID [0..1] (from: tBaseElement)
591 *
592 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
593 */
594class tAssignment : public tBaseElement {
595 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
596private:
597 static bool registerClass() {
598 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tAssignment"] = &createInstance<tAssignment>; // register function in factory
599 return true;
600 };
601 inline static bool registered = registerClass();
602protected:
603 tAssignment(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
604
605 friend class tDataAssociation;
606
607public:
608 /// default attributes to be used if they are not explicitly provided
609 inline static const Attributes defaults = {
610 };
611
614};
615
616} // namespace XML::bpmn
617
618#endif // XML_bpmn_tAssignment_H
619#ifndef XML_bpmn_assignment_H
620#define XML_bpmn_assignment_H
621#include <memory>
622#include <optional>
623#include <vector>
624
625
626/**
627 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
628 */
629namespace XML::bpmn {
630
631/**
632 * Overview:
633 * - Element name: assignment
634 * - XML-Schema: xsd/Semantic.xsd
635 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
636 *
637 * Members:
638 * - from : tExpression [1..1] (from: tAssignment)
639 * - to : tExpression [1..1] (from: tAssignment)
640 * - documentation : tDocumentation [0..*] (from: tBaseElement)
641 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
642 * - id : ID [0..1] (from: tBaseElement)
643 *
644 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
645 */
646class assignment : public tAssignment {
647 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
648private:
649 static bool registerClass() {
650 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:assignment"] = &createInstance<assignment>; // register function in factory
651 return true;
652 };
653 inline static bool registered = registerClass();
654protected:
655 assignment(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
656
657public:
658 /// default attributes to be used if they are not explicitly provided
659 inline static const Attributes defaults = {
660 };
661
662};
663
664} // namespace XML::bpmn
665
666#endif // XML_bpmn_assignment_H
667#ifndef XML_bpmn_tAssociation_H
668#define XML_bpmn_tAssociation_H
669#include <memory>
670#include <optional>
671#include <vector>
672
673
674/**
675 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
676 */
677namespace XML::bpmn {
678
679class tAssociationDirection;
680
681/**
682 * Overview:
683 * - Element name: tAssociation
684 * - XML-Schema: xsd/Semantic.xsd
685 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
686 *
687 * Members:
688 * - sourceRef : QName [1..1]
689 * - targetRef : QName [1..1]
690 * - associationDirection : tAssociationDirection [0..1]
691 * - documentation : tDocumentation [0..*] (from: tBaseElement)
692 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
693 * - id : ID [0..1] (from: tBaseElement)
694 *
695 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
696 */
697class tAssociation : public tArtifact {
698 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
699private:
700 static bool registerClass() {
701 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tAssociation"] = &createInstance<tAssociation>; // register function in factory
702 return true;
703 };
704 inline static bool registered = registerClass();
705protected:
706 tAssociation(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
707
708public:
709 /// default attributes to be used if they are not explicitly provided
710 inline static const Attributes defaults = {
711 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "associationDirection", .value = Value(std::string("None"))}
712 };
713
714 Attribute& sourceRef; ///< Attribute value can be expected to be of type 'std::string'
715 Attribute& targetRef; ///< Attribute value can be expected to be of type 'std::string'
716 std::optional< std::reference_wrapper<Attribute> > associationDirection; ///< Attribute value can be expected to be of type 'std::string'
717};
718
719} // namespace XML::bpmn
720
721#endif // XML_bpmn_tAssociation_H
722#ifndef XML_bpmn_association_H
723#define XML_bpmn_association_H
724#include <memory>
725#include <optional>
726#include <vector>
727
728
729/**
730 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
731 */
732namespace XML::bpmn {
733
734/**
735 * Overview:
736 * - Element name: association
737 * - XML-Schema: xsd/Semantic.xsd
738 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
739 *
740 * Members:
741 * - sourceRef : QName [1..1] (from: tAssociation)
742 * - targetRef : QName [1..1] (from: tAssociation)
743 * - associationDirection : tAssociationDirection [0..1] (from: tAssociation)
744 * - documentation : tDocumentation [0..*] (from: tBaseElement)
745 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
746 * - id : ID [0..1] (from: tBaseElement)
747 *
748 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
749 */
750class association : public tAssociation {
751 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
752private:
753 static bool registerClass() {
754 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:association"] = &createInstance<association>; // register function in factory
755 return true;
756 };
757 inline static bool registered = registerClass();
758protected:
759 association(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
760
761public:
762 /// default attributes to be used if they are not explicitly provided
763 inline static const Attributes defaults = {
764 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "associationDirection", .value = Value(std::string("None"))}
765 };
766
767};
768
769} // namespace XML::bpmn
770
771#endif // XML_bpmn_association_H
772#ifndef XML_bpmn_tAuditing_H
773#define XML_bpmn_tAuditing_H
774#include <memory>
775#include <optional>
776#include <vector>
777
778
779/**
780 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
781 */
782namespace XML::bpmn {
783
784/**
785 * Overview:
786 * - Element name: tAuditing
787 * - XML-Schema: xsd/Semantic.xsd
788 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
789 *
790 * Members:
791 * - documentation : tDocumentation [0..*] (from: tBaseElement)
792 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
793 * - id : ID [0..1] (from: tBaseElement)
794 *
795 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
796 */
797class tAuditing : public tBaseElement {
798 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
799private:
800 static bool registerClass() {
801 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tAuditing"] = &createInstance<tAuditing>; // register function in factory
802 return true;
803 };
804 inline static bool registered = registerClass();
805protected:
806 tAuditing(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
807
808 friend class tFlowElement;
809 friend class tProcess;
810
811public:
812 /// default attributes to be used if they are not explicitly provided
813 inline static const Attributes defaults = {
814 };
815
816};
817
818} // namespace XML::bpmn
819
820#endif // XML_bpmn_tAuditing_H
821#ifndef XML_bpmn_auditing_H
822#define XML_bpmn_auditing_H
823#include <memory>
824#include <optional>
825#include <vector>
826
827
828/**
829 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
830 */
831namespace XML::bpmn {
832
833/**
834 * Overview:
835 * - Element name: auditing
836 * - XML-Schema: xsd/Semantic.xsd
837 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
838 *
839 * Members:
840 * - documentation : tDocumentation [0..*] (from: tBaseElement)
841 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
842 * - id : ID [0..1] (from: tBaseElement)
843 *
844 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
845 */
846class auditing : public tAuditing {
847 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
848private:
849 static bool registerClass() {
850 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:auditing"] = &createInstance<auditing>; // register function in factory
851 return true;
852 };
853 inline static bool registered = registerClass();
854protected:
855 auditing(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
856
857public:
858 /// default attributes to be used if they are not explicitly provided
859 inline static const Attributes defaults = {
860 };
861
862};
863
864} // namespace XML::bpmn
865
866#endif // XML_bpmn_auditing_H
867#ifndef XML_bpmn_tBaseElementWithMixedContent_H
868#define XML_bpmn_tBaseElementWithMixedContent_H
869#include <memory>
870#include <optional>
871#include <vector>
872
873
874/**
875 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
876 */
877namespace XML::bpmn {
878
879class tDocumentation;
880class tExtensionElements;
881
882/**
883 * Overview:
884 * - Element name: tBaseElementWithMixedContent
885 * - XML-Schema: xsd/Semantic.xsd
886 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
887 *
888 * Members:
889 * - documentation : tDocumentation [0..*]
890 * - extensionElements : tExtensionElements [0..1]
891 * - id : ID [0..1]
892 *
893 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
894 */
896 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
897private:
898 static bool registerClass() {
899 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tBaseElementWithMixedContent"] = &createInstance<tBaseElementWithMixedContent>; // register function in factory
900 return true;
901 };
902 inline static bool registered = registerClass();
903protected:
904 tBaseElementWithMixedContent(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
905
906public:
907 /// default attributes to be used if they are not explicitly provided
908 inline static const Attributes defaults = {
909 };
910
911 std::vector< std::reference_wrapper<tDocumentation> > documentation;
912 std::optional< std::reference_wrapper<tExtensionElements> > extensionElements;
913 std::optional< std::reference_wrapper<Attribute> > id; ///< Attribute value can be expected to be of type 'std::string'
914};
915
916} // namespace XML::bpmn
917
918#endif // XML_bpmn_tBaseElementWithMixedContent_H
919#ifndef XML_bpmn_baseElementWithMixedContent_H
920#define XML_bpmn_baseElementWithMixedContent_H
921#include <memory>
922#include <optional>
923#include <vector>
924
925
926/**
927 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
928 */
929namespace XML::bpmn {
930
931/**
932 * Overview:
933 * - Element name: baseElementWithMixedContent
934 * - XML-Schema: xsd/Semantic.xsd
935 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
936 *
937 * Members:
938 * - documentation : tDocumentation [0..*] (from: tBaseElementWithMixedContent)
939 * - extensionElements : tExtensionElements [0..1] (from: tBaseElementWithMixedContent)
940 * - id : ID [0..1] (from: tBaseElementWithMixedContent)
941 *
942 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
943 */
945 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
946private:
947 static bool registerClass() {
948 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:baseElementWithMixedContent"] = &createInstance<baseElementWithMixedContent>; // register function in factory
949 return true;
950 };
951 inline static bool registered = registerClass();
952protected:
953 baseElementWithMixedContent(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
954
955public:
956 /// default attributes to be used if they are not explicitly provided
957 inline static const Attributes defaults = {
958 };
959
960};
961
962} // namespace XML::bpmn
963
964#endif // XML_bpmn_baseElementWithMixedContent_H
965#ifndef XML_bpmn_tCategoryValue_H
966#define XML_bpmn_tCategoryValue_H
967#include <memory>
968#include <optional>
969#include <vector>
970
971
972/**
973 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
974 */
975namespace XML::bpmn {
976
977/**
978 * Overview:
979 * - Element name: tCategoryValue
980 * - XML-Schema: xsd/Semantic.xsd
981 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
982 *
983 * Members:
984 * - value : string [0..1]
985 * - documentation : tDocumentation [0..*] (from: tBaseElement)
986 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
987 * - id : ID [0..1] (from: tBaseElement)
988 *
989 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
990 */
992 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
993private:
994 static bool registerClass() {
995 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tCategoryValue"] = &createInstance<tCategoryValue>; // register function in factory
996 return true;
997 };
998 inline static bool registered = registerClass();
999protected:
1000 tCategoryValue(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
1001
1002 friend class tCategory;
1003
1004public:
1005 /// default attributes to be used if they are not explicitly provided
1006 inline static const Attributes defaults = {
1007 };
1008
1009 std::optional< std::reference_wrapper<Attribute> > value; ///< Attribute value can be expected to be of type 'std::string'
1010};
1011
1012} // namespace XML::bpmn
1013
1014#endif // XML_bpmn_tCategoryValue_H
1015#ifndef XML_bpmn_categoryValue_H
1016#define XML_bpmn_categoryValue_H
1017#include <memory>
1018#include <optional>
1019#include <vector>
1020
1021
1022/**
1023 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
1024 */
1025namespace XML::bpmn {
1026
1027/**
1028 * Overview:
1029 * - Element name: categoryValue
1030 * - XML-Schema: xsd/Semantic.xsd
1031 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
1032 *
1033 * Members:
1034 * - value : string [0..1] (from: tCategoryValue)
1035 * - documentation : tDocumentation [0..*] (from: tBaseElement)
1036 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
1037 * - id : ID [0..1] (from: tBaseElement)
1038 *
1039 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
1040 */
1042 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
1043private:
1044 static bool registerClass() {
1045 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:categoryValue"] = &createInstance<categoryValue>; // register function in factory
1046 return true;
1047 };
1048 inline static bool registered = registerClass();
1049protected:
1050 categoryValue(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
1051
1052public:
1053 /// default attributes to be used if they are not explicitly provided
1054 inline static const Attributes defaults = {
1055 };
1056
1057};
1058
1059} // namespace XML::bpmn
1060
1061#endif // XML_bpmn_categoryValue_H
1062#ifndef XML_bpmn_tComplexBehaviorDefinition_H
1063#define XML_bpmn_tComplexBehaviorDefinition_H
1064#include <memory>
1065#include <optional>
1066#include <vector>
1067
1068
1069/**
1070 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
1071 */
1072namespace XML::bpmn {
1073
1074class tFormalExpression;
1075class tImplicitThrowEvent;
1076
1077/**
1078 * Overview:
1079 * - Element name: tComplexBehaviorDefinition
1080 * - XML-Schema: xsd/Semantic.xsd
1081 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
1082 *
1083 * Members:
1084 * - condition : tFormalExpression [1..1]
1085 * - event : tImplicitThrowEvent [0..1]
1086 * - documentation : tDocumentation [0..*] (from: tBaseElement)
1087 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
1088 * - id : ID [0..1] (from: tBaseElement)
1089 *
1090 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
1091 */
1093 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
1094private:
1095 static bool registerClass() {
1096 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tComplexBehaviorDefinition"] = &createInstance<tComplexBehaviorDefinition>; // register function in factory
1097 return true;
1098 };
1099 inline static bool registered = registerClass();
1100protected:
1101 tComplexBehaviorDefinition(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
1102
1104
1105public:
1106 /// default attributes to be used if they are not explicitly provided
1107 inline static const Attributes defaults = {
1108 };
1109
1111 std::optional< std::reference_wrapper<tImplicitThrowEvent> > event;
1112};
1113
1114} // namespace XML::bpmn
1115
1116#endif // XML_bpmn_tComplexBehaviorDefinition_H
1117#ifndef XML_bpmn_complexBehaviorDefinition_H
1118#define XML_bpmn_complexBehaviorDefinition_H
1119#include <memory>
1120#include <optional>
1121#include <vector>
1122
1123
1124/**
1125 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
1126 */
1127namespace XML::bpmn {
1128
1129/**
1130 * Overview:
1131 * - Element name: complexBehaviorDefinition
1132 * - XML-Schema: xsd/Semantic.xsd
1133 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
1134 *
1135 * Members:
1136 * - condition : tFormalExpression [1..1] (from: tComplexBehaviorDefinition)
1137 * - event : tImplicitThrowEvent [0..1] (from: tComplexBehaviorDefinition)
1138 * - documentation : tDocumentation [0..*] (from: tBaseElement)
1139 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
1140 * - id : ID [0..1] (from: tBaseElement)
1141 *
1142 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
1143 */
1145 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
1146private:
1147 static bool registerClass() {
1148 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:complexBehaviorDefinition"] = &createInstance<complexBehaviorDefinition>; // register function in factory
1149 return true;
1150 };
1151 inline static bool registered = registerClass();
1152protected:
1153 complexBehaviorDefinition(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
1154
1155public:
1156 /// default attributes to be used if they are not explicitly provided
1157 inline static const Attributes defaults = {
1158 };
1159
1160};
1161
1162} // namespace XML::bpmn
1163
1164#endif // XML_bpmn_complexBehaviorDefinition_H
1165#ifndef XML_bpmn_tConversationAssociation_H
1166#define XML_bpmn_tConversationAssociation_H
1167#include <memory>
1168#include <optional>
1169#include <vector>
1170
1171
1172/**
1173 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
1174 */
1175namespace XML::bpmn {
1176
1177/**
1178 * Overview:
1179 * - Element name: tConversationAssociation
1180 * - XML-Schema: xsd/Semantic.xsd
1181 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
1182 *
1183 * Members:
1184 * - innerConversationNodeRef : QName [1..1]
1185 * - outerConversationNodeRef : QName [1..1]
1186 * - documentation : tDocumentation [0..*] (from: tBaseElement)
1187 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
1188 * - id : ID [0..1] (from: tBaseElement)
1189 *
1190 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
1191 */
1193 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
1194private:
1195 static bool registerClass() {
1196 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tConversationAssociation"] = &createInstance<tConversationAssociation>; // register function in factory
1197 return true;
1198 };
1199 inline static bool registered = registerClass();
1200protected:
1201 tConversationAssociation(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
1202
1203 friend class tCollaboration;
1204
1205public:
1206 /// default attributes to be used if they are not explicitly provided
1207 inline static const Attributes defaults = {
1208 };
1209
1210 Attribute& innerConversationNodeRef; ///< Attribute value can be expected to be of type 'std::string'
1211 Attribute& outerConversationNodeRef; ///< Attribute value can be expected to be of type 'std::string'
1212};
1213
1214} // namespace XML::bpmn
1215
1216#endif // XML_bpmn_tConversationAssociation_H
1217#ifndef XML_bpmn_conversationAssociation_H
1218#define XML_bpmn_conversationAssociation_H
1219#include <memory>
1220#include <optional>
1221#include <vector>
1222
1223
1224/**
1225 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
1226 */
1227namespace XML::bpmn {
1228
1229/**
1230 * Overview:
1231 * - Element name: conversationAssociation
1232 * - XML-Schema: xsd/Semantic.xsd
1233 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
1234 *
1235 * Members:
1236 * - innerConversationNodeRef : QName [1..1] (from: tConversationAssociation)
1237 * - outerConversationNodeRef : QName [1..1] (from: tConversationAssociation)
1238 * - documentation : tDocumentation [0..*] (from: tBaseElement)
1239 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
1240 * - id : ID [0..1] (from: tBaseElement)
1241 *
1242 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
1243 */
1245 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
1246private:
1247 static bool registerClass() {
1248 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:conversationAssociation"] = &createInstance<conversationAssociation>; // register function in factory
1249 return true;
1250 };
1251 inline static bool registered = registerClass();
1252protected:
1253 conversationAssociation(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
1254
1255public:
1256 /// default attributes to be used if they are not explicitly provided
1257 inline static const Attributes defaults = {
1258 };
1259
1260};
1261
1262} // namespace XML::bpmn
1263
1264#endif // XML_bpmn_conversationAssociation_H
1265#ifndef XML_bpmn_tConversationLink_H
1266#define XML_bpmn_tConversationLink_H
1267#include <memory>
1268#include <optional>
1269#include <vector>
1270
1271
1272/**
1273 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
1274 */
1275namespace XML::bpmn {
1276
1277/**
1278 * Overview:
1279 * - Element name: tConversationLink
1280 * - XML-Schema: xsd/Semantic.xsd
1281 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
1282 *
1283 * Members:
1284 * - name : string [0..1]
1285 * - sourceRef : QName [1..1]
1286 * - targetRef : QName [1..1]
1287 * - documentation : tDocumentation [0..*] (from: tBaseElement)
1288 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
1289 * - id : ID [0..1] (from: tBaseElement)
1290 *
1291 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
1292 */
1294 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
1295private:
1296 static bool registerClass() {
1297 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tConversationLink"] = &createInstance<tConversationLink>; // register function in factory
1298 return true;
1299 };
1300 inline static bool registered = registerClass();
1301protected:
1302 tConversationLink(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
1303
1304 friend class tCollaboration;
1305
1306public:
1307 /// default attributes to be used if they are not explicitly provided
1308 inline static const Attributes defaults = {
1309 };
1310
1311 std::optional< std::reference_wrapper<Attribute> > name; ///< Attribute value can be expected to be of type 'std::string'
1312 Attribute& sourceRef; ///< Attribute value can be expected to be of type 'std::string'
1313 Attribute& targetRef; ///< Attribute value can be expected to be of type 'std::string'
1314};
1315
1316} // namespace XML::bpmn
1317
1318#endif // XML_bpmn_tConversationLink_H
1319#ifndef XML_bpmn_conversationLink_H
1320#define XML_bpmn_conversationLink_H
1321#include <memory>
1322#include <optional>
1323#include <vector>
1324
1325
1326/**
1327 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
1328 */
1329namespace XML::bpmn {
1330
1331/**
1332 * Overview:
1333 * - Element name: conversationLink
1334 * - XML-Schema: xsd/Semantic.xsd
1335 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
1336 *
1337 * Members:
1338 * - name : string [0..1] (from: tConversationLink)
1339 * - sourceRef : QName [1..1] (from: tConversationLink)
1340 * - targetRef : QName [1..1] (from: tConversationLink)
1341 * - documentation : tDocumentation [0..*] (from: tBaseElement)
1342 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
1343 * - id : ID [0..1] (from: tBaseElement)
1344 *
1345 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
1346 */
1348 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
1349private:
1350 static bool registerClass() {
1351 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:conversationLink"] = &createInstance<conversationLink>; // register function in factory
1352 return true;
1353 };
1354 inline static bool registered = registerClass();
1355protected:
1356 conversationLink(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
1357
1358public:
1359 /// default attributes to be used if they are not explicitly provided
1360 inline static const Attributes defaults = {
1361 };
1362
1363};
1364
1365} // namespace XML::bpmn
1366
1367#endif // XML_bpmn_conversationLink_H
1368#ifndef XML_bpmn_tConversationNode_H
1369#define XML_bpmn_tConversationNode_H
1370#include <memory>
1371#include <optional>
1372#include <vector>
1373
1374
1375/**
1376 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
1377 */
1378namespace XML::bpmn {
1379
1380class tCorrelationKey;
1381
1382/**
1383 * Overview:
1384 * - Element name: tConversationNode
1385 * - XML-Schema: xsd/Semantic.xsd
1386 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
1387 *
1388 * Members:
1389 * - participantRef : QName [0..*]
1390 * - messageFlowRef : QName [0..*]
1391 * - correlationKey : tCorrelationKey [0..*]
1392 * - name : string [0..1]
1393 * - documentation : tDocumentation [0..*] (from: tBaseElement)
1394 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
1395 * - id : ID [0..1] (from: tBaseElement)
1396 *
1397 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
1398 */
1400 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
1401private:
1402 static bool registerClass() {
1403 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tConversationNode"] = &createInstance<tConversationNode>; // register function in factory
1404 return true;
1405 };
1406 inline static bool registered = registerClass();
1407protected:
1408 tConversationNode(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
1409
1410 friend class tCollaboration;
1411 friend class tSubConversation;
1412
1413public:
1414 /// default attributes to be used if they are not explicitly provided
1415 inline static const Attributes defaults = {
1416 };
1417
1418 std::vector< std::reference_wrapper<XMLObject> > participantRef;
1419 std::vector< std::reference_wrapper<XMLObject> > messageFlowRef;
1420 std::vector< std::reference_wrapper<tCorrelationKey> > correlationKey;
1421 std::optional< std::reference_wrapper<Attribute> > name; ///< Attribute value can be expected to be of type 'std::string'
1422};
1423
1424} // namespace XML::bpmn
1425
1426#endif // XML_bpmn_tConversationNode_H
1427#ifndef XML_bpmn_conversationNode_H
1428#define XML_bpmn_conversationNode_H
1429#include <memory>
1430#include <optional>
1431#include <vector>
1432
1433
1434/**
1435 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
1436 */
1437namespace XML::bpmn {
1438
1439/**
1440 * Overview:
1441 * - Element name: conversationNode
1442 * - XML-Schema: xsd/Semantic.xsd
1443 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
1444 *
1445 * Members:
1446 * - participantRef : QName [0..*] (from: tConversationNode)
1447 * - messageFlowRef : QName [0..*] (from: tConversationNode)
1448 * - correlationKey : tCorrelationKey [0..*] (from: tConversationNode)
1449 * - name : string [0..1] (from: tConversationNode)
1450 * - documentation : tDocumentation [0..*] (from: tBaseElement)
1451 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
1452 * - id : ID [0..1] (from: tBaseElement)
1453 *
1454 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
1455 */
1457 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
1458private:
1459 static bool registerClass() {
1460 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:conversationNode"] = &createInstance<conversationNode>; // register function in factory
1461 return true;
1462 };
1463 inline static bool registered = registerClass();
1464protected:
1465 conversationNode(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
1466
1467public:
1468 /// default attributes to be used if they are not explicitly provided
1469 inline static const Attributes defaults = {
1470 };
1471
1472};
1473
1474} // namespace XML::bpmn
1475
1476#endif // XML_bpmn_conversationNode_H
1477#ifndef XML_bpmn_tCallConversation_H
1478#define XML_bpmn_tCallConversation_H
1479#include <memory>
1480#include <optional>
1481#include <vector>
1482
1483
1484/**
1485 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
1486 */
1487namespace XML::bpmn {
1488
1489class tParticipantAssociation;
1490
1491/**
1492 * Overview:
1493 * - Element name: tCallConversation
1494 * - XML-Schema: xsd/Semantic.xsd
1495 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
1496 *
1497 * Members:
1498 * - participantAssociation : tParticipantAssociation [0..*]
1499 * - calledCollaborationRef : QName [0..1]
1500 * - participantRef : QName [0..*] (from: tConversationNode)
1501 * - messageFlowRef : QName [0..*] (from: tConversationNode)
1502 * - correlationKey : tCorrelationKey [0..*] (from: tConversationNode)
1503 * - name : string [0..1] (from: tConversationNode)
1504 * - documentation : tDocumentation [0..*] (from: tBaseElement)
1505 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
1506 * - id : ID [0..1] (from: tBaseElement)
1507 *
1508 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
1509 */
1511 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
1512private:
1513 static bool registerClass() {
1514 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tCallConversation"] = &createInstance<tCallConversation>; // register function in factory
1515 return true;
1516 };
1517 inline static bool registered = registerClass();
1518protected:
1519 tCallConversation(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
1520
1521public:
1522 /// default attributes to be used if they are not explicitly provided
1523 inline static const Attributes defaults = {
1524 };
1525
1526 std::vector< std::reference_wrapper<tParticipantAssociation> > participantAssociation;
1527 std::optional< std::reference_wrapper<Attribute> > calledCollaborationRef; ///< Attribute value can be expected to be of type 'std::string'
1528};
1529
1530} // namespace XML::bpmn
1531
1532#endif // XML_bpmn_tCallConversation_H
1533#ifndef XML_bpmn_callConversation_H
1534#define XML_bpmn_callConversation_H
1535#include <memory>
1536#include <optional>
1537#include <vector>
1538
1539
1540/**
1541 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
1542 */
1543namespace XML::bpmn {
1544
1545/**
1546 * Overview:
1547 * - Element name: callConversation
1548 * - XML-Schema: xsd/Semantic.xsd
1549 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
1550 *
1551 * Members:
1552 * - participantAssociation : tParticipantAssociation [0..*] (from: tCallConversation)
1553 * - calledCollaborationRef : QName [0..1] (from: tCallConversation)
1554 * - participantRef : QName [0..*] (from: tConversationNode)
1555 * - messageFlowRef : QName [0..*] (from: tConversationNode)
1556 * - correlationKey : tCorrelationKey [0..*] (from: tConversationNode)
1557 * - name : string [0..1] (from: tConversationNode)
1558 * - documentation : tDocumentation [0..*] (from: tBaseElement)
1559 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
1560 * - id : ID [0..1] (from: tBaseElement)
1561 *
1562 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
1563 */
1565 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
1566private:
1567 static bool registerClass() {
1568 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:callConversation"] = &createInstance<callConversation>; // register function in factory
1569 return true;
1570 };
1571 inline static bool registered = registerClass();
1572protected:
1573 callConversation(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
1574
1575public:
1576 /// default attributes to be used if they are not explicitly provided
1577 inline static const Attributes defaults = {
1578 };
1579
1580};
1581
1582} // namespace XML::bpmn
1583
1584#endif // XML_bpmn_callConversation_H
1585#ifndef XML_bpmn_tConversation_H
1586#define XML_bpmn_tConversation_H
1587#include <memory>
1588#include <optional>
1589#include <vector>
1590
1591
1592/**
1593 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
1594 */
1595namespace XML::bpmn {
1596
1597/**
1598 * Overview:
1599 * - Element name: tConversation
1600 * - XML-Schema: xsd/Semantic.xsd
1601 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
1602 *
1603 * Members:
1604 * - participantRef : QName [0..*] (from: tConversationNode)
1605 * - messageFlowRef : QName [0..*] (from: tConversationNode)
1606 * - correlationKey : tCorrelationKey [0..*] (from: tConversationNode)
1607 * - name : string [0..1] (from: tConversationNode)
1608 * - documentation : tDocumentation [0..*] (from: tBaseElement)
1609 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
1610 * - id : ID [0..1] (from: tBaseElement)
1611 *
1612 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
1613 */
1615 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
1616private:
1617 static bool registerClass() {
1618 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tConversation"] = &createInstance<tConversation>; // register function in factory
1619 return true;
1620 };
1621 inline static bool registered = registerClass();
1622protected:
1623 tConversation(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
1624
1625public:
1626 /// default attributes to be used if they are not explicitly provided
1627 inline static const Attributes defaults = {
1628 };
1629
1630};
1631
1632} // namespace XML::bpmn
1633
1634#endif // XML_bpmn_tConversation_H
1635#ifndef XML_bpmn_conversation_H
1636#define XML_bpmn_conversation_H
1637#include <memory>
1638#include <optional>
1639#include <vector>
1640
1641
1642/**
1643 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
1644 */
1645namespace XML::bpmn {
1646
1647/**
1648 * Overview:
1649 * - Element name: conversation
1650 * - XML-Schema: xsd/Semantic.xsd
1651 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
1652 *
1653 * Members:
1654 * - participantRef : QName [0..*] (from: tConversationNode)
1655 * - messageFlowRef : QName [0..*] (from: tConversationNode)
1656 * - correlationKey : tCorrelationKey [0..*] (from: tConversationNode)
1657 * - name : string [0..1] (from: tConversationNode)
1658 * - documentation : tDocumentation [0..*] (from: tBaseElement)
1659 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
1660 * - id : ID [0..1] (from: tBaseElement)
1661 *
1662 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
1663 */
1665 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
1666private:
1667 static bool registerClass() {
1668 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:conversation"] = &createInstance<conversation>; // register function in factory
1669 return true;
1670 };
1671 inline static bool registered = registerClass();
1672protected:
1673 conversation(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
1674
1675public:
1676 /// default attributes to be used if they are not explicitly provided
1677 inline static const Attributes defaults = {
1678 };
1679
1680};
1681
1682} // namespace XML::bpmn
1683
1684#endif // XML_bpmn_conversation_H
1685#ifndef XML_bpmn_tCorrelationKey_H
1686#define XML_bpmn_tCorrelationKey_H
1687#include <memory>
1688#include <optional>
1689#include <vector>
1690
1691
1692/**
1693 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
1694 */
1695namespace XML::bpmn {
1696
1697/**
1698 * Overview:
1699 * - Element name: tCorrelationKey
1700 * - XML-Schema: xsd/Semantic.xsd
1701 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
1702 *
1703 * Members:
1704 * - correlationPropertyRef : QName [0..*]
1705 * - name : string [0..1]
1706 * - documentation : tDocumentation [0..*] (from: tBaseElement)
1707 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
1708 * - id : ID [0..1] (from: tBaseElement)
1709 *
1710 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
1711 */
1713 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
1714private:
1715 static bool registerClass() {
1716 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tCorrelationKey"] = &createInstance<tCorrelationKey>; // register function in factory
1717 return true;
1718 };
1719 inline static bool registered = registerClass();
1720protected:
1721 tCorrelationKey(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
1722
1724 friend class tCollaboration;
1725 friend class tConversationNode;
1726
1727public:
1728 /// default attributes to be used if they are not explicitly provided
1729 inline static const Attributes defaults = {
1730 };
1731
1732 std::vector< std::reference_wrapper<XMLObject> > correlationPropertyRef;
1733 std::optional< std::reference_wrapper<Attribute> > name; ///< Attribute value can be expected to be of type 'std::string'
1734};
1735
1736} // namespace XML::bpmn
1737
1738#endif // XML_bpmn_tCorrelationKey_H
1739#ifndef XML_bpmn_correlationKey_H
1740#define XML_bpmn_correlationKey_H
1741#include <memory>
1742#include <optional>
1743#include <vector>
1744
1745
1746/**
1747 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
1748 */
1749namespace XML::bpmn {
1750
1751/**
1752 * Overview:
1753 * - Element name: correlationKey
1754 * - XML-Schema: xsd/Semantic.xsd
1755 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
1756 *
1757 * Members:
1758 * - correlationPropertyRef : QName [0..*] (from: tCorrelationKey)
1759 * - name : string [0..1] (from: tCorrelationKey)
1760 * - documentation : tDocumentation [0..*] (from: tBaseElement)
1761 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
1762 * - id : ID [0..1] (from: tBaseElement)
1763 *
1764 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
1765 */
1767 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
1768private:
1769 static bool registerClass() {
1770 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:correlationKey"] = &createInstance<correlationKey>; // register function in factory
1771 return true;
1772 };
1773 inline static bool registered = registerClass();
1774protected:
1775 correlationKey(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
1776
1777public:
1778 /// default attributes to be used if they are not explicitly provided
1779 inline static const Attributes defaults = {
1780 };
1781
1782};
1783
1784} // namespace XML::bpmn
1785
1786#endif // XML_bpmn_correlationKey_H
1787#ifndef XML_bpmn_tCorrelationPropertyBinding_H
1788#define XML_bpmn_tCorrelationPropertyBinding_H
1789#include <memory>
1790#include <optional>
1791#include <vector>
1792
1793
1794/**
1795 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
1796 */
1797namespace XML::bpmn {
1798
1799class tFormalExpression;
1800
1801/**
1802 * Overview:
1803 * - Element name: tCorrelationPropertyBinding
1804 * - XML-Schema: xsd/Semantic.xsd
1805 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
1806 *
1807 * Members:
1808 * - dataPath : tFormalExpression [1..1]
1809 * - correlationPropertyRef : QName [1..1]
1810 * - documentation : tDocumentation [0..*] (from: tBaseElement)
1811 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
1812 * - id : ID [0..1] (from: tBaseElement)
1813 *
1814 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
1815 */
1817 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
1818private:
1819 static bool registerClass() {
1820 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tCorrelationPropertyBinding"] = &createInstance<tCorrelationPropertyBinding>; // register function in factory
1821 return true;
1822 };
1823 inline static bool registered = registerClass();
1824protected:
1825 tCorrelationPropertyBinding(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
1826
1828
1829public:
1830 /// default attributes to be used if they are not explicitly provided
1831 inline static const Attributes defaults = {
1832 };
1833
1835 Attribute& correlationPropertyRef; ///< Attribute value can be expected to be of type 'std::string'
1836};
1837
1838} // namespace XML::bpmn
1839
1840#endif // XML_bpmn_tCorrelationPropertyBinding_H
1841#ifndef XML_bpmn_correlationPropertyBinding_H
1842#define XML_bpmn_correlationPropertyBinding_H
1843#include <memory>
1844#include <optional>
1845#include <vector>
1846
1847
1848/**
1849 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
1850 */
1851namespace XML::bpmn {
1852
1853/**
1854 * Overview:
1855 * - Element name: correlationPropertyBinding
1856 * - XML-Schema: xsd/Semantic.xsd
1857 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
1858 *
1859 * Members:
1860 * - dataPath : tFormalExpression [1..1] (from: tCorrelationPropertyBinding)
1861 * - correlationPropertyRef : QName [1..1] (from: tCorrelationPropertyBinding)
1862 * - documentation : tDocumentation [0..*] (from: tBaseElement)
1863 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
1864 * - id : ID [0..1] (from: tBaseElement)
1865 *
1866 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
1867 */
1869 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
1870private:
1871 static bool registerClass() {
1872 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:correlationPropertyBinding"] = &createInstance<correlationPropertyBinding>; // register function in factory
1873 return true;
1874 };
1875 inline static bool registered = registerClass();
1876protected:
1877 correlationPropertyBinding(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
1878
1879public:
1880 /// default attributes to be used if they are not explicitly provided
1881 inline static const Attributes defaults = {
1882 };
1883
1884};
1885
1886} // namespace XML::bpmn
1887
1888#endif // XML_bpmn_correlationPropertyBinding_H
1889#ifndef XML_bpmn_tCorrelationPropertyRetrievalExpression_H
1890#define XML_bpmn_tCorrelationPropertyRetrievalExpression_H
1891#include <memory>
1892#include <optional>
1893#include <vector>
1894
1895
1896/**
1897 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
1898 */
1899namespace XML::bpmn {
1900
1901class tFormalExpression;
1902
1903/**
1904 * Overview:
1905 * - Element name: tCorrelationPropertyRetrievalExpression
1906 * - XML-Schema: xsd/Semantic.xsd
1907 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
1908 *
1909 * Members:
1910 * - messagePath : tFormalExpression [1..1]
1911 * - messageRef : QName [1..1]
1912 * - documentation : tDocumentation [0..*] (from: tBaseElement)
1913 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
1914 * - id : ID [0..1] (from: tBaseElement)
1915 *
1916 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
1917 */
1919 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
1920private:
1921 static bool registerClass() {
1922 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tCorrelationPropertyRetrievalExpression"] = &createInstance<tCorrelationPropertyRetrievalExpression>; // register function in factory
1923 return true;
1924 };
1925 inline static bool registered = registerClass();
1926protected:
1927 tCorrelationPropertyRetrievalExpression(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
1928
1930
1931public:
1932 /// default attributes to be used if they are not explicitly provided
1933 inline static const Attributes defaults = {
1934 };
1935
1937 Attribute& messageRef; ///< Attribute value can be expected to be of type 'std::string'
1938};
1939
1940} // namespace XML::bpmn
1941
1942#endif // XML_bpmn_tCorrelationPropertyRetrievalExpression_H
1943#ifndef XML_bpmn_correlationPropertyRetrievalExpression_H
1944#define XML_bpmn_correlationPropertyRetrievalExpression_H
1945#include <memory>
1946#include <optional>
1947#include <vector>
1948
1949
1950/**
1951 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
1952 */
1953namespace XML::bpmn {
1954
1955/**
1956 * Overview:
1957 * - Element name: correlationPropertyRetrievalExpression
1958 * - XML-Schema: xsd/Semantic.xsd
1959 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
1960 *
1961 * Members:
1962 * - messagePath : tFormalExpression [1..1] (from: tCorrelationPropertyRetrievalExpression)
1963 * - messageRef : QName [1..1] (from: tCorrelationPropertyRetrievalExpression)
1964 * - documentation : tDocumentation [0..*] (from: tBaseElement)
1965 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
1966 * - id : ID [0..1] (from: tBaseElement)
1967 *
1968 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
1969 */
1971 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
1972private:
1973 static bool registerClass() {
1974 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:correlationPropertyRetrievalExpression"] = &createInstance<correlationPropertyRetrievalExpression>; // register function in factory
1975 return true;
1976 };
1977 inline static bool registered = registerClass();
1978protected:
1979 correlationPropertyRetrievalExpression(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
1980
1981public:
1982 /// default attributes to be used if they are not explicitly provided
1983 inline static const Attributes defaults = {
1984 };
1985
1986};
1987
1988} // namespace XML::bpmn
1989
1990#endif // XML_bpmn_correlationPropertyRetrievalExpression_H
1991#ifndef XML_bpmn_tCorrelationSubscription_H
1992#define XML_bpmn_tCorrelationSubscription_H
1993#include <memory>
1994#include <optional>
1995#include <vector>
1996
1997
1998/**
1999 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
2000 */
2001namespace XML::bpmn {
2002
2003class tCorrelationPropertyBinding;
2004
2005/**
2006 * Overview:
2007 * - Element name: tCorrelationSubscription
2008 * - XML-Schema: xsd/Semantic.xsd
2009 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
2010 *
2011 * Members:
2012 * - correlationPropertyBinding : tCorrelationPropertyBinding [0..*]
2013 * - correlationKeyRef : QName [1..1]
2014 * - documentation : tDocumentation [0..*] (from: tBaseElement)
2015 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
2016 * - id : ID [0..1] (from: tBaseElement)
2017 *
2018 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
2019 */
2021 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
2022private:
2023 static bool registerClass() {
2024 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tCorrelationSubscription"] = &createInstance<tCorrelationSubscription>; // register function in factory
2025 return true;
2026 };
2027 inline static bool registered = registerClass();
2028protected:
2029 tCorrelationSubscription(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
2030
2031 friend class tProcess;
2032
2033public:
2034 /// default attributes to be used if they are not explicitly provided
2035 inline static const Attributes defaults = {
2036 };
2037
2038 std::vector< std::reference_wrapper<tCorrelationPropertyBinding> > correlationPropertyBinding;
2039 Attribute& correlationKeyRef; ///< Attribute value can be expected to be of type 'std::string'
2040};
2041
2042} // namespace XML::bpmn
2043
2044#endif // XML_bpmn_tCorrelationSubscription_H
2045#ifndef XML_bpmn_correlationSubscription_H
2046#define XML_bpmn_correlationSubscription_H
2047#include <memory>
2048#include <optional>
2049#include <vector>
2050
2051
2052/**
2053 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
2054 */
2055namespace XML::bpmn {
2056
2057/**
2058 * Overview:
2059 * - Element name: correlationSubscription
2060 * - XML-Schema: xsd/Semantic.xsd
2061 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
2062 *
2063 * Members:
2064 * - correlationPropertyBinding : tCorrelationPropertyBinding [0..*] (from: tCorrelationSubscription)
2065 * - correlationKeyRef : QName [1..1] (from: tCorrelationSubscription)
2066 * - documentation : tDocumentation [0..*] (from: tBaseElement)
2067 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
2068 * - id : ID [0..1] (from: tBaseElement)
2069 *
2070 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
2071 */
2073 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
2074private:
2075 static bool registerClass() {
2076 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:correlationSubscription"] = &createInstance<correlationSubscription>; // register function in factory
2077 return true;
2078 };
2079 inline static bool registered = registerClass();
2080protected:
2081 correlationSubscription(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
2082
2083public:
2084 /// default attributes to be used if they are not explicitly provided
2085 inline static const Attributes defaults = {
2086 };
2087
2088};
2089
2090} // namespace XML::bpmn
2091
2092#endif // XML_bpmn_correlationSubscription_H
2093#ifndef XML_bpmn_tDataAssociation_H
2094#define XML_bpmn_tDataAssociation_H
2095#include <memory>
2096#include <optional>
2097#include <vector>
2098
2099
2100/**
2101 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
2102 */
2103namespace XML::bpmn {
2104
2105class tFormalExpression;
2106class tAssignment;
2107
2108/**
2109 * Overview:
2110 * - Element name: tDataAssociation
2111 * - XML-Schema: xsd/Semantic.xsd
2112 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
2113 *
2114 * Members:
2115 * - sourceRef : IDREF [0..*]
2116 * - targetRef : IDREF [1..1]
2117 * - transformation : tFormalExpression [0..1]
2118 * - assignment : tAssignment [0..*]
2119 * - documentation : tDocumentation [0..*] (from: tBaseElement)
2120 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
2121 * - id : ID [0..1] (from: tBaseElement)
2122 *
2123 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
2124 */
2126 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
2127private:
2128 static bool registerClass() {
2129 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tDataAssociation"] = &createInstance<tDataAssociation>; // register function in factory
2130 return true;
2131 };
2132 inline static bool registered = registerClass();
2133protected:
2134 tDataAssociation(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
2135
2136public:
2137 /// default attributes to be used if they are not explicitly provided
2138 inline static const Attributes defaults = {
2139 };
2140
2141 std::vector< std::reference_wrapper<XMLObject> > sourceRef;
2143 std::optional< std::reference_wrapper<tFormalExpression> > transformation;
2144 std::vector< std::reference_wrapper<tAssignment> > assignment;
2145};
2146
2147} // namespace XML::bpmn
2148
2149#endif // XML_bpmn_tDataAssociation_H
2150#ifndef XML_bpmn_dataAssociation_H
2151#define XML_bpmn_dataAssociation_H
2152#include <memory>
2153#include <optional>
2154#include <vector>
2155
2156
2157/**
2158 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
2159 */
2160namespace XML::bpmn {
2161
2162/**
2163 * Overview:
2164 * - Element name: dataAssociation
2165 * - XML-Schema: xsd/Semantic.xsd
2166 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
2167 *
2168 * Members:
2169 * - sourceRef : IDREF [0..*] (from: tDataAssociation)
2170 * - targetRef : IDREF [1..1] (from: tDataAssociation)
2171 * - transformation : tFormalExpression [0..1] (from: tDataAssociation)
2172 * - assignment : tAssignment [0..*] (from: tDataAssociation)
2173 * - documentation : tDocumentation [0..*] (from: tBaseElement)
2174 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
2175 * - id : ID [0..1] (from: tBaseElement)
2176 *
2177 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
2178 */
2180 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
2181private:
2182 static bool registerClass() {
2183 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:dataAssociation"] = &createInstance<dataAssociation>; // register function in factory
2184 return true;
2185 };
2186 inline static bool registered = registerClass();
2187protected:
2188 dataAssociation(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
2189
2190public:
2191 /// default attributes to be used if they are not explicitly provided
2192 inline static const Attributes defaults = {
2193 };
2194
2195};
2196
2197} // namespace XML::bpmn
2198
2199#endif // XML_bpmn_dataAssociation_H
2200#ifndef XML_bpmn_tDataInput_H
2201#define XML_bpmn_tDataInput_H
2202#include <memory>
2203#include <optional>
2204#include <vector>
2205
2206
2207/**
2208 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
2209 */
2210namespace XML::bpmn {
2211
2212class tDataState;
2213
2214/**
2215 * Overview:
2216 * - Element name: tDataInput
2217 * - XML-Schema: xsd/Semantic.xsd
2218 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
2219 *
2220 * Members:
2221 * - dataState : tDataState [0..1]
2222 * - name : string [0..1]
2223 * - itemSubjectRef : QName [0..1]
2224 * - isCollection : boolean [0..1]
2225 * - documentation : tDocumentation [0..*] (from: tBaseElement)
2226 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
2227 * - id : ID [0..1] (from: tBaseElement)
2228 *
2229 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
2230 */
2231class tDataInput : public tBaseElement {
2232 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
2233private:
2234 static bool registerClass() {
2235 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tDataInput"] = &createInstance<tDataInput>; // register function in factory
2236 return true;
2237 };
2238 inline static bool registered = registerClass();
2239protected:
2240 tDataInput(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
2241
2244 friend class tThrowEvent;
2245
2246public:
2247 /// default attributes to be used if they are not explicitly provided
2248 inline static const Attributes defaults = {
2249 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "isCollection", .value = Value(std::string("false"))}
2250 };
2251
2252 std::optional< std::reference_wrapper<tDataState> > dataState;
2253 std::optional< std::reference_wrapper<Attribute> > name; ///< Attribute value can be expected to be of type 'std::string'
2254 std::optional< std::reference_wrapper<Attribute> > itemSubjectRef; ///< Attribute value can be expected to be of type 'std::string'
2255 std::optional< std::reference_wrapper<Attribute> > isCollection; ///< Attribute value can be expected to be of type 'bool'
2256};
2257
2258} // namespace XML::bpmn
2259
2260#endif // XML_bpmn_tDataInput_H
2261#ifndef XML_bpmn_dataInput_H
2262#define XML_bpmn_dataInput_H
2263#include <memory>
2264#include <optional>
2265#include <vector>
2266
2267
2268/**
2269 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
2270 */
2271namespace XML::bpmn {
2272
2273/**
2274 * Overview:
2275 * - Element name: dataInput
2276 * - XML-Schema: xsd/Semantic.xsd
2277 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
2278 *
2279 * Members:
2280 * - dataState : tDataState [0..1] (from: tDataInput)
2281 * - name : string [0..1] (from: tDataInput)
2282 * - itemSubjectRef : QName [0..1] (from: tDataInput)
2283 * - isCollection : boolean [0..1] (from: tDataInput)
2284 * - documentation : tDocumentation [0..*] (from: tBaseElement)
2285 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
2286 * - id : ID [0..1] (from: tBaseElement)
2287 *
2288 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
2289 */
2290class dataInput : public tDataInput {
2291 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
2292private:
2293 static bool registerClass() {
2294 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:dataInput"] = &createInstance<dataInput>; // register function in factory
2295 return true;
2296 };
2297 inline static bool registered = registerClass();
2298protected:
2299 dataInput(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
2300
2301public:
2302 /// default attributes to be used if they are not explicitly provided
2303 inline static const Attributes defaults = {
2304 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "isCollection", .value = Value(std::string("false"))}
2305 };
2306
2307};
2308
2309} // namespace XML::bpmn
2310
2311#endif // XML_bpmn_dataInput_H
2312#ifndef XML_bpmn_tDataInputAssociation_H
2313#define XML_bpmn_tDataInputAssociation_H
2314#include <memory>
2315#include <optional>
2316#include <vector>
2317
2318
2319/**
2320 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
2321 */
2322namespace XML::bpmn {
2323
2324/**
2325 * Overview:
2326 * - Element name: tDataInputAssociation
2327 * - XML-Schema: xsd/Semantic.xsd
2328 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
2329 *
2330 * Members:
2331 * - sourceRef : IDREF [0..*] (from: tDataAssociation)
2332 * - targetRef : IDREF [1..1] (from: tDataAssociation)
2333 * - transformation : tFormalExpression [0..1] (from: tDataAssociation)
2334 * - assignment : tAssignment [0..*] (from: tDataAssociation)
2335 * - documentation : tDocumentation [0..*] (from: tBaseElement)
2336 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
2337 * - id : ID [0..1] (from: tBaseElement)
2338 *
2339 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
2340 */
2342 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
2343private:
2344 static bool registerClass() {
2345 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tDataInputAssociation"] = &createInstance<tDataInputAssociation>; // register function in factory
2346 return true;
2347 };
2348 inline static bool registered = registerClass();
2349protected:
2350 tDataInputAssociation(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
2351
2352 friend class tActivity;
2353 friend class tThrowEvent;
2354
2355public:
2356 /// default attributes to be used if they are not explicitly provided
2357 inline static const Attributes defaults = {
2358 };
2359
2360};
2361
2362} // namespace XML::bpmn
2363
2364#endif // XML_bpmn_tDataInputAssociation_H
2365#ifndef XML_bpmn_dataInputAssociation_H
2366#define XML_bpmn_dataInputAssociation_H
2367#include <memory>
2368#include <optional>
2369#include <vector>
2370
2371
2372/**
2373 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
2374 */
2375namespace XML::bpmn {
2376
2377/**
2378 * Overview:
2379 * - Element name: dataInputAssociation
2380 * - XML-Schema: xsd/Semantic.xsd
2381 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
2382 *
2383 * Members:
2384 * - sourceRef : IDREF [0..*] (from: tDataAssociation)
2385 * - targetRef : IDREF [1..1] (from: tDataAssociation)
2386 * - transformation : tFormalExpression [0..1] (from: tDataAssociation)
2387 * - assignment : tAssignment [0..*] (from: tDataAssociation)
2388 * - documentation : tDocumentation [0..*] (from: tBaseElement)
2389 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
2390 * - id : ID [0..1] (from: tBaseElement)
2391 *
2392 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
2393 */
2395 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
2396private:
2397 static bool registerClass() {
2398 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:dataInputAssociation"] = &createInstance<dataInputAssociation>; // register function in factory
2399 return true;
2400 };
2401 inline static bool registered = registerClass();
2402protected:
2403 dataInputAssociation(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
2404
2405public:
2406 /// default attributes to be used if they are not explicitly provided
2407 inline static const Attributes defaults = {
2408 };
2409
2410};
2411
2412} // namespace XML::bpmn
2413
2414#endif // XML_bpmn_dataInputAssociation_H
2415#ifndef XML_bpmn_tDataOutput_H
2416#define XML_bpmn_tDataOutput_H
2417#include <memory>
2418#include <optional>
2419#include <vector>
2420
2421
2422/**
2423 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
2424 */
2425namespace XML::bpmn {
2426
2427class tDataState;
2428
2429/**
2430 * Overview:
2431 * - Element name: tDataOutput
2432 * - XML-Schema: xsd/Semantic.xsd
2433 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
2434 *
2435 * Members:
2436 * - dataState : tDataState [0..1]
2437 * - name : string [0..1]
2438 * - itemSubjectRef : QName [0..1]
2439 * - isCollection : boolean [0..1]
2440 * - documentation : tDocumentation [0..*] (from: tBaseElement)
2441 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
2442 * - id : ID [0..1] (from: tBaseElement)
2443 *
2444 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
2445 */
2447 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
2448private:
2449 static bool registerClass() {
2450 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tDataOutput"] = &createInstance<tDataOutput>; // register function in factory
2451 return true;
2452 };
2453 inline static bool registered = registerClass();
2454protected:
2455 tDataOutput(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
2456
2457 friend class tCatchEvent;
2460
2461public:
2462 /// default attributes to be used if they are not explicitly provided
2463 inline static const Attributes defaults = {
2464 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "isCollection", .value = Value(std::string("false"))}
2465 };
2466
2467 std::optional< std::reference_wrapper<tDataState> > dataState;
2468 std::optional< std::reference_wrapper<Attribute> > name; ///< Attribute value can be expected to be of type 'std::string'
2469 std::optional< std::reference_wrapper<Attribute> > itemSubjectRef; ///< Attribute value can be expected to be of type 'std::string'
2470 std::optional< std::reference_wrapper<Attribute> > isCollection; ///< Attribute value can be expected to be of type 'bool'
2471};
2472
2473} // namespace XML::bpmn
2474
2475#endif // XML_bpmn_tDataOutput_H
2476#ifndef XML_bpmn_dataOutput_H
2477#define XML_bpmn_dataOutput_H
2478#include <memory>
2479#include <optional>
2480#include <vector>
2481
2482
2483/**
2484 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
2485 */
2486namespace XML::bpmn {
2487
2488/**
2489 * Overview:
2490 * - Element name: dataOutput
2491 * - XML-Schema: xsd/Semantic.xsd
2492 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
2493 *
2494 * Members:
2495 * - dataState : tDataState [0..1] (from: tDataOutput)
2496 * - name : string [0..1] (from: tDataOutput)
2497 * - itemSubjectRef : QName [0..1] (from: tDataOutput)
2498 * - isCollection : boolean [0..1] (from: tDataOutput)
2499 * - documentation : tDocumentation [0..*] (from: tBaseElement)
2500 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
2501 * - id : ID [0..1] (from: tBaseElement)
2502 *
2503 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
2504 */
2505class dataOutput : public tDataOutput {
2506 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
2507private:
2508 static bool registerClass() {
2509 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:dataOutput"] = &createInstance<dataOutput>; // register function in factory
2510 return true;
2511 };
2512 inline static bool registered = registerClass();
2513protected:
2514 dataOutput(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
2515
2516public:
2517 /// default attributes to be used if they are not explicitly provided
2518 inline static const Attributes defaults = {
2519 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "isCollection", .value = Value(std::string("false"))}
2520 };
2521
2522};
2523
2524} // namespace XML::bpmn
2525
2526#endif // XML_bpmn_dataOutput_H
2527#ifndef XML_bpmn_tDataOutputAssociation_H
2528#define XML_bpmn_tDataOutputAssociation_H
2529#include <memory>
2530#include <optional>
2531#include <vector>
2532
2533
2534/**
2535 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
2536 */
2537namespace XML::bpmn {
2538
2539/**
2540 * Overview:
2541 * - Element name: tDataOutputAssociation
2542 * - XML-Schema: xsd/Semantic.xsd
2543 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
2544 *
2545 * Members:
2546 * - sourceRef : IDREF [0..*] (from: tDataAssociation)
2547 * - targetRef : IDREF [1..1] (from: tDataAssociation)
2548 * - transformation : tFormalExpression [0..1] (from: tDataAssociation)
2549 * - assignment : tAssignment [0..*] (from: tDataAssociation)
2550 * - documentation : tDocumentation [0..*] (from: tBaseElement)
2551 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
2552 * - id : ID [0..1] (from: tBaseElement)
2553 *
2554 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
2555 */
2557 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
2558private:
2559 static bool registerClass() {
2560 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tDataOutputAssociation"] = &createInstance<tDataOutputAssociation>; // register function in factory
2561 return true;
2562 };
2563 inline static bool registered = registerClass();
2564protected:
2565 tDataOutputAssociation(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
2566
2567 friend class tActivity;
2568 friend class tCatchEvent;
2569
2570public:
2571 /// default attributes to be used if they are not explicitly provided
2572 inline static const Attributes defaults = {
2573 };
2574
2575};
2576
2577} // namespace XML::bpmn
2578
2579#endif // XML_bpmn_tDataOutputAssociation_H
2580#ifndef XML_bpmn_dataOutputAssociation_H
2581#define XML_bpmn_dataOutputAssociation_H
2582#include <memory>
2583#include <optional>
2584#include <vector>
2585
2586
2587/**
2588 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
2589 */
2590namespace XML::bpmn {
2591
2592/**
2593 * Overview:
2594 * - Element name: dataOutputAssociation
2595 * - XML-Schema: xsd/Semantic.xsd
2596 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
2597 *
2598 * Members:
2599 * - sourceRef : IDREF [0..*] (from: tDataAssociation)
2600 * - targetRef : IDREF [1..1] (from: tDataAssociation)
2601 * - transformation : tFormalExpression [0..1] (from: tDataAssociation)
2602 * - assignment : tAssignment [0..*] (from: tDataAssociation)
2603 * - documentation : tDocumentation [0..*] (from: tBaseElement)
2604 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
2605 * - id : ID [0..1] (from: tBaseElement)
2606 *
2607 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
2608 */
2610 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
2611private:
2612 static bool registerClass() {
2613 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:dataOutputAssociation"] = &createInstance<dataOutputAssociation>; // register function in factory
2614 return true;
2615 };
2616 inline static bool registered = registerClass();
2617protected:
2618 dataOutputAssociation(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
2619
2620public:
2621 /// default attributes to be used if they are not explicitly provided
2622 inline static const Attributes defaults = {
2623 };
2624
2625};
2626
2627} // namespace XML::bpmn
2628
2629#endif // XML_bpmn_dataOutputAssociation_H
2630#ifndef XML_bpmn_tDataState_H
2631#define XML_bpmn_tDataState_H
2632#include <memory>
2633#include <optional>
2634#include <vector>
2635
2636
2637/**
2638 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
2639 */
2640namespace XML::bpmn {
2641
2642/**
2643 * Overview:
2644 * - Element name: tDataState
2645 * - XML-Schema: xsd/Semantic.xsd
2646 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
2647 *
2648 * Members:
2649 * - name : string [0..1]
2650 * - documentation : tDocumentation [0..*] (from: tBaseElement)
2651 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
2652 * - id : ID [0..1] (from: tBaseElement)
2653 *
2654 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
2655 */
2656class tDataState : public tBaseElement {
2657 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
2658private:
2659 static bool registerClass() {
2660 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tDataState"] = &createInstance<tDataState>; // register function in factory
2661 return true;
2662 };
2663 inline static bool registered = registerClass();
2664protected:
2665 tDataState(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
2666
2667 friend class tDataInput;
2668 friend class tDataObject;
2670 friend class tDataOutput;
2671 friend class tDataStore;
2673 friend class tProperty;
2674
2675public:
2676 /// default attributes to be used if they are not explicitly provided
2677 inline static const Attributes defaults = {
2678 };
2679
2680 std::optional< std::reference_wrapper<Attribute> > name; ///< Attribute value can be expected to be of type 'std::string'
2681};
2682
2683} // namespace XML::bpmn
2684
2685#endif // XML_bpmn_tDataState_H
2686#ifndef XML_bpmn_dataState_H
2687#define XML_bpmn_dataState_H
2688#include <memory>
2689#include <optional>
2690#include <vector>
2691
2692
2693/**
2694 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
2695 */
2696namespace XML::bpmn {
2697
2698/**
2699 * Overview:
2700 * - Element name: dataState
2701 * - XML-Schema: xsd/Semantic.xsd
2702 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
2703 *
2704 * Members:
2705 * - name : string [0..1] (from: tDataState)
2706 * - documentation : tDocumentation [0..*] (from: tBaseElement)
2707 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
2708 * - id : ID [0..1] (from: tBaseElement)
2709 *
2710 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
2711 */
2712class dataState : public tDataState {
2713 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
2714private:
2715 static bool registerClass() {
2716 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:dataState"] = &createInstance<dataState>; // register function in factory
2717 return true;
2718 };
2719 inline static bool registered = registerClass();
2720protected:
2721 dataState(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
2722
2723public:
2724 /// default attributes to be used if they are not explicitly provided
2725 inline static const Attributes defaults = {
2726 };
2727
2728};
2729
2730} // namespace XML::bpmn
2731
2732#endif // XML_bpmn_dataState_H
2733#ifndef XML_bpmn_tDefinitions_H
2734#define XML_bpmn_tDefinitions_H
2735#include <memory>
2736#include <optional>
2737#include <vector>
2738
2739
2740/**
2741 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
2742 */
2743namespace XML::bpmn {
2744
2745class tImport;
2746class tExtension;
2747class tRootElement;
2748class tProcess;
2749class BPMNDiagram;
2750class tRelationship;
2751
2752/**
2753 * Overview:
2754 * - Element name: tDefinitions
2755 * - XML-Schema: xsd/BPMN20.xsd
2756 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
2757 *
2758 * Members:
2759 * - import : tImport [0..*]
2760 * - extension : tExtension [0..*]
2761 * - rootElement : tRootElement [0..*]
2762 * - process : tProcess [0..*]
2763 * - bpmndi_BPMNDiagram : BPMNDiagram [0..*]
2764 * - relationship : tRelationship [0..*]
2765 * - id : ID [0..1]
2766 * - name : string [0..1]
2767 * - targetNamespace : anyURI [1..1]
2768 * - expressionLanguage : anyURI [0..1]
2769 * - typeLanguage : anyURI [0..1]
2770 * - exporter : string [0..1]
2771 * - exporterVersion : string [0..1]
2772 *
2773 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
2774 */
2775class tDefinitions : public XMLObject {
2776 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
2777private:
2778 static bool registerClass() {
2779 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tDefinitions"] = &createInstance<tDefinitions>; // register function in factory
2780 return true;
2781 };
2782 inline static bool registered = registerClass();
2783protected:
2784 tDefinitions(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
2785
2786public:
2787 /// default attributes to be used if they are not explicitly provided
2788 inline static const Attributes defaults = {
2789 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "expressionLanguage", .value = Value(std::string("http://www.w3.org/1999/XPath"))},
2790 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "typeLanguage", .value = Value(std::string("http://www.w3.org/2001/XMLSchema"))}
2791 };
2792
2793 std::vector< std::reference_wrapper<tImport> > import;
2794 std::vector< std::reference_wrapper<tExtension> > extension;
2795 std::vector< std::reference_wrapper<tRootElement> > rootElement;
2796 std::vector< std::reference_wrapper<tProcess> > process;
2797 std::vector< std::reference_wrapper<BPMNDiagram> > bpmndi_BPMNDiagram;
2798 std::vector< std::reference_wrapper<tRelationship> > relationship;
2799 std::optional< std::reference_wrapper<Attribute> > id; ///< Attribute value can be expected to be of type 'std::string'
2800 std::optional< std::reference_wrapper<Attribute> > name; ///< Attribute value can be expected to be of type 'std::string'
2801 Attribute& targetNamespace; ///< Attribute value can be expected to be of type 'std::string'
2802 std::optional< std::reference_wrapper<Attribute> > expressionLanguage; ///< Attribute value can be expected to be of type 'std::string'
2803 std::optional< std::reference_wrapper<Attribute> > typeLanguage; ///< Attribute value can be expected to be of type 'std::string'
2804 std::optional< std::reference_wrapper<Attribute> > exporter; ///< Attribute value can be expected to be of type 'std::string'
2805 std::optional< std::reference_wrapper<Attribute> > exporterVersion; ///< Attribute value can be expected to be of type 'std::string'
2806};
2807
2808} // namespace XML::bpmn
2809
2810#endif // XML_bpmn_tDefinitions_H
2811#ifndef XML_bpmn_definitions_H
2812#define XML_bpmn_definitions_H
2813#include <memory>
2814#include <optional>
2815#include <vector>
2816
2817
2818/**
2819 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
2820 */
2821namespace XML::bpmn {
2822
2823/**
2824 * Overview:
2825 * - Element name: definitions
2826 * - XML-Schema: xsd/BPMN20.xsd
2827 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
2828 *
2829 * Members:
2830 * - import : tImport [0..*] (from: tDefinitions)
2831 * - extension : tExtension [0..*] (from: tDefinitions)
2832 * - rootElement : tRootElement [0..*] (from: tDefinitions)
2833 * - process : tProcess [0..*] (from: tDefinitions)
2834 * - bpmndi_BPMNDiagram : BPMNDiagram [0..*] (from: tDefinitions)
2835 * - relationship : tRelationship [0..*] (from: tDefinitions)
2836 * - id : ID [0..1] (from: tDefinitions)
2837 * - name : string [0..1] (from: tDefinitions)
2838 * - targetNamespace : anyURI [1..1] (from: tDefinitions)
2839 * - expressionLanguage : anyURI [0..1] (from: tDefinitions)
2840 * - typeLanguage : anyURI [0..1] (from: tDefinitions)
2841 * - exporter : string [0..1] (from: tDefinitions)
2842 * - exporterVersion : string [0..1] (from: tDefinitions)
2843 *
2844 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
2845 */
2847 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
2848private:
2849 static bool registerClass() {
2850 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:definitions"] = &createInstance<definitions>; // register function in factory
2851 return true;
2852 };
2853 inline static bool registered = registerClass();
2854protected:
2855 definitions(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
2856
2857public:
2858 /// default attributes to be used if they are not explicitly provided
2859 inline static const Attributes defaults = {
2860 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "expressionLanguage", .value = Value(std::string("http://www.w3.org/1999/XPath"))},
2861 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "typeLanguage", .value = Value(std::string("http://www.w3.org/2001/XMLSchema"))}
2862 };
2863
2864};
2865
2866} // namespace XML::bpmn
2867
2868#endif // XML_bpmn_definitions_H
2869#ifndef XML_bpmn_tDocumentation_H
2870#define XML_bpmn_tDocumentation_H
2871#include <memory>
2872#include <optional>
2873#include <vector>
2874
2875
2876/**
2877 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
2878 */
2879namespace XML::bpmn {
2880
2881/**
2882 * Overview:
2883 * - Element name: tDocumentation
2884 * - XML-Schema: xsd/Semantic.xsd
2885 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
2886 *
2887 * Members:
2888 * - id : ID [0..1]
2889 * - textFormat : string [0..1]
2890 *
2891 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
2892 */
2894 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
2895private:
2896 static bool registerClass() {
2897 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tDocumentation"] = &createInstance<tDocumentation>; // register function in factory
2898 return true;
2899 };
2900 inline static bool registered = registerClass();
2901protected:
2902 tDocumentation(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
2903
2904 friend class tBaseElement;
2906 friend class tExtension;
2907
2908public:
2909 /// default attributes to be used if they are not explicitly provided
2910 inline static const Attributes defaults = {
2911 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "textFormat", .value = Value(std::string("text/plain"))}
2912 };
2913
2914 std::optional< std::reference_wrapper<Attribute> > id; ///< Attribute value can be expected to be of type 'std::string'
2915 std::optional< std::reference_wrapper<Attribute> > textFormat; ///< Attribute value can be expected to be of type 'std::string'
2916};
2917
2918} // namespace XML::bpmn
2919
2920#endif // XML_bpmn_tDocumentation_H
2921#ifndef XML_bpmn_documentation_H
2922#define XML_bpmn_documentation_H
2923#include <memory>
2924#include <optional>
2925#include <vector>
2926
2927
2928/**
2929 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
2930 */
2931namespace XML::bpmn {
2932
2933/**
2934 * Overview:
2935 * - Element name: documentation
2936 * - XML-Schema: xsd/Semantic.xsd
2937 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
2938 *
2939 * Members:
2940 * - id : ID [0..1] (from: tDocumentation)
2941 * - textFormat : string [0..1] (from: tDocumentation)
2942 *
2943 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
2944 */
2946 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
2947private:
2948 static bool registerClass() {
2949 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:documentation"] = &createInstance<documentation>; // register function in factory
2950 return true;
2951 };
2952 inline static bool registered = registerClass();
2953protected:
2954 documentation(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
2955
2956public:
2957 /// default attributes to be used if they are not explicitly provided
2958 inline static const Attributes defaults = {
2959 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "textFormat", .value = Value(std::string("text/plain"))}
2960 };
2961
2962};
2963
2964} // namespace XML::bpmn
2965
2966#endif // XML_bpmn_documentation_H
2967#ifndef XML_bpmn_tExpression_H
2968#define XML_bpmn_tExpression_H
2969#include <memory>
2970#include <optional>
2971#include <vector>
2972
2973
2974/**
2975 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
2976 */
2977namespace XML::bpmn {
2978
2979/**
2980 * Overview:
2981 * - Element name: tExpression
2982 * - XML-Schema: xsd/Semantic.xsd
2983 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
2984 *
2985 * Members:
2986 * - documentation : tDocumentation [0..*] (from: tBaseElementWithMixedContent)
2987 * - extensionElements : tExtensionElements [0..1] (from: tBaseElementWithMixedContent)
2988 * - id : ID [0..1] (from: tBaseElementWithMixedContent)
2989 *
2990 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
2991 */
2993 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
2994private:
2995 static bool registerClass() {
2996 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tExpression"] = &createInstance<tExpression>; // register function in factory
2997 return true;
2998 };
2999 inline static bool registered = registerClass();
3000protected:
3001 tExpression(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
3002
3003 friend class tAdHocSubProcess;
3004 friend class tAssignment;
3005 friend class tComplexGateway;
3010 friend class tSequenceFlow;
3013
3014public:
3015 /// default attributes to be used if they are not explicitly provided
3016 inline static const Attributes defaults = {
3017 };
3018
3019};
3020
3021} // namespace XML::bpmn
3022
3023#endif // XML_bpmn_tExpression_H
3024#ifndef XML_bpmn_expression_H
3025#define XML_bpmn_expression_H
3026#include <memory>
3027#include <optional>
3028#include <vector>
3029
3030
3031/**
3032 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
3033 */
3034namespace XML::bpmn {
3035
3036/**
3037 * Overview:
3038 * - Element name: expression
3039 * - XML-Schema: xsd/Semantic.xsd
3040 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
3041 *
3042 * Members:
3043 * - documentation : tDocumentation [0..*] (from: tBaseElementWithMixedContent)
3044 * - extensionElements : tExtensionElements [0..1] (from: tBaseElementWithMixedContent)
3045 * - id : ID [0..1] (from: tBaseElementWithMixedContent)
3046 *
3047 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
3048 */
3049class expression : public tExpression {
3050 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
3051private:
3052 static bool registerClass() {
3053 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:expression"] = &createInstance<expression>; // register function in factory
3054 return true;
3055 };
3056 inline static bool registered = registerClass();
3057protected:
3058 expression(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
3059
3060public:
3061 /// default attributes to be used if they are not explicitly provided
3062 inline static const Attributes defaults = {
3063 };
3064
3065};
3066
3067} // namespace XML::bpmn
3068
3069#endif // XML_bpmn_expression_H
3070#ifndef XML_bpmn_tExtension_H
3071#define XML_bpmn_tExtension_H
3072#include <memory>
3073#include <optional>
3074#include <vector>
3075
3076
3077/**
3078 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
3079 */
3080namespace XML::bpmn {
3081
3082class tDocumentation;
3083
3084/**
3085 * Overview:
3086 * - Element name: tExtension
3087 * - XML-Schema: xsd/Semantic.xsd
3088 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
3089 *
3090 * Members:
3091 * - documentation : tDocumentation [0..*]
3092 * - definition : QName [0..1]
3093 * - mustUnderstand : boolean [0..1]
3094 *
3095 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
3096 */
3097class tExtension : public XMLObject {
3098 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
3099private:
3100 static bool registerClass() {
3101 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tExtension"] = &createInstance<tExtension>; // register function in factory
3102 return true;
3103 };
3104 inline static bool registered = registerClass();
3105protected:
3106 tExtension(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
3107
3108 friend class tDefinitions;
3109
3110public:
3111 /// default attributes to be used if they are not explicitly provided
3112 inline static const Attributes defaults = {
3113 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "mustUnderstand", .value = Value(std::string("false"))}
3114 };
3115
3116 std::vector< std::reference_wrapper<tDocumentation> > documentation;
3117 std::optional< std::reference_wrapper<Attribute> > definition; ///< Attribute value can be expected to be of type 'std::string'
3118 std::optional< std::reference_wrapper<Attribute> > mustUnderstand; ///< Attribute value can be expected to be of type 'bool'
3119};
3120
3121} // namespace XML::bpmn
3122
3123#endif // XML_bpmn_tExtension_H
3124#ifndef XML_bpmn_extension_H
3125#define XML_bpmn_extension_H
3126#include <memory>
3127#include <optional>
3128#include <vector>
3129
3130
3131/**
3132 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
3133 */
3134namespace XML::bpmn {
3135
3136/**
3137 * Overview:
3138 * - Element name: extension
3139 * - XML-Schema: xsd/Semantic.xsd
3140 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
3141 *
3142 * Members:
3143 * - documentation : tDocumentation [0..*] (from: tExtension)
3144 * - definition : QName [0..1] (from: tExtension)
3145 * - mustUnderstand : boolean [0..1] (from: tExtension)
3146 *
3147 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
3148 */
3149class extension : public tExtension {
3150 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
3151private:
3152 static bool registerClass() {
3153 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:extension"] = &createInstance<extension>; // register function in factory
3154 return true;
3155 };
3156 inline static bool registered = registerClass();
3157protected:
3158 extension(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
3159
3160public:
3161 /// default attributes to be used if they are not explicitly provided
3162 inline static const Attributes defaults = {
3163 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "mustUnderstand", .value = Value(std::string("false"))}
3164 };
3165
3166};
3167
3168} // namespace XML::bpmn
3169
3170#endif // XML_bpmn_extension_H
3171#ifndef XML_bpmn_tExtensionElements_H
3172#define XML_bpmn_tExtensionElements_H
3173#include <memory>
3174#include <optional>
3175#include <vector>
3176
3177
3178/**
3179 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
3180 */
3181namespace XML::bpmn {
3182
3183/**
3184 * Overview:
3185 * - Element name: tExtensionElements
3186 * - XML-Schema: xsd/Semantic.xsd
3187 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
3188 *
3189 * Members:
3190 *
3191 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
3192 */
3194 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
3195private:
3196 static bool registerClass() {
3197 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tExtensionElements"] = &createInstance<tExtensionElements>; // register function in factory
3198 return true;
3199 };
3200 inline static bool registered = registerClass();
3201protected:
3202 tExtensionElements(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
3203
3204 friend class tBaseElement;
3206
3207public:
3208 /// default attributes to be used if they are not explicitly provided
3209 inline static const Attributes defaults = {
3210 };
3211
3212};
3213
3214} // namespace XML::bpmn
3215
3216#endif // XML_bpmn_tExtensionElements_H
3217#ifndef XML_bpmn_extensionElements_H
3218#define XML_bpmn_extensionElements_H
3219#include <memory>
3220#include <optional>
3221#include <vector>
3222
3223
3224/**
3225 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
3226 */
3227namespace XML::bpmn {
3228
3229/**
3230 * Overview:
3231 * - Element name: extensionElements
3232 * - XML-Schema: xsd/Semantic.xsd
3233 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
3234 *
3235 * Members:
3236 *
3237 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
3238 */
3240 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
3241private:
3242 static bool registerClass() {
3243 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:extensionElements"] = &createInstance<extensionElements>; // register function in factory
3244 return true;
3245 };
3246 inline static bool registered = registerClass();
3247protected:
3248 extensionElements(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
3249
3250public:
3251 /// default attributes to be used if they are not explicitly provided
3252 inline static const Attributes defaults = {
3253 };
3254
3255};
3256
3257} // namespace XML::bpmn
3258
3259#endif // XML_bpmn_extensionElements_H
3260#ifndef XML_bpmn_tFlowElement_H
3261#define XML_bpmn_tFlowElement_H
3262#include <memory>
3263#include <optional>
3264#include <vector>
3265
3266
3267/**
3268 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
3269 */
3270namespace XML::bpmn {
3271
3272class tAuditing;
3273class tMonitoring;
3274
3275/**
3276 * Overview:
3277 * - Element name: tFlowElement
3278 * - XML-Schema: xsd/Semantic.xsd
3279 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
3280 *
3281 * Members:
3282 * - auditing : tAuditing [0..1]
3283 * - monitoring : tMonitoring [0..1]
3284 * - categoryValueRef : QName [0..*]
3285 * - name : string [0..1]
3286 * - documentation : tDocumentation [0..*] (from: tBaseElement)
3287 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
3288 * - id : ID [0..1] (from: tBaseElement)
3289 *
3290 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
3291 */
3293 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
3294private:
3295 static bool registerClass() {
3296 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tFlowElement"] = &createInstance<tFlowElement>; // register function in factory
3297 return true;
3298 };
3299 inline static bool registered = registerClass();
3300protected:
3301 tFlowElement(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
3302
3303 friend class tChoreography;
3304 friend class tProcess;
3305 friend class tSubChoreography;
3306 friend class tSubProcess;
3307
3308public:
3309 /// default attributes to be used if they are not explicitly provided
3310 inline static const Attributes defaults = {
3311 };
3312
3313 std::optional< std::reference_wrapper<tAuditing> > auditing;
3314 std::optional< std::reference_wrapper<tMonitoring> > monitoring;
3315 std::vector< std::reference_wrapper<XMLObject> > categoryValueRef;
3316 std::optional< std::reference_wrapper<Attribute> > name; ///< Attribute value can be expected to be of type 'std::string'
3317};
3318
3319} // namespace XML::bpmn
3320
3321#endif // XML_bpmn_tFlowElement_H
3322#ifndef XML_bpmn_flowElement_H
3323#define XML_bpmn_flowElement_H
3324#include <memory>
3325#include <optional>
3326#include <vector>
3327
3328
3329/**
3330 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
3331 */
3332namespace XML::bpmn {
3333
3334/**
3335 * Overview:
3336 * - Element name: flowElement
3337 * - XML-Schema: xsd/Semantic.xsd
3338 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
3339 *
3340 * Members:
3341 * - auditing : tAuditing [0..1] (from: tFlowElement)
3342 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
3343 * - categoryValueRef : QName [0..*] (from: tFlowElement)
3344 * - name : string [0..1] (from: tFlowElement)
3345 * - documentation : tDocumentation [0..*] (from: tBaseElement)
3346 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
3347 * - id : ID [0..1] (from: tBaseElement)
3348 *
3349 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
3350 */
3352 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
3353private:
3354 static bool registerClass() {
3355 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:flowElement"] = &createInstance<flowElement>; // register function in factory
3356 return true;
3357 };
3358 inline static bool registered = registerClass();
3359protected:
3360 flowElement(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
3361
3362public:
3363 /// default attributes to be used if they are not explicitly provided
3364 inline static const Attributes defaults = {
3365 };
3366
3367};
3368
3369} // namespace XML::bpmn
3370
3371#endif // XML_bpmn_flowElement_H
3372#ifndef XML_bpmn_tDataObject_H
3373#define XML_bpmn_tDataObject_H
3374#include <memory>
3375#include <optional>
3376#include <vector>
3377
3378
3379/**
3380 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
3381 */
3382namespace XML::bpmn {
3383
3384class tDataState;
3385
3386/**
3387 * Overview:
3388 * - Element name: tDataObject
3389 * - XML-Schema: xsd/Semantic.xsd
3390 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
3391 *
3392 * Members:
3393 * - dataState : tDataState [0..1]
3394 * - itemSubjectRef : QName [0..1]
3395 * - isCollection : boolean [0..1]
3396 * - auditing : tAuditing [0..1] (from: tFlowElement)
3397 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
3398 * - categoryValueRef : QName [0..*] (from: tFlowElement)
3399 * - name : string [0..1] (from: tFlowElement)
3400 * - documentation : tDocumentation [0..*] (from: tBaseElement)
3401 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
3402 * - id : ID [0..1] (from: tBaseElement)
3403 *
3404 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
3405 */
3407 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
3408private:
3409 static bool registerClass() {
3410 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tDataObject"] = &createInstance<tDataObject>; // register function in factory
3411 return true;
3412 };
3413 inline static bool registered = registerClass();
3414protected:
3415 tDataObject(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
3416
3417public:
3418 /// default attributes to be used if they are not explicitly provided
3419 inline static const Attributes defaults = {
3420 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "isCollection", .value = Value(std::string("false"))}
3421 };
3422
3423 std::optional< std::reference_wrapper<tDataState> > dataState;
3424 std::optional< std::reference_wrapper<Attribute> > itemSubjectRef; ///< Attribute value can be expected to be of type 'std::string'
3425 std::optional< std::reference_wrapper<Attribute> > isCollection; ///< Attribute value can be expected to be of type 'bool'
3426};
3427
3428} // namespace XML::bpmn
3429
3430#endif // XML_bpmn_tDataObject_H
3431#ifndef XML_bpmn_dataObject_H
3432#define XML_bpmn_dataObject_H
3433#include <memory>
3434#include <optional>
3435#include <vector>
3436
3437
3438/**
3439 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
3440 */
3441namespace XML::bpmn {
3442
3443/**
3444 * Overview:
3445 * - Element name: dataObject
3446 * - XML-Schema: xsd/Semantic.xsd
3447 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
3448 *
3449 * Members:
3450 * - dataState : tDataState [0..1] (from: tDataObject)
3451 * - itemSubjectRef : QName [0..1] (from: tDataObject)
3452 * - isCollection : boolean [0..1] (from: tDataObject)
3453 * - auditing : tAuditing [0..1] (from: tFlowElement)
3454 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
3455 * - categoryValueRef : QName [0..*] (from: tFlowElement)
3456 * - name : string [0..1] (from: tFlowElement)
3457 * - documentation : tDocumentation [0..*] (from: tBaseElement)
3458 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
3459 * - id : ID [0..1] (from: tBaseElement)
3460 *
3461 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
3462 */
3463class dataObject : public tDataObject {
3464 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
3465private:
3466 static bool registerClass() {
3467 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:dataObject"] = &createInstance<dataObject>; // register function in factory
3468 return true;
3469 };
3470 inline static bool registered = registerClass();
3471protected:
3472 dataObject(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
3473
3474public:
3475 /// default attributes to be used if they are not explicitly provided
3476 inline static const Attributes defaults = {
3477 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "isCollection", .value = Value(std::string("false"))}
3478 };
3479
3480};
3481
3482} // namespace XML::bpmn
3483
3484#endif // XML_bpmn_dataObject_H
3485#ifndef XML_bpmn_tDataObjectReference_H
3486#define XML_bpmn_tDataObjectReference_H
3487#include <memory>
3488#include <optional>
3489#include <vector>
3490
3491
3492/**
3493 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
3494 */
3495namespace XML::bpmn {
3496
3497class tDataState;
3498
3499/**
3500 * Overview:
3501 * - Element name: tDataObjectReference
3502 * - XML-Schema: xsd/Semantic.xsd
3503 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
3504 *
3505 * Members:
3506 * - dataState : tDataState [0..1]
3507 * - itemSubjectRef : QName [0..1]
3508 * - dataObjectRef : IDREF [0..1]
3509 * - auditing : tAuditing [0..1] (from: tFlowElement)
3510 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
3511 * - categoryValueRef : QName [0..*] (from: tFlowElement)
3512 * - name : string [0..1] (from: tFlowElement)
3513 * - documentation : tDocumentation [0..*] (from: tBaseElement)
3514 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
3515 * - id : ID [0..1] (from: tBaseElement)
3516 *
3517 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
3518 */
3520 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
3521private:
3522 static bool registerClass() {
3523 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tDataObjectReference"] = &createInstance<tDataObjectReference>; // register function in factory
3524 return true;
3525 };
3526 inline static bool registered = registerClass();
3527protected:
3528 tDataObjectReference(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
3529
3530public:
3531 /// default attributes to be used if they are not explicitly provided
3532 inline static const Attributes defaults = {
3533 };
3534
3535 std::optional< std::reference_wrapper<tDataState> > dataState;
3536 std::optional< std::reference_wrapper<Attribute> > itemSubjectRef; ///< Attribute value can be expected to be of type 'std::string'
3537 std::optional< std::reference_wrapper<Attribute> > dataObjectRef; ///< Attribute value can be expected to be of type 'std::string'
3538};
3539
3540} // namespace XML::bpmn
3541
3542#endif // XML_bpmn_tDataObjectReference_H
3543#ifndef XML_bpmn_dataObjectReference_H
3544#define XML_bpmn_dataObjectReference_H
3545#include <memory>
3546#include <optional>
3547#include <vector>
3548
3549
3550/**
3551 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
3552 */
3553namespace XML::bpmn {
3554
3555/**
3556 * Overview:
3557 * - Element name: dataObjectReference
3558 * - XML-Schema: xsd/Semantic.xsd
3559 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
3560 *
3561 * Members:
3562 * - dataState : tDataState [0..1] (from: tDataObjectReference)
3563 * - itemSubjectRef : QName [0..1] (from: tDataObjectReference)
3564 * - dataObjectRef : IDREF [0..1] (from: tDataObjectReference)
3565 * - auditing : tAuditing [0..1] (from: tFlowElement)
3566 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
3567 * - categoryValueRef : QName [0..*] (from: tFlowElement)
3568 * - name : string [0..1] (from: tFlowElement)
3569 * - documentation : tDocumentation [0..*] (from: tBaseElement)
3570 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
3571 * - id : ID [0..1] (from: tBaseElement)
3572 *
3573 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
3574 */
3576 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
3577private:
3578 static bool registerClass() {
3579 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:dataObjectReference"] = &createInstance<dataObjectReference>; // register function in factory
3580 return true;
3581 };
3582 inline static bool registered = registerClass();
3583protected:
3584 dataObjectReference(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
3585
3586public:
3587 /// default attributes to be used if they are not explicitly provided
3588 inline static const Attributes defaults = {
3589 };
3590
3591};
3592
3593} // namespace XML::bpmn
3594
3595#endif // XML_bpmn_dataObjectReference_H
3596#ifndef XML_bpmn_tDataStoreReference_H
3597#define XML_bpmn_tDataStoreReference_H
3598#include <memory>
3599#include <optional>
3600#include <vector>
3601
3602
3603/**
3604 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
3605 */
3606namespace XML::bpmn {
3607
3608class tDataState;
3609
3610/**
3611 * Overview:
3612 * - Element name: tDataStoreReference
3613 * - XML-Schema: xsd/Semantic.xsd
3614 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
3615 *
3616 * Members:
3617 * - dataState : tDataState [0..1]
3618 * - itemSubjectRef : QName [0..1]
3619 * - dataStoreRef : QName [0..1]
3620 * - auditing : tAuditing [0..1] (from: tFlowElement)
3621 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
3622 * - categoryValueRef : QName [0..*] (from: tFlowElement)
3623 * - name : string [0..1] (from: tFlowElement)
3624 * - documentation : tDocumentation [0..*] (from: tBaseElement)
3625 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
3626 * - id : ID [0..1] (from: tBaseElement)
3627 *
3628 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
3629 */
3631 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
3632private:
3633 static bool registerClass() {
3634 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tDataStoreReference"] = &createInstance<tDataStoreReference>; // register function in factory
3635 return true;
3636 };
3637 inline static bool registered = registerClass();
3638protected:
3639 tDataStoreReference(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
3640
3641public:
3642 /// default attributes to be used if they are not explicitly provided
3643 inline static const Attributes defaults = {
3644 };
3645
3646 std::optional< std::reference_wrapper<tDataState> > dataState;
3647 std::optional< std::reference_wrapper<Attribute> > itemSubjectRef; ///< Attribute value can be expected to be of type 'std::string'
3648 std::optional< std::reference_wrapper<Attribute> > dataStoreRef; ///< Attribute value can be expected to be of type 'std::string'
3649};
3650
3651} // namespace XML::bpmn
3652
3653#endif // XML_bpmn_tDataStoreReference_H
3654#ifndef XML_bpmn_dataStoreReference_H
3655#define XML_bpmn_dataStoreReference_H
3656#include <memory>
3657#include <optional>
3658#include <vector>
3659
3660
3661/**
3662 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
3663 */
3664namespace XML::bpmn {
3665
3666/**
3667 * Overview:
3668 * - Element name: dataStoreReference
3669 * - XML-Schema: xsd/Semantic.xsd
3670 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
3671 *
3672 * Members:
3673 * - dataState : tDataState [0..1] (from: tDataStoreReference)
3674 * - itemSubjectRef : QName [0..1] (from: tDataStoreReference)
3675 * - dataStoreRef : QName [0..1] (from: tDataStoreReference)
3676 * - auditing : tAuditing [0..1] (from: tFlowElement)
3677 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
3678 * - categoryValueRef : QName [0..*] (from: tFlowElement)
3679 * - name : string [0..1] (from: tFlowElement)
3680 * - documentation : tDocumentation [0..*] (from: tBaseElement)
3681 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
3682 * - id : ID [0..1] (from: tBaseElement)
3683 *
3684 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
3685 */
3687 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
3688private:
3689 static bool registerClass() {
3690 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:dataStoreReference"] = &createInstance<dataStoreReference>; // register function in factory
3691 return true;
3692 };
3693 inline static bool registered = registerClass();
3694protected:
3695 dataStoreReference(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
3696
3697public:
3698 /// default attributes to be used if they are not explicitly provided
3699 inline static const Attributes defaults = {
3700 };
3701
3702};
3703
3704} // namespace XML::bpmn
3705
3706#endif // XML_bpmn_dataStoreReference_H
3707#ifndef XML_bpmn_tFlowNode_H
3708#define XML_bpmn_tFlowNode_H
3709#include <memory>
3710#include <optional>
3711#include <vector>
3712
3713
3714/**
3715 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
3716 */
3717namespace XML::bpmn {
3718
3719/**
3720 * Overview:
3721 * - Element name: tFlowNode
3722 * - XML-Schema: xsd/Semantic.xsd
3723 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
3724 *
3725 * Members:
3726 * - incoming : QName [0..*]
3727 * - outgoing : QName [0..*]
3728 * - auditing : tAuditing [0..1] (from: tFlowElement)
3729 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
3730 * - categoryValueRef : QName [0..*] (from: tFlowElement)
3731 * - name : string [0..1] (from: tFlowElement)
3732 * - documentation : tDocumentation [0..*] (from: tBaseElement)
3733 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
3734 * - id : ID [0..1] (from: tBaseElement)
3735 *
3736 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
3737 */
3738class tFlowNode : public tFlowElement {
3739 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
3740private:
3741 static bool registerClass() {
3742 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tFlowNode"] = &createInstance<tFlowNode>; // register function in factory
3743 return true;
3744 };
3745 inline static bool registered = registerClass();
3746protected:
3747 tFlowNode(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
3748
3749public:
3750 /// default attributes to be used if they are not explicitly provided
3751 inline static const Attributes defaults = {
3752 };
3753
3754 std::vector< std::reference_wrapper<XMLObject> > incoming;
3755 std::vector< std::reference_wrapper<XMLObject> > outgoing;
3756};
3757
3758} // namespace XML::bpmn
3759
3760#endif // XML_bpmn_tFlowNode_H
3761#ifndef XML_bpmn_flowNode_H
3762#define XML_bpmn_flowNode_H
3763#include <memory>
3764#include <optional>
3765#include <vector>
3766
3767
3768/**
3769 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
3770 */
3771namespace XML::bpmn {
3772
3773/**
3774 * Overview:
3775 * - Element name: flowNode
3776 * - XML-Schema: xsd/Semantic.xsd
3777 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
3778 *
3779 * Members:
3780 * - incoming : QName [0..*] (from: tFlowNode)
3781 * - outgoing : QName [0..*] (from: tFlowNode)
3782 * - auditing : tAuditing [0..1] (from: tFlowElement)
3783 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
3784 * - categoryValueRef : QName [0..*] (from: tFlowElement)
3785 * - name : string [0..1] (from: tFlowElement)
3786 * - documentation : tDocumentation [0..*] (from: tBaseElement)
3787 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
3788 * - id : ID [0..1] (from: tBaseElement)
3789 *
3790 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
3791 */
3792class flowNode : public tFlowNode {
3793 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
3794private:
3795 static bool registerClass() {
3796 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:flowNode"] = &createInstance<flowNode>; // register function in factory
3797 return true;
3798 };
3799 inline static bool registered = registerClass();
3800protected:
3801 flowNode(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
3802
3803public:
3804 /// default attributes to be used if they are not explicitly provided
3805 inline static const Attributes defaults = {
3806 };
3807
3808};
3809
3810} // namespace XML::bpmn
3811
3812#endif // XML_bpmn_flowNode_H
3813#ifndef XML_bpmn_tActivity_H
3814#define XML_bpmn_tActivity_H
3815#include <memory>
3816#include <optional>
3817#include <vector>
3818
3819
3820/**
3821 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
3822 */
3823namespace XML::bpmn {
3824
3825class tInputOutputSpecification;
3826class tProperty;
3827class tDataInputAssociation;
3828class tDataOutputAssociation;
3829class tResourceRole;
3830class tLoopCharacteristics;
3831
3832/**
3833 * Overview:
3834 * - Element name: tActivity
3835 * - XML-Schema: xsd/Semantic.xsd
3836 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
3837 *
3838 * Members:
3839 * - ioSpecification : tInputOutputSpecification [0..1]
3840 * - property : tProperty [0..*]
3841 * - dataInputAssociation : tDataInputAssociation [0..*]
3842 * - dataOutputAssociation : tDataOutputAssociation [0..*]
3843 * - resourceRole : tResourceRole [0..*]
3844 * - loopCharacteristics : tLoopCharacteristics [0..*]
3845 * - isForCompensation : boolean [0..1]
3846 * - startQuantity : integer [0..1]
3847 * - completionQuantity : integer [0..1]
3848 * - default : IDREF [0..1]
3849 * - incoming : QName [0..*] (from: tFlowNode)
3850 * - outgoing : QName [0..*] (from: tFlowNode)
3851 * - auditing : tAuditing [0..1] (from: tFlowElement)
3852 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
3853 * - categoryValueRef : QName [0..*] (from: tFlowElement)
3854 * - name : string [0..1] (from: tFlowElement)
3855 * - documentation : tDocumentation [0..*] (from: tBaseElement)
3856 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
3857 * - id : ID [0..1] (from: tBaseElement)
3858 *
3859 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
3860 */
3861class tActivity : public tFlowNode {
3862 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
3863private:
3864 static bool registerClass() {
3865 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tActivity"] = &createInstance<tActivity>; // register function in factory
3866 return true;
3867 };
3868 inline static bool registered = registerClass();
3869protected:
3870 tActivity(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
3871
3872public:
3873 /// default attributes to be used if they are not explicitly provided
3874 inline static const Attributes defaults = {
3875 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "isForCompensation", .value = Value(std::string("false"))},
3876 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "startQuantity", .value = Value(std::string("1"))},
3877 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "completionQuantity", .value = Value(std::string("1"))}
3878 };
3879
3880 std::optional< std::reference_wrapper<tInputOutputSpecification> > ioSpecification;
3881 std::vector< std::reference_wrapper<tProperty> > property;
3882 std::vector< std::reference_wrapper<tDataInputAssociation> > dataInputAssociation;
3883 std::vector< std::reference_wrapper<tDataOutputAssociation> > dataOutputAssociation;
3884 std::vector< std::reference_wrapper<tResourceRole> > resourceRole;
3885 std::vector< std::reference_wrapper<tLoopCharacteristics> > loopCharacteristics;
3886 std::optional< std::reference_wrapper<Attribute> > isForCompensation; ///< Attribute value can be expected to be of type 'bool'
3887 std::optional< std::reference_wrapper<Attribute> > startQuantity; ///< Attribute value can be expected to be of type 'int'
3888 std::optional< std::reference_wrapper<Attribute> > completionQuantity; ///< Attribute value can be expected to be of type 'int'
3889 std::optional< std::reference_wrapper<Attribute> > default_; ///< Attribute value can be expected to be of type 'std::string'
3890};
3891
3892} // namespace XML::bpmn
3893
3894#endif // XML_bpmn_tActivity_H
3895#ifndef XML_bpmn_activity_H
3896#define XML_bpmn_activity_H
3897#include <memory>
3898#include <optional>
3899#include <vector>
3900
3901
3902/**
3903 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
3904 */
3905namespace XML::bpmn {
3906
3907/**
3908 * Overview:
3909 * - Element name: activity
3910 * - XML-Schema: xsd/Semantic.xsd
3911 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
3912 *
3913 * Members:
3914 * - ioSpecification : tInputOutputSpecification [0..1] (from: tActivity)
3915 * - property : tProperty [0..*] (from: tActivity)
3916 * - dataInputAssociation : tDataInputAssociation [0..*] (from: tActivity)
3917 * - dataOutputAssociation : tDataOutputAssociation [0..*] (from: tActivity)
3918 * - resourceRole : tResourceRole [0..*] (from: tActivity)
3919 * - loopCharacteristics : tLoopCharacteristics [0..*] (from: tActivity)
3920 * - isForCompensation : boolean [0..1] (from: tActivity)
3921 * - startQuantity : integer [0..1] (from: tActivity)
3922 * - completionQuantity : integer [0..1] (from: tActivity)
3923 * - default : IDREF [0..1] (from: tActivity)
3924 * - incoming : QName [0..*] (from: tFlowNode)
3925 * - outgoing : QName [0..*] (from: tFlowNode)
3926 * - auditing : tAuditing [0..1] (from: tFlowElement)
3927 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
3928 * - categoryValueRef : QName [0..*] (from: tFlowElement)
3929 * - name : string [0..1] (from: tFlowElement)
3930 * - documentation : tDocumentation [0..*] (from: tBaseElement)
3931 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
3932 * - id : ID [0..1] (from: tBaseElement)
3933 *
3934 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
3935 */
3936class activity : public tActivity {
3937 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
3938private:
3939 static bool registerClass() {
3940 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:activity"] = &createInstance<activity>; // register function in factory
3941 return true;
3942 };
3943 inline static bool registered = registerClass();
3944protected:
3945 activity(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
3946
3947public:
3948 /// default attributes to be used if they are not explicitly provided
3949 inline static const Attributes defaults = {
3950 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "isForCompensation", .value = Value(std::string("false"))},
3951 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "startQuantity", .value = Value(std::string("1"))},
3952 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "completionQuantity", .value = Value(std::string("1"))}
3953 };
3954
3955};
3956
3957} // namespace XML::bpmn
3958
3959#endif // XML_bpmn_activity_H
3960#ifndef XML_bpmn_tCallActivity_H
3961#define XML_bpmn_tCallActivity_H
3962#include <memory>
3963#include <optional>
3964#include <vector>
3965
3966
3967/**
3968 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
3969 */
3970namespace XML::bpmn {
3971
3972/**
3973 * Overview:
3974 * - Element name: tCallActivity
3975 * - XML-Schema: xsd/Semantic.xsd
3976 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
3977 *
3978 * Members:
3979 * - calledElement : QName [0..1]
3980 * - ioSpecification : tInputOutputSpecification [0..1] (from: tActivity)
3981 * - property : tProperty [0..*] (from: tActivity)
3982 * - dataInputAssociation : tDataInputAssociation [0..*] (from: tActivity)
3983 * - dataOutputAssociation : tDataOutputAssociation [0..*] (from: tActivity)
3984 * - resourceRole : tResourceRole [0..*] (from: tActivity)
3985 * - loopCharacteristics : tLoopCharacteristics [0..*] (from: tActivity)
3986 * - isForCompensation : boolean [0..1] (from: tActivity)
3987 * - startQuantity : integer [0..1] (from: tActivity)
3988 * - completionQuantity : integer [0..1] (from: tActivity)
3989 * - default : IDREF [0..1] (from: tActivity)
3990 * - incoming : QName [0..*] (from: tFlowNode)
3991 * - outgoing : QName [0..*] (from: tFlowNode)
3992 * - auditing : tAuditing [0..1] (from: tFlowElement)
3993 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
3994 * - categoryValueRef : QName [0..*] (from: tFlowElement)
3995 * - name : string [0..1] (from: tFlowElement)
3996 * - documentation : tDocumentation [0..*] (from: tBaseElement)
3997 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
3998 * - id : ID [0..1] (from: tBaseElement)
3999 *
4000 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
4001 */
4002class tCallActivity : public tActivity {
4003 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
4004private:
4005 static bool registerClass() {
4006 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tCallActivity"] = &createInstance<tCallActivity>; // register function in factory
4007 return true;
4008 };
4009 inline static bool registered = registerClass();
4010protected:
4011 tCallActivity(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
4012
4013public:
4014 /// default attributes to be used if they are not explicitly provided
4015 inline static const Attributes defaults = {
4016 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "isForCompensation", .value = Value(std::string("false"))},
4017 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "startQuantity", .value = Value(std::string("1"))},
4018 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "completionQuantity", .value = Value(std::string("1"))}
4019 };
4020
4021 std::optional< std::reference_wrapper<Attribute> > calledElement; ///< Attribute value can be expected to be of type 'std::string'
4022};
4023
4024} // namespace XML::bpmn
4025
4026#endif // XML_bpmn_tCallActivity_H
4027#ifndef XML_bpmn_callActivity_H
4028#define XML_bpmn_callActivity_H
4029#include <memory>
4030#include <optional>
4031#include <vector>
4032
4033
4034/**
4035 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
4036 */
4037namespace XML::bpmn {
4038
4039/**
4040 * Overview:
4041 * - Element name: callActivity
4042 * - XML-Schema: xsd/Semantic.xsd
4043 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
4044 *
4045 * Members:
4046 * - calledElement : QName [0..1] (from: tCallActivity)
4047 * - ioSpecification : tInputOutputSpecification [0..1] (from: tActivity)
4048 * - property : tProperty [0..*] (from: tActivity)
4049 * - dataInputAssociation : tDataInputAssociation [0..*] (from: tActivity)
4050 * - dataOutputAssociation : tDataOutputAssociation [0..*] (from: tActivity)
4051 * - resourceRole : tResourceRole [0..*] (from: tActivity)
4052 * - loopCharacteristics : tLoopCharacteristics [0..*] (from: tActivity)
4053 * - isForCompensation : boolean [0..1] (from: tActivity)
4054 * - startQuantity : integer [0..1] (from: tActivity)
4055 * - completionQuantity : integer [0..1] (from: tActivity)
4056 * - default : IDREF [0..1] (from: tActivity)
4057 * - incoming : QName [0..*] (from: tFlowNode)
4058 * - outgoing : QName [0..*] (from: tFlowNode)
4059 * - auditing : tAuditing [0..1] (from: tFlowElement)
4060 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
4061 * - categoryValueRef : QName [0..*] (from: tFlowElement)
4062 * - name : string [0..1] (from: tFlowElement)
4063 * - documentation : tDocumentation [0..*] (from: tBaseElement)
4064 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
4065 * - id : ID [0..1] (from: tBaseElement)
4066 *
4067 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
4068 */
4070 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
4071private:
4072 static bool registerClass() {
4073 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:callActivity"] = &createInstance<callActivity>; // register function in factory
4074 return true;
4075 };
4076 inline static bool registered = registerClass();
4077protected:
4078 callActivity(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
4079
4080public:
4081 /// default attributes to be used if they are not explicitly provided
4082 inline static const Attributes defaults = {
4083 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "isForCompensation", .value = Value(std::string("false"))},
4084 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "startQuantity", .value = Value(std::string("1"))},
4085 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "completionQuantity", .value = Value(std::string("1"))}
4086 };
4087
4088};
4089
4090} // namespace XML::bpmn
4091
4092#endif // XML_bpmn_callActivity_H
4093#ifndef XML_bpmn_tChoreographyActivity_H
4094#define XML_bpmn_tChoreographyActivity_H
4095#include <memory>
4096#include <optional>
4097#include <vector>
4098
4099
4100/**
4101 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
4102 */
4103namespace XML::bpmn {
4104
4105class tCorrelationKey;
4106class tChoreographyLoopType;
4107
4108/**
4109 * Overview:
4110 * - Element name: tChoreographyActivity
4111 * - XML-Schema: xsd/Semantic.xsd
4112 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
4113 *
4114 * Members:
4115 * - participantRef : QName [2..*]
4116 * - correlationKey : tCorrelationKey [0..*]
4117 * - initiatingParticipantRef : QName [1..1]
4118 * - loopType : tChoreographyLoopType [0..1]
4119 * - incoming : QName [0..*] (from: tFlowNode)
4120 * - outgoing : QName [0..*] (from: tFlowNode)
4121 * - auditing : tAuditing [0..1] (from: tFlowElement)
4122 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
4123 * - categoryValueRef : QName [0..*] (from: tFlowElement)
4124 * - name : string [0..1] (from: tFlowElement)
4125 * - documentation : tDocumentation [0..*] (from: tBaseElement)
4126 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
4127 * - id : ID [0..1] (from: tBaseElement)
4128 *
4129 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
4130 */
4132 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
4133private:
4134 static bool registerClass() {
4135 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tChoreographyActivity"] = &createInstance<tChoreographyActivity>; // register function in factory
4136 return true;
4137 };
4138 inline static bool registered = registerClass();
4139protected:
4140 tChoreographyActivity(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
4141
4142public:
4143 /// default attributes to be used if they are not explicitly provided
4144 inline static const Attributes defaults = {
4145 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "loopType", .value = Value(std::string("None"))}
4146 };
4147
4148 std::vector< std::reference_wrapper<XMLObject> > participantRef;
4149 std::vector< std::reference_wrapper<tCorrelationKey> > correlationKey;
4150 Attribute& initiatingParticipantRef; ///< Attribute value can be expected to be of type 'std::string'
4151 std::optional< std::reference_wrapper<Attribute> > loopType; ///< Attribute value can be expected to be of type 'std::string'
4152};
4153
4154} // namespace XML::bpmn
4155
4156#endif // XML_bpmn_tChoreographyActivity_H
4157#ifndef XML_bpmn_choreographyActivity_H
4158#define XML_bpmn_choreographyActivity_H
4159#include <memory>
4160#include <optional>
4161#include <vector>
4162
4163
4164/**
4165 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
4166 */
4167namespace XML::bpmn {
4168
4169/**
4170 * Overview:
4171 * - Element name: choreographyActivity
4172 * - XML-Schema: xsd/Semantic.xsd
4173 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
4174 *
4175 * Members:
4176 * - participantRef : QName [2..*] (from: tChoreographyActivity)
4177 * - correlationKey : tCorrelationKey [0..*] (from: tChoreographyActivity)
4178 * - initiatingParticipantRef : QName [1..1] (from: tChoreographyActivity)
4179 * - loopType : tChoreographyLoopType [0..1] (from: tChoreographyActivity)
4180 * - incoming : QName [0..*] (from: tFlowNode)
4181 * - outgoing : QName [0..*] (from: tFlowNode)
4182 * - auditing : tAuditing [0..1] (from: tFlowElement)
4183 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
4184 * - categoryValueRef : QName [0..*] (from: tFlowElement)
4185 * - name : string [0..1] (from: tFlowElement)
4186 * - documentation : tDocumentation [0..*] (from: tBaseElement)
4187 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
4188 * - id : ID [0..1] (from: tBaseElement)
4189 *
4190 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
4191 */
4193 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
4194private:
4195 static bool registerClass() {
4196 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:choreographyActivity"] = &createInstance<choreographyActivity>; // register function in factory
4197 return true;
4198 };
4199 inline static bool registered = registerClass();
4200protected:
4201 choreographyActivity(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
4202
4203public:
4204 /// default attributes to be used if they are not explicitly provided
4205 inline static const Attributes defaults = {
4206 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "loopType", .value = Value(std::string("None"))}
4207 };
4208
4209};
4210
4211} // namespace XML::bpmn
4212
4213#endif // XML_bpmn_choreographyActivity_H
4214#ifndef XML_bpmn_tCallChoreography_H
4215#define XML_bpmn_tCallChoreography_H
4216#include <memory>
4217#include <optional>
4218#include <vector>
4219
4220
4221/**
4222 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
4223 */
4224namespace XML::bpmn {
4225
4226class tParticipantAssociation;
4227
4228/**
4229 * Overview:
4230 * - Element name: tCallChoreography
4231 * - XML-Schema: xsd/Semantic.xsd
4232 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
4233 *
4234 * Members:
4235 * - participantAssociation : tParticipantAssociation [0..*]
4236 * - calledChoreographyRef : QName [0..1]
4237 * - participantRef : QName [2..*] (from: tChoreographyActivity)
4238 * - correlationKey : tCorrelationKey [0..*] (from: tChoreographyActivity)
4239 * - initiatingParticipantRef : QName [1..1] (from: tChoreographyActivity)
4240 * - loopType : tChoreographyLoopType [0..1] (from: tChoreographyActivity)
4241 * - incoming : QName [0..*] (from: tFlowNode)
4242 * - outgoing : QName [0..*] (from: tFlowNode)
4243 * - auditing : tAuditing [0..1] (from: tFlowElement)
4244 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
4245 * - categoryValueRef : QName [0..*] (from: tFlowElement)
4246 * - name : string [0..1] (from: tFlowElement)
4247 * - documentation : tDocumentation [0..*] (from: tBaseElement)
4248 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
4249 * - id : ID [0..1] (from: tBaseElement)
4250 *
4251 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
4252 */
4254 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
4255private:
4256 static bool registerClass() {
4257 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tCallChoreography"] = &createInstance<tCallChoreography>; // register function in factory
4258 return true;
4259 };
4260 inline static bool registered = registerClass();
4261protected:
4262 tCallChoreography(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
4263
4264public:
4265 /// default attributes to be used if they are not explicitly provided
4266 inline static const Attributes defaults = {
4267 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "loopType", .value = Value(std::string("None"))}
4268 };
4269
4270 std::vector< std::reference_wrapper<tParticipantAssociation> > participantAssociation;
4271 std::optional< std::reference_wrapper<Attribute> > calledChoreographyRef; ///< Attribute value can be expected to be of type 'std::string'
4272};
4273
4274} // namespace XML::bpmn
4275
4276#endif // XML_bpmn_tCallChoreography_H
4277#ifndef XML_bpmn_callChoreography_H
4278#define XML_bpmn_callChoreography_H
4279#include <memory>
4280#include <optional>
4281#include <vector>
4282
4283
4284/**
4285 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
4286 */
4287namespace XML::bpmn {
4288
4289/**
4290 * Overview:
4291 * - Element name: callChoreography
4292 * - XML-Schema: xsd/Semantic.xsd
4293 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
4294 *
4295 * Members:
4296 * - participantAssociation : tParticipantAssociation [0..*] (from: tCallChoreography)
4297 * - calledChoreographyRef : QName [0..1] (from: tCallChoreography)
4298 * - participantRef : QName [2..*] (from: tChoreographyActivity)
4299 * - correlationKey : tCorrelationKey [0..*] (from: tChoreographyActivity)
4300 * - initiatingParticipantRef : QName [1..1] (from: tChoreographyActivity)
4301 * - loopType : tChoreographyLoopType [0..1] (from: tChoreographyActivity)
4302 * - incoming : QName [0..*] (from: tFlowNode)
4303 * - outgoing : QName [0..*] (from: tFlowNode)
4304 * - auditing : tAuditing [0..1] (from: tFlowElement)
4305 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
4306 * - categoryValueRef : QName [0..*] (from: tFlowElement)
4307 * - name : string [0..1] (from: tFlowElement)
4308 * - documentation : tDocumentation [0..*] (from: tBaseElement)
4309 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
4310 * - id : ID [0..1] (from: tBaseElement)
4311 *
4312 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
4313 */
4315 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
4316private:
4317 static bool registerClass() {
4318 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:callChoreography"] = &createInstance<callChoreography>; // register function in factory
4319 return true;
4320 };
4321 inline static bool registered = registerClass();
4322protected:
4323 callChoreography(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
4324
4325public:
4326 /// default attributes to be used if they are not explicitly provided
4327 inline static const Attributes defaults = {
4328 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "loopType", .value = Value(std::string("None"))}
4329 };
4330
4331};
4332
4333} // namespace XML::bpmn
4334
4335#endif // XML_bpmn_callChoreography_H
4336#ifndef XML_bpmn_tChoreographyTask_H
4337#define XML_bpmn_tChoreographyTask_H
4338#include <memory>
4339#include <optional>
4340#include <vector>
4341
4342
4343/**
4344 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
4345 */
4346namespace XML::bpmn {
4347
4348/**
4349 * Overview:
4350 * - Element name: tChoreographyTask
4351 * - XML-Schema: xsd/Semantic.xsd
4352 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
4353 *
4354 * Members:
4355 * - messageFlowRef : QName [1..2]
4356 * - participantRef : QName [2..*] (from: tChoreographyActivity)
4357 * - correlationKey : tCorrelationKey [0..*] (from: tChoreographyActivity)
4358 * - initiatingParticipantRef : QName [1..1] (from: tChoreographyActivity)
4359 * - loopType : tChoreographyLoopType [0..1] (from: tChoreographyActivity)
4360 * - incoming : QName [0..*] (from: tFlowNode)
4361 * - outgoing : QName [0..*] (from: tFlowNode)
4362 * - auditing : tAuditing [0..1] (from: tFlowElement)
4363 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
4364 * - categoryValueRef : QName [0..*] (from: tFlowElement)
4365 * - name : string [0..1] (from: tFlowElement)
4366 * - documentation : tDocumentation [0..*] (from: tBaseElement)
4367 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
4368 * - id : ID [0..1] (from: tBaseElement)
4369 *
4370 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
4371 */
4373 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
4374private:
4375 static bool registerClass() {
4376 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tChoreographyTask"] = &createInstance<tChoreographyTask>; // register function in factory
4377 return true;
4378 };
4379 inline static bool registered = registerClass();
4380protected:
4381 tChoreographyTask(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
4382
4383public:
4384 /// default attributes to be used if they are not explicitly provided
4385 inline static const Attributes defaults = {
4386 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "loopType", .value = Value(std::string("None"))}
4387 };
4388
4389 std::vector< std::reference_wrapper<XMLObject> > messageFlowRef;
4390};
4391
4392} // namespace XML::bpmn
4393
4394#endif // XML_bpmn_tChoreographyTask_H
4395#ifndef XML_bpmn_choreographyTask_H
4396#define XML_bpmn_choreographyTask_H
4397#include <memory>
4398#include <optional>
4399#include <vector>
4400
4401
4402/**
4403 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
4404 */
4405namespace XML::bpmn {
4406
4407/**
4408 * Overview:
4409 * - Element name: choreographyTask
4410 * - XML-Schema: xsd/Semantic.xsd
4411 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
4412 *
4413 * Members:
4414 * - messageFlowRef : QName [1..2] (from: tChoreographyTask)
4415 * - participantRef : QName [2..*] (from: tChoreographyActivity)
4416 * - correlationKey : tCorrelationKey [0..*] (from: tChoreographyActivity)
4417 * - initiatingParticipantRef : QName [1..1] (from: tChoreographyActivity)
4418 * - loopType : tChoreographyLoopType [0..1] (from: tChoreographyActivity)
4419 * - incoming : QName [0..*] (from: tFlowNode)
4420 * - outgoing : QName [0..*] (from: tFlowNode)
4421 * - auditing : tAuditing [0..1] (from: tFlowElement)
4422 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
4423 * - categoryValueRef : QName [0..*] (from: tFlowElement)
4424 * - name : string [0..1] (from: tFlowElement)
4425 * - documentation : tDocumentation [0..*] (from: tBaseElement)
4426 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
4427 * - id : ID [0..1] (from: tBaseElement)
4428 *
4429 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
4430 */
4432 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
4433private:
4434 static bool registerClass() {
4435 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:choreographyTask"] = &createInstance<choreographyTask>; // register function in factory
4436 return true;
4437 };
4438 inline static bool registered = registerClass();
4439protected:
4440 choreographyTask(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
4441
4442public:
4443 /// default attributes to be used if they are not explicitly provided
4444 inline static const Attributes defaults = {
4445 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "loopType", .value = Value(std::string("None"))}
4446 };
4447
4448};
4449
4450} // namespace XML::bpmn
4451
4452#endif // XML_bpmn_choreographyTask_H
4453#ifndef XML_bpmn_tEvent_H
4454#define XML_bpmn_tEvent_H
4455#include <memory>
4456#include <optional>
4457#include <vector>
4458
4459
4460/**
4461 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
4462 */
4463namespace XML::bpmn {
4464
4465class tProperty;
4466
4467/**
4468 * Overview:
4469 * - Element name: tEvent
4470 * - XML-Schema: xsd/Semantic.xsd
4471 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
4472 *
4473 * Members:
4474 * - property : tProperty [0..*]
4475 * - incoming : QName [0..*] (from: tFlowNode)
4476 * - outgoing : QName [0..*] (from: tFlowNode)
4477 * - auditing : tAuditing [0..1] (from: tFlowElement)
4478 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
4479 * - categoryValueRef : QName [0..*] (from: tFlowElement)
4480 * - name : string [0..1] (from: tFlowElement)
4481 * - documentation : tDocumentation [0..*] (from: tBaseElement)
4482 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
4483 * - id : ID [0..1] (from: tBaseElement)
4484 *
4485 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
4486 */
4487class tEvent : public tFlowNode {
4488 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
4489private:
4490 static bool registerClass() {
4491 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tEvent"] = &createInstance<tEvent>; // register function in factory
4492 return true;
4493 };
4494 inline static bool registered = registerClass();
4495protected:
4496 tEvent(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
4497
4498public:
4499 /// default attributes to be used if they are not explicitly provided
4500 inline static const Attributes defaults = {
4501 };
4502
4503 std::vector< std::reference_wrapper<tProperty> > property;
4504};
4505
4506} // namespace XML::bpmn
4507
4508#endif // XML_bpmn_tEvent_H
4509#ifndef XML_bpmn_event_H
4510#define XML_bpmn_event_H
4511#include <memory>
4512#include <optional>
4513#include <vector>
4514
4515
4516/**
4517 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
4518 */
4519namespace XML::bpmn {
4520
4521/**
4522 * Overview:
4523 * - Element name: event
4524 * - XML-Schema: xsd/Semantic.xsd
4525 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
4526 *
4527 * Members:
4528 * - property : tProperty [0..*] (from: tEvent)
4529 * - incoming : QName [0..*] (from: tFlowNode)
4530 * - outgoing : QName [0..*] (from: tFlowNode)
4531 * - auditing : tAuditing [0..1] (from: tFlowElement)
4532 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
4533 * - categoryValueRef : QName [0..*] (from: tFlowElement)
4534 * - name : string [0..1] (from: tFlowElement)
4535 * - documentation : tDocumentation [0..*] (from: tBaseElement)
4536 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
4537 * - id : ID [0..1] (from: tBaseElement)
4538 *
4539 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
4540 */
4541class event : public tEvent {
4542 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
4543private:
4544 static bool registerClass() {
4545 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:event"] = &createInstance<event>; // register function in factory
4546 return true;
4547 };
4548 inline static bool registered = registerClass();
4549protected:
4550 event(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
4551
4552public:
4553 /// default attributes to be used if they are not explicitly provided
4554 inline static const Attributes defaults = {
4555 };
4556
4557};
4558
4559} // namespace XML::bpmn
4560
4561#endif // XML_bpmn_event_H
4562#ifndef XML_bpmn_tCatchEvent_H
4563#define XML_bpmn_tCatchEvent_H
4564#include <memory>
4565#include <optional>
4566#include <vector>
4567
4568
4569/**
4570 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
4571 */
4572namespace XML::bpmn {
4573
4574class tDataOutput;
4575class tDataOutputAssociation;
4576class tOutputSet;
4577class tEventDefinition;
4578
4579/**
4580 * Overview:
4581 * - Element name: tCatchEvent
4582 * - XML-Schema: xsd/Semantic.xsd
4583 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
4584 *
4585 * Members:
4586 * - dataOutput : tDataOutput [0..*]
4587 * - dataOutputAssociation : tDataOutputAssociation [0..*]
4588 * - outputSet : tOutputSet [0..1]
4589 * - eventDefinition : tEventDefinition [0..*]
4590 * - eventDefinitionRef : QName [0..*]
4591 * - parallelMultiple : boolean [0..1]
4592 * - property : tProperty [0..*] (from: tEvent)
4593 * - incoming : QName [0..*] (from: tFlowNode)
4594 * - outgoing : QName [0..*] (from: tFlowNode)
4595 * - auditing : tAuditing [0..1] (from: tFlowElement)
4596 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
4597 * - categoryValueRef : QName [0..*] (from: tFlowElement)
4598 * - name : string [0..1] (from: tFlowElement)
4599 * - documentation : tDocumentation [0..*] (from: tBaseElement)
4600 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
4601 * - id : ID [0..1] (from: tBaseElement)
4602 *
4603 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
4604 */
4605class tCatchEvent : public tEvent {
4606 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
4607private:
4608 static bool registerClass() {
4609 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tCatchEvent"] = &createInstance<tCatchEvent>; // register function in factory
4610 return true;
4611 };
4612 inline static bool registered = registerClass();
4613protected:
4614 tCatchEvent(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
4615
4616public:
4617 /// default attributes to be used if they are not explicitly provided
4618 inline static const Attributes defaults = {
4619 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "parallelMultiple", .value = Value(std::string("false"))}
4620 };
4621
4622 std::vector< std::reference_wrapper<tDataOutput> > dataOutput;
4623 std::vector< std::reference_wrapper<tDataOutputAssociation> > dataOutputAssociation;
4624 std::optional< std::reference_wrapper<tOutputSet> > outputSet;
4625 std::vector< std::reference_wrapper<tEventDefinition> > eventDefinition;
4626 std::vector< std::reference_wrapper<XMLObject> > eventDefinitionRef;
4627 std::optional< std::reference_wrapper<Attribute> > parallelMultiple; ///< Attribute value can be expected to be of type 'bool'
4628};
4629
4630} // namespace XML::bpmn
4631
4632#endif // XML_bpmn_tCatchEvent_H
4633#ifndef XML_bpmn_catchEvent_H
4634#define XML_bpmn_catchEvent_H
4635#include <memory>
4636#include <optional>
4637#include <vector>
4638
4639
4640/**
4641 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
4642 */
4643namespace XML::bpmn {
4644
4645/**
4646 * Overview:
4647 * - Element name: catchEvent
4648 * - XML-Schema: xsd/Semantic.xsd
4649 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
4650 *
4651 * Members:
4652 * - dataOutput : tDataOutput [0..*] (from: tCatchEvent)
4653 * - dataOutputAssociation : tDataOutputAssociation [0..*] (from: tCatchEvent)
4654 * - outputSet : tOutputSet [0..1] (from: tCatchEvent)
4655 * - eventDefinition : tEventDefinition [0..*] (from: tCatchEvent)
4656 * - eventDefinitionRef : QName [0..*] (from: tCatchEvent)
4657 * - parallelMultiple : boolean [0..1] (from: tCatchEvent)
4658 * - property : tProperty [0..*] (from: tEvent)
4659 * - incoming : QName [0..*] (from: tFlowNode)
4660 * - outgoing : QName [0..*] (from: tFlowNode)
4661 * - auditing : tAuditing [0..1] (from: tFlowElement)
4662 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
4663 * - categoryValueRef : QName [0..*] (from: tFlowElement)
4664 * - name : string [0..1] (from: tFlowElement)
4665 * - documentation : tDocumentation [0..*] (from: tBaseElement)
4666 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
4667 * - id : ID [0..1] (from: tBaseElement)
4668 *
4669 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
4670 */
4671class catchEvent : public tCatchEvent {
4672 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
4673private:
4674 static bool registerClass() {
4675 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:catchEvent"] = &createInstance<catchEvent>; // register function in factory
4676 return true;
4677 };
4678 inline static bool registered = registerClass();
4679protected:
4680 catchEvent(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
4681
4682public:
4683 /// default attributes to be used if they are not explicitly provided
4684 inline static const Attributes defaults = {
4685 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "parallelMultiple", .value = Value(std::string("false"))}
4686 };
4687
4688};
4689
4690} // namespace XML::bpmn
4691
4692#endif // XML_bpmn_catchEvent_H
4693#ifndef XML_bpmn_tBoundaryEvent_H
4694#define XML_bpmn_tBoundaryEvent_H
4695#include <memory>
4696#include <optional>
4697#include <vector>
4698
4699
4700/**
4701 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
4702 */
4703namespace XML::bpmn {
4704
4705/**
4706 * Overview:
4707 * - Element name: tBoundaryEvent
4708 * - XML-Schema: xsd/Semantic.xsd
4709 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
4710 *
4711 * Members:
4712 * - cancelActivity : boolean [0..1]
4713 * - attachedToRef : QName [1..1]
4714 * - dataOutput : tDataOutput [0..*] (from: tCatchEvent)
4715 * - dataOutputAssociation : tDataOutputAssociation [0..*] (from: tCatchEvent)
4716 * - outputSet : tOutputSet [0..1] (from: tCatchEvent)
4717 * - eventDefinition : tEventDefinition [0..*] (from: tCatchEvent)
4718 * - eventDefinitionRef : QName [0..*] (from: tCatchEvent)
4719 * - parallelMultiple : boolean [0..1] (from: tCatchEvent)
4720 * - property : tProperty [0..*] (from: tEvent)
4721 * - incoming : QName [0..*] (from: tFlowNode)
4722 * - outgoing : QName [0..*] (from: tFlowNode)
4723 * - auditing : tAuditing [0..1] (from: tFlowElement)
4724 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
4725 * - categoryValueRef : QName [0..*] (from: tFlowElement)
4726 * - name : string [0..1] (from: tFlowElement)
4727 * - documentation : tDocumentation [0..*] (from: tBaseElement)
4728 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
4729 * - id : ID [0..1] (from: tBaseElement)
4730 *
4731 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
4732 */
4734 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
4735private:
4736 static bool registerClass() {
4737 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tBoundaryEvent"] = &createInstance<tBoundaryEvent>; // register function in factory
4738 return true;
4739 };
4740 inline static bool registered = registerClass();
4741protected:
4742 tBoundaryEvent(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
4743
4744public:
4745 /// default attributes to be used if they are not explicitly provided
4746 inline static const Attributes defaults = {
4747 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "cancelActivity", .value = Value(std::string("true"))},
4748 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "parallelMultiple", .value = Value(std::string("false"))}
4749 };
4750
4751 std::optional< std::reference_wrapper<Attribute> > cancelActivity; ///< Attribute value can be expected to be of type 'bool'
4752 Attribute& attachedToRef; ///< Attribute value can be expected to be of type 'std::string'
4753};
4754
4755} // namespace XML::bpmn
4756
4757#endif // XML_bpmn_tBoundaryEvent_H
4758#ifndef XML_bpmn_boundaryEvent_H
4759#define XML_bpmn_boundaryEvent_H
4760#include <memory>
4761#include <optional>
4762#include <vector>
4763
4764
4765/**
4766 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
4767 */
4768namespace XML::bpmn {
4769
4770/**
4771 * Overview:
4772 * - Element name: boundaryEvent
4773 * - XML-Schema: xsd/Semantic.xsd
4774 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
4775 *
4776 * Members:
4777 * - cancelActivity : boolean [0..1] (from: tBoundaryEvent)
4778 * - attachedToRef : QName [1..1] (from: tBoundaryEvent)
4779 * - dataOutput : tDataOutput [0..*] (from: tCatchEvent)
4780 * - dataOutputAssociation : tDataOutputAssociation [0..*] (from: tCatchEvent)
4781 * - outputSet : tOutputSet [0..1] (from: tCatchEvent)
4782 * - eventDefinition : tEventDefinition [0..*] (from: tCatchEvent)
4783 * - eventDefinitionRef : QName [0..*] (from: tCatchEvent)
4784 * - parallelMultiple : boolean [0..1] (from: tCatchEvent)
4785 * - property : tProperty [0..*] (from: tEvent)
4786 * - incoming : QName [0..*] (from: tFlowNode)
4787 * - outgoing : QName [0..*] (from: tFlowNode)
4788 * - auditing : tAuditing [0..1] (from: tFlowElement)
4789 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
4790 * - categoryValueRef : QName [0..*] (from: tFlowElement)
4791 * - name : string [0..1] (from: tFlowElement)
4792 * - documentation : tDocumentation [0..*] (from: tBaseElement)
4793 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
4794 * - id : ID [0..1] (from: tBaseElement)
4795 *
4796 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
4797 */
4799 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
4800private:
4801 static bool registerClass() {
4802 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:boundaryEvent"] = &createInstance<boundaryEvent>; // register function in factory
4803 return true;
4804 };
4805 inline static bool registered = registerClass();
4806protected:
4807 boundaryEvent(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
4808
4809public:
4810 /// default attributes to be used if they are not explicitly provided
4811 inline static const Attributes defaults = {
4812 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "cancelActivity", .value = Value(std::string("true"))},
4813 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "parallelMultiple", .value = Value(std::string("false"))}
4814 };
4815
4816};
4817
4818} // namespace XML::bpmn
4819
4820#endif // XML_bpmn_boundaryEvent_H
4821#ifndef XML_bpmn_tFormalExpression_H
4822#define XML_bpmn_tFormalExpression_H
4823#include <memory>
4824#include <optional>
4825#include <vector>
4826
4827
4828/**
4829 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
4830 */
4831namespace XML::bpmn {
4832
4833/**
4834 * Overview:
4835 * - Element name: tFormalExpression
4836 * - XML-Schema: xsd/Semantic.xsd
4837 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
4838 *
4839 * Members:
4840 * - language : anyURI [0..1]
4841 * - evaluatesToTypeRef : QName [0..1]
4842 * - documentation : tDocumentation [0..*] (from: tBaseElementWithMixedContent)
4843 * - extensionElements : tExtensionElements [0..1] (from: tBaseElementWithMixedContent)
4844 * - id : ID [0..1] (from: tBaseElementWithMixedContent)
4845 *
4846 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
4847 */
4849 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
4850private:
4851 static bool registerClass() {
4852 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tFormalExpression"] = &createInstance<tFormalExpression>; // register function in factory
4853 return true;
4854 };
4855 inline static bool registered = registerClass();
4856protected:
4857 tFormalExpression(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
4858
4862 friend class tDataAssociation;
4863
4864public:
4865 /// default attributes to be used if they are not explicitly provided
4866 inline static const Attributes defaults = {
4867 };
4868
4869 std::optional< std::reference_wrapper<Attribute> > language; ///< Attribute value can be expected to be of type 'std::string'
4870 std::optional< std::reference_wrapper<Attribute> > evaluatesToTypeRef; ///< Attribute value can be expected to be of type 'std::string'
4871};
4872
4873} // namespace XML::bpmn
4874
4875#endif // XML_bpmn_tFormalExpression_H
4876#ifndef XML_bpmn_formalExpression_H
4877#define XML_bpmn_formalExpression_H
4878#include <memory>
4879#include <optional>
4880#include <vector>
4881
4882
4883/**
4884 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
4885 */
4886namespace XML::bpmn {
4887
4888/**
4889 * Overview:
4890 * - Element name: formalExpression
4891 * - XML-Schema: xsd/Semantic.xsd
4892 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
4893 *
4894 * Members:
4895 * - language : anyURI [0..1] (from: tFormalExpression)
4896 * - evaluatesToTypeRef : QName [0..1] (from: tFormalExpression)
4897 * - documentation : tDocumentation [0..*] (from: tBaseElementWithMixedContent)
4898 * - extensionElements : tExtensionElements [0..1] (from: tBaseElementWithMixedContent)
4899 * - id : ID [0..1] (from: tBaseElementWithMixedContent)
4900 *
4901 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
4902 */
4904 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
4905private:
4906 static bool registerClass() {
4907 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:formalExpression"] = &createInstance<formalExpression>; // register function in factory
4908 return true;
4909 };
4910 inline static bool registered = registerClass();
4911protected:
4912 formalExpression(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
4913
4914public:
4915 /// default attributes to be used if they are not explicitly provided
4916 inline static const Attributes defaults = {
4917 };
4918
4919};
4920
4921} // namespace XML::bpmn
4922
4923#endif // XML_bpmn_formalExpression_H
4924#ifndef XML_bpmn_tGateway_H
4925#define XML_bpmn_tGateway_H
4926#include <memory>
4927#include <optional>
4928#include <vector>
4929
4930
4931/**
4932 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
4933 */
4934namespace XML::bpmn {
4935
4936class tGatewayDirection;
4937
4938/**
4939 * Overview:
4940 * - Element name: tGateway
4941 * - XML-Schema: xsd/Semantic.xsd
4942 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
4943 *
4944 * Members:
4945 * - gatewayDirection : tGatewayDirection [0..1]
4946 * - incoming : QName [0..*] (from: tFlowNode)
4947 * - outgoing : QName [0..*] (from: tFlowNode)
4948 * - auditing : tAuditing [0..1] (from: tFlowElement)
4949 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
4950 * - categoryValueRef : QName [0..*] (from: tFlowElement)
4951 * - name : string [0..1] (from: tFlowElement)
4952 * - documentation : tDocumentation [0..*] (from: tBaseElement)
4953 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
4954 * - id : ID [0..1] (from: tBaseElement)
4955 *
4956 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
4957 */
4958class tGateway : public tFlowNode {
4959 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
4960private:
4961 static bool registerClass() {
4962 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tGateway"] = &createInstance<tGateway>; // register function in factory
4963 return true;
4964 };
4965 inline static bool registered = registerClass();
4966protected:
4967 tGateway(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
4968
4969public:
4970 /// default attributes to be used if they are not explicitly provided
4971 inline static const Attributes defaults = {
4972 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "gatewayDirection", .value = Value(std::string("Unspecified"))}
4973 };
4974
4975 std::optional< std::reference_wrapper<Attribute> > gatewayDirection; ///< Attribute value can be expected to be of type 'std::string'
4976};
4977
4978} // namespace XML::bpmn
4979
4980#endif // XML_bpmn_tGateway_H
4981#ifndef XML_bpmn_gateway_H
4982#define XML_bpmn_gateway_H
4983#include <memory>
4984#include <optional>
4985#include <vector>
4986
4987
4988/**
4989 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
4990 */
4991namespace XML::bpmn {
4992
4993/**
4994 * Overview:
4995 * - Element name: gateway
4996 * - XML-Schema: xsd/Semantic.xsd
4997 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
4998 *
4999 * Members:
5000 * - gatewayDirection : tGatewayDirection [0..1] (from: tGateway)
5001 * - incoming : QName [0..*] (from: tFlowNode)
5002 * - outgoing : QName [0..*] (from: tFlowNode)
5003 * - auditing : tAuditing [0..1] (from: tFlowElement)
5004 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
5005 * - categoryValueRef : QName [0..*] (from: tFlowElement)
5006 * - name : string [0..1] (from: tFlowElement)
5007 * - documentation : tDocumentation [0..*] (from: tBaseElement)
5008 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
5009 * - id : ID [0..1] (from: tBaseElement)
5010 *
5011 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
5012 */
5013class gateway : public tGateway {
5014 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
5015private:
5016 static bool registerClass() {
5017 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:gateway"] = &createInstance<gateway>; // register function in factory
5018 return true;
5019 };
5020 inline static bool registered = registerClass();
5021protected:
5022 gateway(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
5023
5024public:
5025 /// default attributes to be used if they are not explicitly provided
5026 inline static const Attributes defaults = {
5027 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "gatewayDirection", .value = Value(std::string("Unspecified"))}
5028 };
5029
5030};
5031
5032} // namespace XML::bpmn
5033
5034#endif // XML_bpmn_gateway_H
5035#ifndef XML_bpmn_tComplexGateway_H
5036#define XML_bpmn_tComplexGateway_H
5037#include <memory>
5038#include <optional>
5039#include <vector>
5040
5041
5042/**
5043 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
5044 */
5045namespace XML::bpmn {
5046
5047class tExpression;
5048
5049/**
5050 * Overview:
5051 * - Element name: tComplexGateway
5052 * - XML-Schema: xsd/Semantic.xsd
5053 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
5054 *
5055 * Members:
5056 * - activationCondition : tExpression [0..1]
5057 * - default : IDREF [0..1]
5058 * - gatewayDirection : tGatewayDirection [0..1] (from: tGateway)
5059 * - incoming : QName [0..*] (from: tFlowNode)
5060 * - outgoing : QName [0..*] (from: tFlowNode)
5061 * - auditing : tAuditing [0..1] (from: tFlowElement)
5062 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
5063 * - categoryValueRef : QName [0..*] (from: tFlowElement)
5064 * - name : string [0..1] (from: tFlowElement)
5065 * - documentation : tDocumentation [0..*] (from: tBaseElement)
5066 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
5067 * - id : ID [0..1] (from: tBaseElement)
5068 *
5069 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
5070 */
5072 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
5073private:
5074 static bool registerClass() {
5075 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tComplexGateway"] = &createInstance<tComplexGateway>; // register function in factory
5076 return true;
5077 };
5078 inline static bool registered = registerClass();
5079protected:
5080 tComplexGateway(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
5081
5082public:
5083 /// default attributes to be used if they are not explicitly provided
5084 inline static const Attributes defaults = {
5085 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "gatewayDirection", .value = Value(std::string("Unspecified"))}
5086 };
5087
5088 std::optional< std::reference_wrapper<tExpression> > activationCondition;
5089 std::optional< std::reference_wrapper<Attribute> > default_; ///< Attribute value can be expected to be of type 'std::string'
5090};
5091
5092} // namespace XML::bpmn
5093
5094#endif // XML_bpmn_tComplexGateway_H
5095#ifndef XML_bpmn_complexGateway_H
5096#define XML_bpmn_complexGateway_H
5097#include <memory>
5098#include <optional>
5099#include <vector>
5100
5101
5102/**
5103 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
5104 */
5105namespace XML::bpmn {
5106
5107/**
5108 * Overview:
5109 * - Element name: complexGateway
5110 * - XML-Schema: xsd/Semantic.xsd
5111 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
5112 *
5113 * Members:
5114 * - activationCondition : tExpression [0..1] (from: tComplexGateway)
5115 * - default : IDREF [0..1] (from: tComplexGateway)
5116 * - gatewayDirection : tGatewayDirection [0..1] (from: tGateway)
5117 * - incoming : QName [0..*] (from: tFlowNode)
5118 * - outgoing : QName [0..*] (from: tFlowNode)
5119 * - auditing : tAuditing [0..1] (from: tFlowElement)
5120 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
5121 * - categoryValueRef : QName [0..*] (from: tFlowElement)
5122 * - name : string [0..1] (from: tFlowElement)
5123 * - documentation : tDocumentation [0..*] (from: tBaseElement)
5124 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
5125 * - id : ID [0..1] (from: tBaseElement)
5126 *
5127 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
5128 */
5130 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
5131private:
5132 static bool registerClass() {
5133 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:complexGateway"] = &createInstance<complexGateway>; // register function in factory
5134 return true;
5135 };
5136 inline static bool registered = registerClass();
5137protected:
5138 complexGateway(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
5139
5140public:
5141 /// default attributes to be used if they are not explicitly provided
5142 inline static const Attributes defaults = {
5143 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "gatewayDirection", .value = Value(std::string("Unspecified"))}
5144 };
5145
5146};
5147
5148} // namespace XML::bpmn
5149
5150#endif // XML_bpmn_complexGateway_H
5151#ifndef XML_bpmn_tEventBasedGateway_H
5152#define XML_bpmn_tEventBasedGateway_H
5153#include <memory>
5154#include <optional>
5155#include <vector>
5156
5157
5158/**
5159 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
5160 */
5161namespace XML::bpmn {
5162
5163class tEventBasedGatewayType;
5164
5165/**
5166 * Overview:
5167 * - Element name: tEventBasedGateway
5168 * - XML-Schema: xsd/Semantic.xsd
5169 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
5170 *
5171 * Members:
5172 * - instantiate : boolean [0..1]
5173 * - eventGatewayType : tEventBasedGatewayType [0..1]
5174 * - gatewayDirection : tGatewayDirection [0..1] (from: tGateway)
5175 * - incoming : QName [0..*] (from: tFlowNode)
5176 * - outgoing : QName [0..*] (from: tFlowNode)
5177 * - auditing : tAuditing [0..1] (from: tFlowElement)
5178 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
5179 * - categoryValueRef : QName [0..*] (from: tFlowElement)
5180 * - name : string [0..1] (from: tFlowElement)
5181 * - documentation : tDocumentation [0..*] (from: tBaseElement)
5182 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
5183 * - id : ID [0..1] (from: tBaseElement)
5184 *
5185 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
5186 */
5188 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
5189private:
5190 static bool registerClass() {
5191 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tEventBasedGateway"] = &createInstance<tEventBasedGateway>; // register function in factory
5192 return true;
5193 };
5194 inline static bool registered = registerClass();
5195protected:
5196 tEventBasedGateway(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
5197
5198public:
5199 /// default attributes to be used if they are not explicitly provided
5200 inline static const Attributes defaults = {
5201 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "instantiate", .value = Value(std::string("false"))},
5202 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "eventGatewayType", .value = Value(std::string("Exclusive"))},
5203 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "gatewayDirection", .value = Value(std::string("Unspecified"))}
5204 };
5205
5206 std::optional< std::reference_wrapper<Attribute> > instantiate; ///< Attribute value can be expected to be of type 'bool'
5207 std::optional< std::reference_wrapper<Attribute> > eventGatewayType; ///< Attribute value can be expected to be of type 'std::string'
5208};
5209
5210} // namespace XML::bpmn
5211
5212#endif // XML_bpmn_tEventBasedGateway_H
5213#ifndef XML_bpmn_eventBasedGateway_H
5214#define XML_bpmn_eventBasedGateway_H
5215#include <memory>
5216#include <optional>
5217#include <vector>
5218
5219
5220/**
5221 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
5222 */
5223namespace XML::bpmn {
5224
5225/**
5226 * Overview:
5227 * - Element name: eventBasedGateway
5228 * - XML-Schema: xsd/Semantic.xsd
5229 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
5230 *
5231 * Members:
5232 * - instantiate : boolean [0..1] (from: tEventBasedGateway)
5233 * - eventGatewayType : tEventBasedGatewayType [0..1] (from: tEventBasedGateway)
5234 * - gatewayDirection : tGatewayDirection [0..1] (from: tGateway)
5235 * - incoming : QName [0..*] (from: tFlowNode)
5236 * - outgoing : QName [0..*] (from: tFlowNode)
5237 * - auditing : tAuditing [0..1] (from: tFlowElement)
5238 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
5239 * - categoryValueRef : QName [0..*] (from: tFlowElement)
5240 * - name : string [0..1] (from: tFlowElement)
5241 * - documentation : tDocumentation [0..*] (from: tBaseElement)
5242 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
5243 * - id : ID [0..1] (from: tBaseElement)
5244 *
5245 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
5246 */
5248 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
5249private:
5250 static bool registerClass() {
5251 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:eventBasedGateway"] = &createInstance<eventBasedGateway>; // register function in factory
5252 return true;
5253 };
5254 inline static bool registered = registerClass();
5255protected:
5256 eventBasedGateway(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
5257
5258public:
5259 /// default attributes to be used if they are not explicitly provided
5260 inline static const Attributes defaults = {
5261 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "instantiate", .value = Value(std::string("false"))},
5262 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "eventGatewayType", .value = Value(std::string("Exclusive"))},
5263 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "gatewayDirection", .value = Value(std::string("Unspecified"))}
5264 };
5265
5266};
5267
5268} // namespace XML::bpmn
5269
5270#endif // XML_bpmn_eventBasedGateway_H
5271#ifndef XML_bpmn_tExclusiveGateway_H
5272#define XML_bpmn_tExclusiveGateway_H
5273#include <memory>
5274#include <optional>
5275#include <vector>
5276
5277
5278/**
5279 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
5280 */
5281namespace XML::bpmn {
5282
5283/**
5284 * Overview:
5285 * - Element name: tExclusiveGateway
5286 * - XML-Schema: xsd/Semantic.xsd
5287 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
5288 *
5289 * Members:
5290 * - default : IDREF [0..1]
5291 * - gatewayDirection : tGatewayDirection [0..1] (from: tGateway)
5292 * - incoming : QName [0..*] (from: tFlowNode)
5293 * - outgoing : QName [0..*] (from: tFlowNode)
5294 * - auditing : tAuditing [0..1] (from: tFlowElement)
5295 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
5296 * - categoryValueRef : QName [0..*] (from: tFlowElement)
5297 * - name : string [0..1] (from: tFlowElement)
5298 * - documentation : tDocumentation [0..*] (from: tBaseElement)
5299 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
5300 * - id : ID [0..1] (from: tBaseElement)
5301 *
5302 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
5303 */
5305 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
5306private:
5307 static bool registerClass() {
5308 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tExclusiveGateway"] = &createInstance<tExclusiveGateway>; // register function in factory
5309 return true;
5310 };
5311 inline static bool registered = registerClass();
5312protected:
5313 tExclusiveGateway(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
5314
5315public:
5316 /// default attributes to be used if they are not explicitly provided
5317 inline static const Attributes defaults = {
5318 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "gatewayDirection", .value = Value(std::string("Unspecified"))}
5319 };
5320
5321 std::optional< std::reference_wrapper<Attribute> > default_; ///< Attribute value can be expected to be of type 'std::string'
5322};
5323
5324} // namespace XML::bpmn
5325
5326#endif // XML_bpmn_tExclusiveGateway_H
5327#ifndef XML_bpmn_exclusiveGateway_H
5328#define XML_bpmn_exclusiveGateway_H
5329#include <memory>
5330#include <optional>
5331#include <vector>
5332
5333
5334/**
5335 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
5336 */
5337namespace XML::bpmn {
5338
5339/**
5340 * Overview:
5341 * - Element name: exclusiveGateway
5342 * - XML-Schema: xsd/Semantic.xsd
5343 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
5344 *
5345 * Members:
5346 * - default : IDREF [0..1] (from: tExclusiveGateway)
5347 * - gatewayDirection : tGatewayDirection [0..1] (from: tGateway)
5348 * - incoming : QName [0..*] (from: tFlowNode)
5349 * - outgoing : QName [0..*] (from: tFlowNode)
5350 * - auditing : tAuditing [0..1] (from: tFlowElement)
5351 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
5352 * - categoryValueRef : QName [0..*] (from: tFlowElement)
5353 * - name : string [0..1] (from: tFlowElement)
5354 * - documentation : tDocumentation [0..*] (from: tBaseElement)
5355 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
5356 * - id : ID [0..1] (from: tBaseElement)
5357 *
5358 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
5359 */
5361 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
5362private:
5363 static bool registerClass() {
5364 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:exclusiveGateway"] = &createInstance<exclusiveGateway>; // register function in factory
5365 return true;
5366 };
5367 inline static bool registered = registerClass();
5368protected:
5369 exclusiveGateway(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
5370
5371public:
5372 /// default attributes to be used if they are not explicitly provided
5373 inline static const Attributes defaults = {
5374 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "gatewayDirection", .value = Value(std::string("Unspecified"))}
5375 };
5376
5377};
5378
5379} // namespace XML::bpmn
5380
5381#endif // XML_bpmn_exclusiveGateway_H
5382#ifndef XML_bpmn_tGroup_H
5383#define XML_bpmn_tGroup_H
5384#include <memory>
5385#include <optional>
5386#include <vector>
5387
5388
5389/**
5390 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
5391 */
5392namespace XML::bpmn {
5393
5394/**
5395 * Overview:
5396 * - Element name: tGroup
5397 * - XML-Schema: xsd/Semantic.xsd
5398 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
5399 *
5400 * Members:
5401 * - categoryValueRef : QName [0..1]
5402 * - documentation : tDocumentation [0..*] (from: tBaseElement)
5403 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
5404 * - id : ID [0..1] (from: tBaseElement)
5405 *
5406 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
5407 */
5408class tGroup : public tArtifact {
5409 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
5410private:
5411 static bool registerClass() {
5412 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tGroup"] = &createInstance<tGroup>; // register function in factory
5413 return true;
5414 };
5415 inline static bool registered = registerClass();
5416protected:
5417 tGroup(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
5418
5419public:
5420 /// default attributes to be used if they are not explicitly provided
5421 inline static const Attributes defaults = {
5422 };
5423
5424 std::optional< std::reference_wrapper<Attribute> > categoryValueRef; ///< Attribute value can be expected to be of type 'std::string'
5425};
5426
5427} // namespace XML::bpmn
5428
5429#endif // XML_bpmn_tGroup_H
5430#ifndef XML_bpmn_group_H
5431#define XML_bpmn_group_H
5432#include <memory>
5433#include <optional>
5434#include <vector>
5435
5436
5437/**
5438 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
5439 */
5440namespace XML::bpmn {
5441
5442/**
5443 * Overview:
5444 * - Element name: group
5445 * - XML-Schema: xsd/Semantic.xsd
5446 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
5447 *
5448 * Members:
5449 * - categoryValueRef : QName [0..1] (from: tGroup)
5450 * - documentation : tDocumentation [0..*] (from: tBaseElement)
5451 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
5452 * - id : ID [0..1] (from: tBaseElement)
5453 *
5454 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
5455 */
5456class group : public tGroup {
5457 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
5458private:
5459 static bool registerClass() {
5460 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:group"] = &createInstance<group>; // register function in factory
5461 return true;
5462 };
5463 inline static bool registered = registerClass();
5464protected:
5465 group(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
5466
5467public:
5468 /// default attributes to be used if they are not explicitly provided
5469 inline static const Attributes defaults = {
5470 };
5471
5472};
5473
5474} // namespace XML::bpmn
5475
5476#endif // XML_bpmn_group_H
5477#ifndef XML_bpmn_tImport_H
5478#define XML_bpmn_tImport_H
5479#include <memory>
5480#include <optional>
5481#include <vector>
5482
5483
5484/**
5485 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
5486 */
5487namespace XML::bpmn {
5488
5489/**
5490 * Overview:
5491 * - Element name: tImport
5492 * - XML-Schema: xsd/BPMN20.xsd
5493 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
5494 *
5495 * Members:
5496 * - namespace : anyURI [1..1]
5497 * - location : string [1..1]
5498 * - importType : anyURI [1..1]
5499 *
5500 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
5501 */
5502class tImport : public XMLObject {
5503 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
5504private:
5505 static bool registerClass() {
5506 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tImport"] = &createInstance<tImport>; // register function in factory
5507 return true;
5508 };
5509 inline static bool registered = registerClass();
5510protected:
5511 tImport(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
5512
5513 friend class tDefinitions;
5514
5515public:
5516 /// default attributes to be used if they are not explicitly provided
5517 inline static const Attributes defaults = {
5518 };
5519
5520 Attribute& namespace_; ///< Attribute value can be expected to be of type 'std::string'
5521 Attribute& location; ///< Attribute value can be expected to be of type 'std::string'
5522 Attribute& importType; ///< Attribute value can be expected to be of type 'std::string'
5523};
5524
5525} // namespace XML::bpmn
5526
5527#endif // XML_bpmn_tImport_H
5528#ifndef XML_bpmn_import_H
5529#define XML_bpmn_import_H
5530#include <memory>
5531#include <optional>
5532#include <vector>
5533
5534
5535/**
5536 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
5537 */
5538namespace XML::bpmn {
5539
5540/**
5541 * Overview:
5542 * - Element name: import
5543 * - XML-Schema: xsd/BPMN20.xsd
5544 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
5545 *
5546 * Members:
5547 * - namespace : anyURI [1..1] (from: tImport)
5548 * - location : string [1..1] (from: tImport)
5549 * - importType : anyURI [1..1] (from: tImport)
5550 *
5551 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
5552 */
5553class import : public tImport {
5554 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
5555private:
5556 static bool registerClass() {
5557 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:import"] = &createInstance<import>; // register function in factory
5558 return true;
5559 };
5560 inline static bool registered = registerClass();
5561protected:
5562 import(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
5563
5564public:
5565 /// default attributes to be used if they are not explicitly provided
5566 inline static const Attributes defaults = {
5567 };
5568
5569};
5570
5571} // namespace XML::bpmn
5572
5573#endif // XML_bpmn_import_H
5574#ifndef XML_bpmn_tInclusiveGateway_H
5575#define XML_bpmn_tInclusiveGateway_H
5576#include <memory>
5577#include <optional>
5578#include <vector>
5579
5580
5581/**
5582 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
5583 */
5584namespace XML::bpmn {
5585
5586/**
5587 * Overview:
5588 * - Element name: tInclusiveGateway
5589 * - XML-Schema: xsd/Semantic.xsd
5590 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
5591 *
5592 * Members:
5593 * - default : IDREF [0..1]
5594 * - gatewayDirection : tGatewayDirection [0..1] (from: tGateway)
5595 * - incoming : QName [0..*] (from: tFlowNode)
5596 * - outgoing : QName [0..*] (from: tFlowNode)
5597 * - auditing : tAuditing [0..1] (from: tFlowElement)
5598 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
5599 * - categoryValueRef : QName [0..*] (from: tFlowElement)
5600 * - name : string [0..1] (from: tFlowElement)
5601 * - documentation : tDocumentation [0..*] (from: tBaseElement)
5602 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
5603 * - id : ID [0..1] (from: tBaseElement)
5604 *
5605 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
5606 */
5608 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
5609private:
5610 static bool registerClass() {
5611 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tInclusiveGateway"] = &createInstance<tInclusiveGateway>; // register function in factory
5612 return true;
5613 };
5614 inline static bool registered = registerClass();
5615protected:
5616 tInclusiveGateway(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
5617
5618public:
5619 /// default attributes to be used if they are not explicitly provided
5620 inline static const Attributes defaults = {
5621 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "gatewayDirection", .value = Value(std::string("Unspecified"))}
5622 };
5623
5624 std::optional< std::reference_wrapper<Attribute> > default_; ///< Attribute value can be expected to be of type 'std::string'
5625};
5626
5627} // namespace XML::bpmn
5628
5629#endif // XML_bpmn_tInclusiveGateway_H
5630#ifndef XML_bpmn_inclusiveGateway_H
5631#define XML_bpmn_inclusiveGateway_H
5632#include <memory>
5633#include <optional>
5634#include <vector>
5635
5636
5637/**
5638 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
5639 */
5640namespace XML::bpmn {
5641
5642/**
5643 * Overview:
5644 * - Element name: inclusiveGateway
5645 * - XML-Schema: xsd/Semantic.xsd
5646 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
5647 *
5648 * Members:
5649 * - default : IDREF [0..1] (from: tInclusiveGateway)
5650 * - gatewayDirection : tGatewayDirection [0..1] (from: tGateway)
5651 * - incoming : QName [0..*] (from: tFlowNode)
5652 * - outgoing : QName [0..*] (from: tFlowNode)
5653 * - auditing : tAuditing [0..1] (from: tFlowElement)
5654 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
5655 * - categoryValueRef : QName [0..*] (from: tFlowElement)
5656 * - name : string [0..1] (from: tFlowElement)
5657 * - documentation : tDocumentation [0..*] (from: tBaseElement)
5658 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
5659 * - id : ID [0..1] (from: tBaseElement)
5660 *
5661 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
5662 */
5664 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
5665private:
5666 static bool registerClass() {
5667 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:inclusiveGateway"] = &createInstance<inclusiveGateway>; // register function in factory
5668 return true;
5669 };
5670 inline static bool registered = registerClass();
5671protected:
5672 inclusiveGateway(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
5673
5674public:
5675 /// default attributes to be used if they are not explicitly provided
5676 inline static const Attributes defaults = {
5677 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "gatewayDirection", .value = Value(std::string("Unspecified"))}
5678 };
5679
5680};
5681
5682} // namespace XML::bpmn
5683
5684#endif // XML_bpmn_inclusiveGateway_H
5685#ifndef XML_bpmn_tInputOutputBinding_H
5686#define XML_bpmn_tInputOutputBinding_H
5687#include <memory>
5688#include <optional>
5689#include <vector>
5690
5691
5692/**
5693 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
5694 */
5695namespace XML::bpmn {
5696
5697/**
5698 * Overview:
5699 * - Element name: tInputOutputBinding
5700 * - XML-Schema: xsd/Semantic.xsd
5701 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
5702 *
5703 * Members:
5704 * - operationRef : QName [1..1]
5705 * - inputDataRef : IDREF [1..1]
5706 * - outputDataRef : IDREF [1..1]
5707 * - documentation : tDocumentation [0..*] (from: tBaseElement)
5708 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
5709 * - id : ID [0..1] (from: tBaseElement)
5710 *
5711 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
5712 */
5714 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
5715private:
5716 static bool registerClass() {
5717 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tInputOutputBinding"] = &createInstance<tInputOutputBinding>; // register function in factory
5718 return true;
5719 };
5720 inline static bool registered = registerClass();
5721protected:
5722 tInputOutputBinding(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
5723
5724 friend class tCallableElement;
5725
5726public:
5727 /// default attributes to be used if they are not explicitly provided
5728 inline static const Attributes defaults = {
5729 };
5730
5731 Attribute& operationRef; ///< Attribute value can be expected to be of type 'std::string'
5732 Attribute& inputDataRef; ///< Attribute value can be expected to be of type 'std::string'
5733 Attribute& outputDataRef; ///< Attribute value can be expected to be of type 'std::string'
5734};
5735
5736} // namespace XML::bpmn
5737
5738#endif // XML_bpmn_tInputOutputBinding_H
5739#ifndef XML_bpmn_ioBinding_H
5740#define XML_bpmn_ioBinding_H
5741#include <memory>
5742#include <optional>
5743#include <vector>
5744
5745
5746/**
5747 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
5748 */
5749namespace XML::bpmn {
5750
5751/**
5752 * Overview:
5753 * - Element name: ioBinding
5754 * - XML-Schema: xsd/Semantic.xsd
5755 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
5756 *
5757 * Members:
5758 * - operationRef : QName [1..1] (from: tInputOutputBinding)
5759 * - inputDataRef : IDREF [1..1] (from: tInputOutputBinding)
5760 * - outputDataRef : IDREF [1..1] (from: tInputOutputBinding)
5761 * - documentation : tDocumentation [0..*] (from: tBaseElement)
5762 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
5763 * - id : ID [0..1] (from: tBaseElement)
5764 *
5765 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
5766 */
5768 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
5769private:
5770 static bool registerClass() {
5771 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:ioBinding"] = &createInstance<ioBinding>; // register function in factory
5772 return true;
5773 };
5774 inline static bool registered = registerClass();
5775protected:
5776 ioBinding(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
5777
5778public:
5779 /// default attributes to be used if they are not explicitly provided
5780 inline static const Attributes defaults = {
5781 };
5782
5783};
5784
5785} // namespace XML::bpmn
5786
5787#endif // XML_bpmn_ioBinding_H
5788#ifndef XML_bpmn_tInputOutputSpecification_H
5789#define XML_bpmn_tInputOutputSpecification_H
5790#include <memory>
5791#include <optional>
5792#include <vector>
5793
5794
5795/**
5796 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
5797 */
5798namespace XML::bpmn {
5799
5800class tDataInput;
5801class tDataOutput;
5802class tInputSet;
5803class tOutputSet;
5804
5805/**
5806 * Overview:
5807 * - Element name: tInputOutputSpecification
5808 * - XML-Schema: xsd/Semantic.xsd
5809 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
5810 *
5811 * Members:
5812 * - dataInput : tDataInput [0..*]
5813 * - dataOutput : tDataOutput [0..*]
5814 * - inputSet : tInputSet [1..*]
5815 * - outputSet : tOutputSet [1..*]
5816 * - documentation : tDocumentation [0..*] (from: tBaseElement)
5817 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
5818 * - id : ID [0..1] (from: tBaseElement)
5819 *
5820 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
5821 */
5823 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
5824private:
5825 static bool registerClass() {
5826 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tInputOutputSpecification"] = &createInstance<tInputOutputSpecification>; // register function in factory
5827 return true;
5828 };
5829 inline static bool registered = registerClass();
5830protected:
5831 tInputOutputSpecification(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
5832
5833 friend class tActivity;
5834 friend class tCallableElement;
5835
5836public:
5837 /// default attributes to be used if they are not explicitly provided
5838 inline static const Attributes defaults = {
5839 };
5840
5841 std::vector< std::reference_wrapper<tDataInput> > dataInput;
5842 std::vector< std::reference_wrapper<tDataOutput> > dataOutput;
5843 std::vector< std::reference_wrapper<tInputSet> > inputSet;
5844 std::vector< std::reference_wrapper<tOutputSet> > outputSet;
5845};
5846
5847} // namespace XML::bpmn
5848
5849#endif // XML_bpmn_tInputOutputSpecification_H
5850#ifndef XML_bpmn_ioSpecification_H
5851#define XML_bpmn_ioSpecification_H
5852#include <memory>
5853#include <optional>
5854#include <vector>
5855
5856
5857/**
5858 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
5859 */
5860namespace XML::bpmn {
5861
5862/**
5863 * Overview:
5864 * - Element name: ioSpecification
5865 * - XML-Schema: xsd/Semantic.xsd
5866 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
5867 *
5868 * Members:
5869 * - dataInput : tDataInput [0..*] (from: tInputOutputSpecification)
5870 * - dataOutput : tDataOutput [0..*] (from: tInputOutputSpecification)
5871 * - inputSet : tInputSet [1..*] (from: tInputOutputSpecification)
5872 * - outputSet : tOutputSet [1..*] (from: tInputOutputSpecification)
5873 * - documentation : tDocumentation [0..*] (from: tBaseElement)
5874 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
5875 * - id : ID [0..1] (from: tBaseElement)
5876 *
5877 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
5878 */
5880 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
5881private:
5882 static bool registerClass() {
5883 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:ioSpecification"] = &createInstance<ioSpecification>; // register function in factory
5884 return true;
5885 };
5886 inline static bool registered = registerClass();
5887protected:
5888 ioSpecification(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
5889
5890public:
5891 /// default attributes to be used if they are not explicitly provided
5892 inline static const Attributes defaults = {
5893 };
5894
5895};
5896
5897} // namespace XML::bpmn
5898
5899#endif // XML_bpmn_ioSpecification_H
5900#ifndef XML_bpmn_tInputSet_H
5901#define XML_bpmn_tInputSet_H
5902#include <memory>
5903#include <optional>
5904#include <vector>
5905
5906
5907/**
5908 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
5909 */
5910namespace XML::bpmn {
5911
5912/**
5913 * Overview:
5914 * - Element name: tInputSet
5915 * - XML-Schema: xsd/Semantic.xsd
5916 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
5917 *
5918 * Members:
5919 * - dataInputRefs : IDREF [0..*]
5920 * - optionalInputRefs : IDREF [0..*]
5921 * - whileExecutingInputRefs : IDREF [0..*]
5922 * - outputSetRefs : IDREF [0..*]
5923 * - name : string [0..1]
5924 * - documentation : tDocumentation [0..*] (from: tBaseElement)
5925 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
5926 * - id : ID [0..1] (from: tBaseElement)
5927 *
5928 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
5929 */
5930class tInputSet : public tBaseElement {
5931 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
5932private:
5933 static bool registerClass() {
5934 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tInputSet"] = &createInstance<tInputSet>; // register function in factory
5935 return true;
5936 };
5937 inline static bool registered = registerClass();
5938protected:
5939 tInputSet(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
5940
5942 friend class tThrowEvent;
5943
5944public:
5945 /// default attributes to be used if they are not explicitly provided
5946 inline static const Attributes defaults = {
5947 };
5948
5949 std::vector< std::reference_wrapper<XMLObject> > dataInputRefs;
5950 std::vector< std::reference_wrapper<XMLObject> > optionalInputRefs;
5951 std::vector< std::reference_wrapper<XMLObject> > whileExecutingInputRefs;
5952 std::vector< std::reference_wrapper<XMLObject> > outputSetRefs;
5953 std::optional< std::reference_wrapper<Attribute> > name; ///< Attribute value can be expected to be of type 'std::string'
5954};
5955
5956} // namespace XML::bpmn
5957
5958#endif // XML_bpmn_tInputSet_H
5959#ifndef XML_bpmn_inputSet_H
5960#define XML_bpmn_inputSet_H
5961#include <memory>
5962#include <optional>
5963#include <vector>
5964
5965
5966/**
5967 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
5968 */
5969namespace XML::bpmn {
5970
5971/**
5972 * Overview:
5973 * - Element name: inputSet
5974 * - XML-Schema: xsd/Semantic.xsd
5975 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
5976 *
5977 * Members:
5978 * - dataInputRefs : IDREF [0..*] (from: tInputSet)
5979 * - optionalInputRefs : IDREF [0..*] (from: tInputSet)
5980 * - whileExecutingInputRefs : IDREF [0..*] (from: tInputSet)
5981 * - outputSetRefs : IDREF [0..*] (from: tInputSet)
5982 * - name : string [0..1] (from: tInputSet)
5983 * - documentation : tDocumentation [0..*] (from: tBaseElement)
5984 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
5985 * - id : ID [0..1] (from: tBaseElement)
5986 *
5987 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
5988 */
5989class inputSet : public tInputSet {
5990 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
5991private:
5992 static bool registerClass() {
5993 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:inputSet"] = &createInstance<inputSet>; // register function in factory
5994 return true;
5995 };
5996 inline static bool registered = registerClass();
5997protected:
5998 inputSet(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
5999
6000public:
6001 /// default attributes to be used if they are not explicitly provided
6002 inline static const Attributes defaults = {
6003 };
6004
6005};
6006
6007} // namespace XML::bpmn
6008
6009#endif // XML_bpmn_inputSet_H
6010#ifndef XML_bpmn_tIntermediateCatchEvent_H
6011#define XML_bpmn_tIntermediateCatchEvent_H
6012#include <memory>
6013#include <optional>
6014#include <vector>
6015
6016
6017/**
6018 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
6019 */
6020namespace XML::bpmn {
6021
6022/**
6023 * Overview:
6024 * - Element name: tIntermediateCatchEvent
6025 * - XML-Schema: xsd/Semantic.xsd
6026 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
6027 *
6028 * Members:
6029 * - dataOutput : tDataOutput [0..*] (from: tCatchEvent)
6030 * - dataOutputAssociation : tDataOutputAssociation [0..*] (from: tCatchEvent)
6031 * - outputSet : tOutputSet [0..1] (from: tCatchEvent)
6032 * - eventDefinition : tEventDefinition [0..*] (from: tCatchEvent)
6033 * - eventDefinitionRef : QName [0..*] (from: tCatchEvent)
6034 * - parallelMultiple : boolean [0..1] (from: tCatchEvent)
6035 * - property : tProperty [0..*] (from: tEvent)
6036 * - incoming : QName [0..*] (from: tFlowNode)
6037 * - outgoing : QName [0..*] (from: tFlowNode)
6038 * - auditing : tAuditing [0..1] (from: tFlowElement)
6039 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
6040 * - categoryValueRef : QName [0..*] (from: tFlowElement)
6041 * - name : string [0..1] (from: tFlowElement)
6042 * - documentation : tDocumentation [0..*] (from: tBaseElement)
6043 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
6044 * - id : ID [0..1] (from: tBaseElement)
6045 *
6046 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
6047 */
6049 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
6050private:
6051 static bool registerClass() {
6052 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tIntermediateCatchEvent"] = &createInstance<tIntermediateCatchEvent>; // register function in factory
6053 return true;
6054 };
6055 inline static bool registered = registerClass();
6056protected:
6057 tIntermediateCatchEvent(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
6058
6059public:
6060 /// default attributes to be used if they are not explicitly provided
6061 inline static const Attributes defaults = {
6062 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "parallelMultiple", .value = Value(std::string("false"))}
6063 };
6064
6065};
6066
6067} // namespace XML::bpmn
6068
6069#endif // XML_bpmn_tIntermediateCatchEvent_H
6070#ifndef XML_bpmn_intermediateCatchEvent_H
6071#define XML_bpmn_intermediateCatchEvent_H
6072#include <memory>
6073#include <optional>
6074#include <vector>
6075
6076
6077/**
6078 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
6079 */
6080namespace XML::bpmn {
6081
6082/**
6083 * Overview:
6084 * - Element name: intermediateCatchEvent
6085 * - XML-Schema: xsd/Semantic.xsd
6086 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
6087 *
6088 * Members:
6089 * - dataOutput : tDataOutput [0..*] (from: tCatchEvent)
6090 * - dataOutputAssociation : tDataOutputAssociation [0..*] (from: tCatchEvent)
6091 * - outputSet : tOutputSet [0..1] (from: tCatchEvent)
6092 * - eventDefinition : tEventDefinition [0..*] (from: tCatchEvent)
6093 * - eventDefinitionRef : QName [0..*] (from: tCatchEvent)
6094 * - parallelMultiple : boolean [0..1] (from: tCatchEvent)
6095 * - property : tProperty [0..*] (from: tEvent)
6096 * - incoming : QName [0..*] (from: tFlowNode)
6097 * - outgoing : QName [0..*] (from: tFlowNode)
6098 * - auditing : tAuditing [0..1] (from: tFlowElement)
6099 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
6100 * - categoryValueRef : QName [0..*] (from: tFlowElement)
6101 * - name : string [0..1] (from: tFlowElement)
6102 * - documentation : tDocumentation [0..*] (from: tBaseElement)
6103 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
6104 * - id : ID [0..1] (from: tBaseElement)
6105 *
6106 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
6107 */
6109 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
6110private:
6111 static bool registerClass() {
6112 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:intermediateCatchEvent"] = &createInstance<intermediateCatchEvent>; // register function in factory
6113 return true;
6114 };
6115 inline static bool registered = registerClass();
6116protected:
6117 intermediateCatchEvent(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
6118
6119public:
6120 /// default attributes to be used if they are not explicitly provided
6121 inline static const Attributes defaults = {
6122 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "parallelMultiple", .value = Value(std::string("false"))}
6123 };
6124
6125};
6126
6127} // namespace XML::bpmn
6128
6129#endif // XML_bpmn_intermediateCatchEvent_H
6130#ifndef XML_bpmn_tLane_H
6131#define XML_bpmn_tLane_H
6132#include <memory>
6133#include <optional>
6134#include <vector>
6135
6136
6137/**
6138 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
6139 */
6140namespace XML::bpmn {
6141
6142class tBaseElement;
6143class tLaneSet;
6144
6145/**
6146 * Overview:
6147 * - Element name: tLane
6148 * - XML-Schema: xsd/Semantic.xsd
6149 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
6150 *
6151 * Members:
6152 * - partitionElement : tBaseElement [0..1]
6153 * - flowNodeRef : IDREF [0..*]
6154 * - childLaneSet : tLaneSet [0..1]
6155 * - name : string [0..1]
6156 * - partitionElementRef : QName [0..1]
6157 * - documentation : tDocumentation [0..*] (from: tBaseElement)
6158 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
6159 * - id : ID [0..1] (from: tBaseElement)
6160 *
6161 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
6162 */
6163class tLane : public tBaseElement {
6164 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
6165private:
6166 static bool registerClass() {
6167 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tLane"] = &createInstance<tLane>; // register function in factory
6168 return true;
6169 };
6170 inline static bool registered = registerClass();
6171protected:
6172 tLane(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
6173
6174 friend class tLaneSet;
6175
6176public:
6177 /// default attributes to be used if they are not explicitly provided
6178 inline static const Attributes defaults = {
6179 };
6180
6181 std::optional< std::reference_wrapper<tBaseElement> > partitionElement;
6182 std::vector< std::reference_wrapper<XMLObject> > flowNodeRef;
6183 std::optional< std::reference_wrapper<tLaneSet> > childLaneSet;
6184 std::optional< std::reference_wrapper<Attribute> > name; ///< Attribute value can be expected to be of type 'std::string'
6185 std::optional< std::reference_wrapper<Attribute> > partitionElementRef; ///< Attribute value can be expected to be of type 'std::string'
6186};
6187
6188} // namespace XML::bpmn
6189
6190#endif // XML_bpmn_tLane_H
6191#ifndef XML_bpmn_lane_H
6192#define XML_bpmn_lane_H
6193#include <memory>
6194#include <optional>
6195#include <vector>
6196
6197
6198/**
6199 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
6200 */
6201namespace XML::bpmn {
6202
6203/**
6204 * Overview:
6205 * - Element name: lane
6206 * - XML-Schema: xsd/Semantic.xsd
6207 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
6208 *
6209 * Members:
6210 * - partitionElement : tBaseElement [0..1] (from: tLane)
6211 * - flowNodeRef : IDREF [0..*] (from: tLane)
6212 * - childLaneSet : tLaneSet [0..1] (from: tLane)
6213 * - name : string [0..1] (from: tLane)
6214 * - partitionElementRef : QName [0..1] (from: tLane)
6215 * - documentation : tDocumentation [0..*] (from: tBaseElement)
6216 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
6217 * - id : ID [0..1] (from: tBaseElement)
6218 *
6219 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
6220 */
6221class lane : public tLane {
6222 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
6223private:
6224 static bool registerClass() {
6225 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:lane"] = &createInstance<lane>; // register function in factory
6226 return true;
6227 };
6228 inline static bool registered = registerClass();
6229protected:
6230 lane(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
6231
6232public:
6233 /// default attributes to be used if they are not explicitly provided
6234 inline static const Attributes defaults = {
6235 };
6236
6237};
6238
6239} // namespace XML::bpmn
6240
6241#endif // XML_bpmn_lane_H
6242#ifndef XML_bpmn_tLaneSet_H
6243#define XML_bpmn_tLaneSet_H
6244#include <memory>
6245#include <optional>
6246#include <vector>
6247
6248
6249/**
6250 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
6251 */
6252namespace XML::bpmn {
6253
6254class tLane;
6255
6256/**
6257 * Overview:
6258 * - Element name: tLaneSet
6259 * - XML-Schema: xsd/Semantic.xsd
6260 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
6261 *
6262 * Members:
6263 * - lane : tLane [0..*]
6264 * - name : string [0..1]
6265 * - documentation : tDocumentation [0..*] (from: tBaseElement)
6266 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
6267 * - id : ID [0..1] (from: tBaseElement)
6268 *
6269 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
6270 */
6271class tLaneSet : public tBaseElement {
6272 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
6273private:
6274 static bool registerClass() {
6275 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tLaneSet"] = &createInstance<tLaneSet>; // register function in factory
6276 return true;
6277 };
6278 inline static bool registered = registerClass();
6279protected:
6280 tLaneSet(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
6281
6282 friend class tLane;
6283 friend class tProcess;
6284 friend class tSubProcess;
6285
6286public:
6287 /// default attributes to be used if they are not explicitly provided
6288 inline static const Attributes defaults = {
6289 };
6290
6291 std::vector< std::reference_wrapper<tLane> > lane;
6292 std::optional< std::reference_wrapper<Attribute> > name; ///< Attribute value can be expected to be of type 'std::string'
6293};
6294
6295} // namespace XML::bpmn
6296
6297#endif // XML_bpmn_tLaneSet_H
6298#ifndef XML_bpmn_laneSet_H
6299#define XML_bpmn_laneSet_H
6300#include <memory>
6301#include <optional>
6302#include <vector>
6303
6304
6305/**
6306 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
6307 */
6308namespace XML::bpmn {
6309
6310/**
6311 * Overview:
6312 * - Element name: laneSet
6313 * - XML-Schema: xsd/Semantic.xsd
6314 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
6315 *
6316 * Members:
6317 * - lane : tLane [0..*] (from: tLaneSet)
6318 * - name : string [0..1] (from: tLaneSet)
6319 * - documentation : tDocumentation [0..*] (from: tBaseElement)
6320 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
6321 * - id : ID [0..1] (from: tBaseElement)
6322 *
6323 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
6324 */
6325class laneSet : public tLaneSet {
6326 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
6327private:
6328 static bool registerClass() {
6329 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:laneSet"] = &createInstance<laneSet>; // register function in factory
6330 return true;
6331 };
6332 inline static bool registered = registerClass();
6333protected:
6334 laneSet(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
6335
6336public:
6337 /// default attributes to be used if they are not explicitly provided
6338 inline static const Attributes defaults = {
6339 };
6340
6341};
6342
6343} // namespace XML::bpmn
6344
6345#endif // XML_bpmn_laneSet_H
6346#ifndef XML_bpmn_tLoopCharacteristics_H
6347#define XML_bpmn_tLoopCharacteristics_H
6348#include <memory>
6349#include <optional>
6350#include <vector>
6351
6352
6353/**
6354 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
6355 */
6356namespace XML::bpmn {
6357
6358/**
6359 * Overview:
6360 * - Element name: tLoopCharacteristics
6361 * - XML-Schema: xsd/Semantic.xsd
6362 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
6363 *
6364 * Members:
6365 * - documentation : tDocumentation [0..*] (from: tBaseElement)
6366 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
6367 * - id : ID [0..1] (from: tBaseElement)
6368 *
6369 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
6370 */
6372 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
6373private:
6374 static bool registerClass() {
6375 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tLoopCharacteristics"] = &createInstance<tLoopCharacteristics>; // register function in factory
6376 return true;
6377 };
6378 inline static bool registered = registerClass();
6379protected:
6380 tLoopCharacteristics(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
6381
6382 friend class tActivity;
6383
6384public:
6385 /// default attributes to be used if they are not explicitly provided
6386 inline static const Attributes defaults = {
6387 };
6388
6389};
6390
6391} // namespace XML::bpmn
6392
6393#endif // XML_bpmn_tLoopCharacteristics_H
6394#ifndef XML_bpmn_loopCharacteristics_H
6395#define XML_bpmn_loopCharacteristics_H
6396#include <memory>
6397#include <optional>
6398#include <vector>
6399
6400
6401/**
6402 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
6403 */
6404namespace XML::bpmn {
6405
6406/**
6407 * Overview:
6408 * - Element name: loopCharacteristics
6409 * - XML-Schema: xsd/Semantic.xsd
6410 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
6411 *
6412 * Members:
6413 * - documentation : tDocumentation [0..*] (from: tBaseElement)
6414 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
6415 * - id : ID [0..1] (from: tBaseElement)
6416 *
6417 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
6418 */
6420 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
6421private:
6422 static bool registerClass() {
6423 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:loopCharacteristics"] = &createInstance<loopCharacteristics>; // register function in factory
6424 return true;
6425 };
6426 inline static bool registered = registerClass();
6427protected:
6428 loopCharacteristics(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
6429
6430public:
6431 /// default attributes to be used if they are not explicitly provided
6432 inline static const Attributes defaults = {
6433 };
6434
6435};
6436
6437} // namespace XML::bpmn
6438
6439#endif // XML_bpmn_loopCharacteristics_H
6440#ifndef XML_bpmn_tMessageFlow_H
6441#define XML_bpmn_tMessageFlow_H
6442#include <memory>
6443#include <optional>
6444#include <vector>
6445
6446
6447/**
6448 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
6449 */
6450namespace XML::bpmn {
6451
6452/**
6453 * Overview:
6454 * - Element name: tMessageFlow
6455 * - XML-Schema: xsd/Semantic.xsd
6456 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
6457 *
6458 * Members:
6459 * - name : string [0..1]
6460 * - sourceRef : QName [1..1]
6461 * - targetRef : QName [1..1]
6462 * - messageRef : QName [0..1]
6463 * - documentation : tDocumentation [0..*] (from: tBaseElement)
6464 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
6465 * - id : ID [0..1] (from: tBaseElement)
6466 *
6467 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
6468 */
6470 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
6471private:
6472 static bool registerClass() {
6473 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tMessageFlow"] = &createInstance<tMessageFlow>; // register function in factory
6474 return true;
6475 };
6476 inline static bool registered = registerClass();
6477protected:
6478 tMessageFlow(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
6479
6480 friend class tCollaboration;
6481
6482public:
6483 /// default attributes to be used if they are not explicitly provided
6484 inline static const Attributes defaults = {
6485 };
6486
6487 std::optional< std::reference_wrapper<Attribute> > name; ///< Attribute value can be expected to be of type 'std::string'
6488 Attribute& sourceRef; ///< Attribute value can be expected to be of type 'std::string'
6489 Attribute& targetRef; ///< Attribute value can be expected to be of type 'std::string'
6490 std::optional< std::reference_wrapper<Attribute> > messageRef; ///< Attribute value can be expected to be of type 'std::string'
6491};
6492
6493} // namespace XML::bpmn
6494
6495#endif // XML_bpmn_tMessageFlow_H
6496#ifndef XML_bpmn_messageFlow_H
6497#define XML_bpmn_messageFlow_H
6498#include <memory>
6499#include <optional>
6500#include <vector>
6501
6502
6503/**
6504 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
6505 */
6506namespace XML::bpmn {
6507
6508/**
6509 * Overview:
6510 * - Element name: messageFlow
6511 * - XML-Schema: xsd/Semantic.xsd
6512 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
6513 *
6514 * Members:
6515 * - name : string [0..1] (from: tMessageFlow)
6516 * - sourceRef : QName [1..1] (from: tMessageFlow)
6517 * - targetRef : QName [1..1] (from: tMessageFlow)
6518 * - messageRef : QName [0..1] (from: tMessageFlow)
6519 * - documentation : tDocumentation [0..*] (from: tBaseElement)
6520 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
6521 * - id : ID [0..1] (from: tBaseElement)
6522 *
6523 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
6524 */
6526 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
6527private:
6528 static bool registerClass() {
6529 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:messageFlow"] = &createInstance<messageFlow>; // register function in factory
6530 return true;
6531 };
6532 inline static bool registered = registerClass();
6533protected:
6534 messageFlow(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
6535
6536public:
6537 /// default attributes to be used if they are not explicitly provided
6538 inline static const Attributes defaults = {
6539 };
6540
6541};
6542
6543} // namespace XML::bpmn
6544
6545#endif // XML_bpmn_messageFlow_H
6546#ifndef XML_bpmn_tMessageFlowAssociation_H
6547#define XML_bpmn_tMessageFlowAssociation_H
6548#include <memory>
6549#include <optional>
6550#include <vector>
6551
6552
6553/**
6554 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
6555 */
6556namespace XML::bpmn {
6557
6558/**
6559 * Overview:
6560 * - Element name: tMessageFlowAssociation
6561 * - XML-Schema: xsd/Semantic.xsd
6562 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
6563 *
6564 * Members:
6565 * - innerMessageFlowRef : QName [1..1]
6566 * - outerMessageFlowRef : QName [1..1]
6567 * - documentation : tDocumentation [0..*] (from: tBaseElement)
6568 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
6569 * - id : ID [0..1] (from: tBaseElement)
6570 *
6571 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
6572 */
6574 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
6575private:
6576 static bool registerClass() {
6577 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tMessageFlowAssociation"] = &createInstance<tMessageFlowAssociation>; // register function in factory
6578 return true;
6579 };
6580 inline static bool registered = registerClass();
6581protected:
6582 tMessageFlowAssociation(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
6583
6584 friend class tCollaboration;
6585
6586public:
6587 /// default attributes to be used if they are not explicitly provided
6588 inline static const Attributes defaults = {
6589 };
6590
6591 Attribute& innerMessageFlowRef; ///< Attribute value can be expected to be of type 'std::string'
6592 Attribute& outerMessageFlowRef; ///< Attribute value can be expected to be of type 'std::string'
6593};
6594
6595} // namespace XML::bpmn
6596
6597#endif // XML_bpmn_tMessageFlowAssociation_H
6598#ifndef XML_bpmn_messageFlowAssociation_H
6599#define XML_bpmn_messageFlowAssociation_H
6600#include <memory>
6601#include <optional>
6602#include <vector>
6603
6604
6605/**
6606 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
6607 */
6608namespace XML::bpmn {
6609
6610/**
6611 * Overview:
6612 * - Element name: messageFlowAssociation
6613 * - XML-Schema: xsd/Semantic.xsd
6614 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
6615 *
6616 * Members:
6617 * - innerMessageFlowRef : QName [1..1] (from: tMessageFlowAssociation)
6618 * - outerMessageFlowRef : QName [1..1] (from: tMessageFlowAssociation)
6619 * - documentation : tDocumentation [0..*] (from: tBaseElement)
6620 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
6621 * - id : ID [0..1] (from: tBaseElement)
6622 *
6623 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
6624 */
6626 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
6627private:
6628 static bool registerClass() {
6629 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:messageFlowAssociation"] = &createInstance<messageFlowAssociation>; // register function in factory
6630 return true;
6631 };
6632 inline static bool registered = registerClass();
6633protected:
6634 messageFlowAssociation(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
6635
6636public:
6637 /// default attributes to be used if they are not explicitly provided
6638 inline static const Attributes defaults = {
6639 };
6640
6641};
6642
6643} // namespace XML::bpmn
6644
6645#endif // XML_bpmn_messageFlowAssociation_H
6646#ifndef XML_bpmn_tMonitoring_H
6647#define XML_bpmn_tMonitoring_H
6648#include <memory>
6649#include <optional>
6650#include <vector>
6651
6652
6653/**
6654 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
6655 */
6656namespace XML::bpmn {
6657
6658/**
6659 * Overview:
6660 * - Element name: tMonitoring
6661 * - XML-Schema: xsd/Semantic.xsd
6662 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
6663 *
6664 * Members:
6665 * - documentation : tDocumentation [0..*] (from: tBaseElement)
6666 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
6667 * - id : ID [0..1] (from: tBaseElement)
6668 *
6669 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
6670 */
6672 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
6673private:
6674 static bool registerClass() {
6675 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tMonitoring"] = &createInstance<tMonitoring>; // register function in factory
6676 return true;
6677 };
6678 inline static bool registered = registerClass();
6679protected:
6680 tMonitoring(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
6681
6682 friend class tFlowElement;
6683 friend class tProcess;
6684
6685public:
6686 /// default attributes to be used if they are not explicitly provided
6687 inline static const Attributes defaults = {
6688 };
6689
6690};
6691
6692} // namespace XML::bpmn
6693
6694#endif // XML_bpmn_tMonitoring_H
6695#ifndef XML_bpmn_monitoring_H
6696#define XML_bpmn_monitoring_H
6697#include <memory>
6698#include <optional>
6699#include <vector>
6700
6701
6702/**
6703 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
6704 */
6705namespace XML::bpmn {
6706
6707/**
6708 * Overview:
6709 * - Element name: monitoring
6710 * - XML-Schema: xsd/Semantic.xsd
6711 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
6712 *
6713 * Members:
6714 * - documentation : tDocumentation [0..*] (from: tBaseElement)
6715 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
6716 * - id : ID [0..1] (from: tBaseElement)
6717 *
6718 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
6719 */
6720class monitoring : public tMonitoring {
6721 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
6722private:
6723 static bool registerClass() {
6724 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:monitoring"] = &createInstance<monitoring>; // register function in factory
6725 return true;
6726 };
6727 inline static bool registered = registerClass();
6728protected:
6729 monitoring(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
6730
6731public:
6732 /// default attributes to be used if they are not explicitly provided
6733 inline static const Attributes defaults = {
6734 };
6735
6736};
6737
6738} // namespace XML::bpmn
6739
6740#endif // XML_bpmn_monitoring_H
6741#ifndef XML_bpmn_tMultiInstanceLoopCharacteristics_H
6742#define XML_bpmn_tMultiInstanceLoopCharacteristics_H
6743#include <memory>
6744#include <optional>
6745#include <vector>
6746
6747
6748/**
6749 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
6750 */
6751namespace XML::bpmn {
6752
6753class tExpression;
6754class tDataInput;
6755class tDataOutput;
6756class tComplexBehaviorDefinition;
6757class tExpression;
6758class tMultiInstanceFlowCondition;
6759
6760/**
6761 * Overview:
6762 * - Element name: tMultiInstanceLoopCharacteristics
6763 * - XML-Schema: xsd/Semantic.xsd
6764 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
6765 *
6766 * Members:
6767 * - loopCardinality : tExpression [0..1]
6768 * - loopDataInputRef : QName [0..1]
6769 * - loopDataOutputRef : QName [0..1]
6770 * - inputDataItem : tDataInput [0..1]
6771 * - outputDataItem : tDataOutput [0..1]
6772 * - complexBehaviorDefinition : tComplexBehaviorDefinition [0..*]
6773 * - completionCondition : tExpression [0..1]
6774 * - isSequential : boolean [0..1]
6775 * - behavior : tMultiInstanceFlowCondition [0..1]
6776 * - oneBehaviorEventRef : QName [0..1]
6777 * - noneBehaviorEventRef : QName [0..1]
6778 * - documentation : tDocumentation [0..*] (from: tBaseElement)
6779 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
6780 * - id : ID [0..1] (from: tBaseElement)
6781 *
6782 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
6783 */
6785 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
6786private:
6787 static bool registerClass() {
6788 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tMultiInstanceLoopCharacteristics"] = &createInstance<tMultiInstanceLoopCharacteristics>; // register function in factory
6789 return true;
6790 };
6791 inline static bool registered = registerClass();
6792protected:
6793 tMultiInstanceLoopCharacteristics(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
6794
6795public:
6796 /// default attributes to be used if they are not explicitly provided
6797 inline static const Attributes defaults = {
6798 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "isSequential", .value = Value(std::string("false"))},
6799 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "behavior", .value = Value(std::string("All"))}
6800 };
6801
6802 std::optional< std::reference_wrapper<tExpression> > loopCardinality;
6803 std::optional< std::reference_wrapper<XMLObject> > loopDataInputRef;
6804 std::optional< std::reference_wrapper<XMLObject> > loopDataOutputRef;
6805 std::optional< std::reference_wrapper<tDataInput> > inputDataItem;
6806 std::optional< std::reference_wrapper<tDataOutput> > outputDataItem;
6807 std::vector< std::reference_wrapper<tComplexBehaviorDefinition> > complexBehaviorDefinition;
6808 std::optional< std::reference_wrapper<tExpression> > completionCondition;
6809 std::optional< std::reference_wrapper<Attribute> > isSequential; ///< Attribute value can be expected to be of type 'bool'
6810 std::optional< std::reference_wrapper<Attribute> > behavior; ///< Attribute value can be expected to be of type 'std::string'
6811 std::optional< std::reference_wrapper<Attribute> > oneBehaviorEventRef; ///< Attribute value can be expected to be of type 'std::string'
6812 std::optional< std::reference_wrapper<Attribute> > noneBehaviorEventRef; ///< Attribute value can be expected to be of type 'std::string'
6813};
6814
6815} // namespace XML::bpmn
6816
6817#endif // XML_bpmn_tMultiInstanceLoopCharacteristics_H
6818#ifndef XML_bpmn_multiInstanceLoopCharacteristics_H
6819#define XML_bpmn_multiInstanceLoopCharacteristics_H
6820#include <memory>
6821#include <optional>
6822#include <vector>
6823
6824
6825/**
6826 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
6827 */
6828namespace XML::bpmn {
6829
6830/**
6831 * Overview:
6832 * - Element name: multiInstanceLoopCharacteristics
6833 * - XML-Schema: xsd/Semantic.xsd
6834 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
6835 *
6836 * Members:
6837 * - loopCardinality : tExpression [0..1] (from: tMultiInstanceLoopCharacteristics)
6838 * - loopDataInputRef : QName [0..1] (from: tMultiInstanceLoopCharacteristics)
6839 * - loopDataOutputRef : QName [0..1] (from: tMultiInstanceLoopCharacteristics)
6840 * - inputDataItem : tDataInput [0..1] (from: tMultiInstanceLoopCharacteristics)
6841 * - outputDataItem : tDataOutput [0..1] (from: tMultiInstanceLoopCharacteristics)
6842 * - complexBehaviorDefinition : tComplexBehaviorDefinition [0..*] (from: tMultiInstanceLoopCharacteristics)
6843 * - completionCondition : tExpression [0..1] (from: tMultiInstanceLoopCharacteristics)
6844 * - isSequential : boolean [0..1] (from: tMultiInstanceLoopCharacteristics)
6845 * - behavior : tMultiInstanceFlowCondition [0..1] (from: tMultiInstanceLoopCharacteristics)
6846 * - oneBehaviorEventRef : QName [0..1] (from: tMultiInstanceLoopCharacteristics)
6847 * - noneBehaviorEventRef : QName [0..1] (from: tMultiInstanceLoopCharacteristics)
6848 * - documentation : tDocumentation [0..*] (from: tBaseElement)
6849 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
6850 * - id : ID [0..1] (from: tBaseElement)
6851 *
6852 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
6853 */
6855 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
6856private:
6857 static bool registerClass() {
6858 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:multiInstanceLoopCharacteristics"] = &createInstance<multiInstanceLoopCharacteristics>; // register function in factory
6859 return true;
6860 };
6861 inline static bool registered = registerClass();
6862protected:
6863 multiInstanceLoopCharacteristics(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
6864
6865public:
6866 /// default attributes to be used if they are not explicitly provided
6867 inline static const Attributes defaults = {
6868 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "isSequential", .value = Value(std::string("false"))},
6869 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "behavior", .value = Value(std::string("All"))}
6870 };
6871
6872};
6873
6874} // namespace XML::bpmn
6875
6876#endif // XML_bpmn_multiInstanceLoopCharacteristics_H
6877#ifndef XML_bpmn_tOperation_H
6878#define XML_bpmn_tOperation_H
6879#include <memory>
6880#include <optional>
6881#include <vector>
6882
6883
6884/**
6885 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
6886 */
6887namespace XML::bpmn {
6888
6889/**
6890 * Overview:
6891 * - Element name: tOperation
6892 * - XML-Schema: xsd/Semantic.xsd
6893 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
6894 *
6895 * Members:
6896 * - inMessageRef : QName [1..1]
6897 * - outMessageRef : QName [0..1]
6898 * - errorRef : QName [0..*]
6899 * - name : string [1..1]
6900 * - implementationRef : QName [0..1]
6901 * - documentation : tDocumentation [0..*] (from: tBaseElement)
6902 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
6903 * - id : ID [0..1] (from: tBaseElement)
6904 *
6905 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
6906 */
6907class tOperation : public tBaseElement {
6908 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
6909private:
6910 static bool registerClass() {
6911 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tOperation"] = &createInstance<tOperation>; // register function in factory
6912 return true;
6913 };
6914 inline static bool registered = registerClass();
6915protected:
6916 tOperation(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
6917
6918 friend class tInterface;
6919
6920public:
6921 /// default attributes to be used if they are not explicitly provided
6922 inline static const Attributes defaults = {
6923 };
6924
6926 std::optional< std::reference_wrapper<XMLObject> > outMessageRef;
6927 std::vector< std::reference_wrapper<XMLObject> > errorRef;
6928 Attribute& name; ///< Attribute value can be expected to be of type 'std::string'
6929 std::optional< std::reference_wrapper<Attribute> > implementationRef; ///< Attribute value can be expected to be of type 'std::string'
6930};
6931
6932} // namespace XML::bpmn
6933
6934#endif // XML_bpmn_tOperation_H
6935#ifndef XML_bpmn_operation_H
6936#define XML_bpmn_operation_H
6937#include <memory>
6938#include <optional>
6939#include <vector>
6940
6941
6942/**
6943 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
6944 */
6945namespace XML::bpmn {
6946
6947/**
6948 * Overview:
6949 * - Element name: operation
6950 * - XML-Schema: xsd/Semantic.xsd
6951 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
6952 *
6953 * Members:
6954 * - inMessageRef : QName [1..1] (from: tOperation)
6955 * - outMessageRef : QName [0..1] (from: tOperation)
6956 * - errorRef : QName [0..*] (from: tOperation)
6957 * - name : string [1..1] (from: tOperation)
6958 * - implementationRef : QName [0..1] (from: tOperation)
6959 * - documentation : tDocumentation [0..*] (from: tBaseElement)
6960 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
6961 * - id : ID [0..1] (from: tBaseElement)
6962 *
6963 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
6964 */
6965class operation : public tOperation {
6966 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
6967private:
6968 static bool registerClass() {
6969 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:operation"] = &createInstance<operation>; // register function in factory
6970 return true;
6971 };
6972 inline static bool registered = registerClass();
6973protected:
6974 operation(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
6975
6976public:
6977 /// default attributes to be used if they are not explicitly provided
6978 inline static const Attributes defaults = {
6979 };
6980
6981};
6982
6983} // namespace XML::bpmn
6984
6985#endif // XML_bpmn_operation_H
6986#ifndef XML_bpmn_tOutputSet_H
6987#define XML_bpmn_tOutputSet_H
6988#include <memory>
6989#include <optional>
6990#include <vector>
6991
6992
6993/**
6994 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
6995 */
6996namespace XML::bpmn {
6997
6998/**
6999 * Overview:
7000 * - Element name: tOutputSet
7001 * - XML-Schema: xsd/Semantic.xsd
7002 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
7003 *
7004 * Members:
7005 * - dataOutputRefs : IDREF [0..*]
7006 * - optionalOutputRefs : IDREF [0..*]
7007 * - whileExecutingOutputRefs : IDREF [0..*]
7008 * - inputSetRefs : IDREF [0..*]
7009 * - name : string [0..1]
7010 * - documentation : tDocumentation [0..*] (from: tBaseElement)
7011 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
7012 * - id : ID [0..1] (from: tBaseElement)
7013 *
7014 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
7015 */
7016class tOutputSet : public tBaseElement {
7017 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
7018private:
7019 static bool registerClass() {
7020 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tOutputSet"] = &createInstance<tOutputSet>; // register function in factory
7021 return true;
7022 };
7023 inline static bool registered = registerClass();
7024protected:
7025 tOutputSet(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
7026
7027 friend class tCatchEvent;
7029
7030public:
7031 /// default attributes to be used if they are not explicitly provided
7032 inline static const Attributes defaults = {
7033 };
7034
7035 std::vector< std::reference_wrapper<XMLObject> > dataOutputRefs;
7036 std::vector< std::reference_wrapper<XMLObject> > optionalOutputRefs;
7037 std::vector< std::reference_wrapper<XMLObject> > whileExecutingOutputRefs;
7038 std::vector< std::reference_wrapper<XMLObject> > inputSetRefs;
7039 std::optional< std::reference_wrapper<Attribute> > name; ///< Attribute value can be expected to be of type 'std::string'
7040};
7041
7042} // namespace XML::bpmn
7043
7044#endif // XML_bpmn_tOutputSet_H
7045#ifndef XML_bpmn_outputSet_H
7046#define XML_bpmn_outputSet_H
7047#include <memory>
7048#include <optional>
7049#include <vector>
7050
7051
7052/**
7053 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
7054 */
7055namespace XML::bpmn {
7056
7057/**
7058 * Overview:
7059 * - Element name: outputSet
7060 * - XML-Schema: xsd/Semantic.xsd
7061 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
7062 *
7063 * Members:
7064 * - dataOutputRefs : IDREF [0..*] (from: tOutputSet)
7065 * - optionalOutputRefs : IDREF [0..*] (from: tOutputSet)
7066 * - whileExecutingOutputRefs : IDREF [0..*] (from: tOutputSet)
7067 * - inputSetRefs : IDREF [0..*] (from: tOutputSet)
7068 * - name : string [0..1] (from: tOutputSet)
7069 * - documentation : tDocumentation [0..*] (from: tBaseElement)
7070 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
7071 * - id : ID [0..1] (from: tBaseElement)
7072 *
7073 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
7074 */
7075class outputSet : public tOutputSet {
7076 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
7077private:
7078 static bool registerClass() {
7079 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:outputSet"] = &createInstance<outputSet>; // register function in factory
7080 return true;
7081 };
7082 inline static bool registered = registerClass();
7083protected:
7084 outputSet(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
7085
7086public:
7087 /// default attributes to be used if they are not explicitly provided
7088 inline static const Attributes defaults = {
7089 };
7090
7091};
7092
7093} // namespace XML::bpmn
7094
7095#endif // XML_bpmn_outputSet_H
7096#ifndef XML_bpmn_tParallelGateway_H
7097#define XML_bpmn_tParallelGateway_H
7098#include <memory>
7099#include <optional>
7100#include <vector>
7101
7102
7103/**
7104 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
7105 */
7106namespace XML::bpmn {
7107
7108/**
7109 * Overview:
7110 * - Element name: tParallelGateway
7111 * - XML-Schema: xsd/Semantic.xsd
7112 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
7113 *
7114 * Members:
7115 * - gatewayDirection : tGatewayDirection [0..1] (from: tGateway)
7116 * - incoming : QName [0..*] (from: tFlowNode)
7117 * - outgoing : QName [0..*] (from: tFlowNode)
7118 * - auditing : tAuditing [0..1] (from: tFlowElement)
7119 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
7120 * - categoryValueRef : QName [0..*] (from: tFlowElement)
7121 * - name : string [0..1] (from: tFlowElement)
7122 * - documentation : tDocumentation [0..*] (from: tBaseElement)
7123 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
7124 * - id : ID [0..1] (from: tBaseElement)
7125 *
7126 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
7127 */
7129 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
7130private:
7131 static bool registerClass() {
7132 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tParallelGateway"] = &createInstance<tParallelGateway>; // register function in factory
7133 return true;
7134 };
7135 inline static bool registered = registerClass();
7136protected:
7137 tParallelGateway(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
7138
7139public:
7140 /// default attributes to be used if they are not explicitly provided
7141 inline static const Attributes defaults = {
7142 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "gatewayDirection", .value = Value(std::string("Unspecified"))}
7143 };
7144
7145};
7146
7147} // namespace XML::bpmn
7148
7149#endif // XML_bpmn_tParallelGateway_H
7150#ifndef XML_bpmn_parallelGateway_H
7151#define XML_bpmn_parallelGateway_H
7152#include <memory>
7153#include <optional>
7154#include <vector>
7155
7156
7157/**
7158 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
7159 */
7160namespace XML::bpmn {
7161
7162/**
7163 * Overview:
7164 * - Element name: parallelGateway
7165 * - XML-Schema: xsd/Semantic.xsd
7166 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
7167 *
7168 * Members:
7169 * - gatewayDirection : tGatewayDirection [0..1] (from: tGateway)
7170 * - incoming : QName [0..*] (from: tFlowNode)
7171 * - outgoing : QName [0..*] (from: tFlowNode)
7172 * - auditing : tAuditing [0..1] (from: tFlowElement)
7173 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
7174 * - categoryValueRef : QName [0..*] (from: tFlowElement)
7175 * - name : string [0..1] (from: tFlowElement)
7176 * - documentation : tDocumentation [0..*] (from: tBaseElement)
7177 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
7178 * - id : ID [0..1] (from: tBaseElement)
7179 *
7180 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
7181 */
7183 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
7184private:
7185 static bool registerClass() {
7186 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:parallelGateway"] = &createInstance<parallelGateway>; // register function in factory
7187 return true;
7188 };
7189 inline static bool registered = registerClass();
7190protected:
7191 parallelGateway(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
7192
7193public:
7194 /// default attributes to be used if they are not explicitly provided
7195 inline static const Attributes defaults = {
7196 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "gatewayDirection", .value = Value(std::string("Unspecified"))}
7197 };
7198
7199};
7200
7201} // namespace XML::bpmn
7202
7203#endif // XML_bpmn_parallelGateway_H
7204#ifndef XML_bpmn_tParticipant_H
7205#define XML_bpmn_tParticipant_H
7206#include <memory>
7207#include <optional>
7208#include <vector>
7209
7210
7211/**
7212 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
7213 */
7214namespace XML::bpmn {
7215
7216class tParticipantMultiplicity;
7217
7218/**
7219 * Overview:
7220 * - Element name: tParticipant
7221 * - XML-Schema: xsd/Semantic.xsd
7222 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
7223 *
7224 * Members:
7225 * - interfaceRef : QName [0..*]
7226 * - endPointRef : QName [0..*]
7227 * - participantMultiplicity : tParticipantMultiplicity [0..1]
7228 * - name : string [0..1]
7229 * - processRef : QName [0..1]
7230 * - documentation : tDocumentation [0..*] (from: tBaseElement)
7231 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
7232 * - id : ID [0..1] (from: tBaseElement)
7233 *
7234 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
7235 */
7237 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
7238private:
7239 static bool registerClass() {
7240 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tParticipant"] = &createInstance<tParticipant>; // register function in factory
7241 return true;
7242 };
7243 inline static bool registered = registerClass();
7244protected:
7245 tParticipant(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
7246
7247 friend class tCollaboration;
7248
7249public:
7250 /// default attributes to be used if they are not explicitly provided
7251 inline static const Attributes defaults = {
7252 };
7253
7254 std::vector< std::reference_wrapper<XMLObject> > interfaceRef;
7255 std::vector< std::reference_wrapper<XMLObject> > endPointRef;
7256 std::optional< std::reference_wrapper<tParticipantMultiplicity> > participantMultiplicity;
7257 std::optional< std::reference_wrapper<Attribute> > name; ///< Attribute value can be expected to be of type 'std::string'
7258 std::optional< std::reference_wrapper<Attribute> > processRef; ///< Attribute value can be expected to be of type 'std::string'
7259};
7260
7261} // namespace XML::bpmn
7262
7263#endif // XML_bpmn_tParticipant_H
7264#ifndef XML_bpmn_participant_H
7265#define XML_bpmn_participant_H
7266#include <memory>
7267#include <optional>
7268#include <vector>
7269
7270
7271/**
7272 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
7273 */
7274namespace XML::bpmn {
7275
7276/**
7277 * Overview:
7278 * - Element name: participant
7279 * - XML-Schema: xsd/Semantic.xsd
7280 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
7281 *
7282 * Members:
7283 * - interfaceRef : QName [0..*] (from: tParticipant)
7284 * - endPointRef : QName [0..*] (from: tParticipant)
7285 * - participantMultiplicity : tParticipantMultiplicity [0..1] (from: tParticipant)
7286 * - name : string [0..1] (from: tParticipant)
7287 * - processRef : QName [0..1] (from: tParticipant)
7288 * - documentation : tDocumentation [0..*] (from: tBaseElement)
7289 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
7290 * - id : ID [0..1] (from: tBaseElement)
7291 *
7292 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
7293 */
7295 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
7296private:
7297 static bool registerClass() {
7298 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:participant"] = &createInstance<participant>; // register function in factory
7299 return true;
7300 };
7301 inline static bool registered = registerClass();
7302protected:
7303 participant(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
7304
7305public:
7306 /// default attributes to be used if they are not explicitly provided
7307 inline static const Attributes defaults = {
7308 };
7309
7310};
7311
7312} // namespace XML::bpmn
7313
7314#endif // XML_bpmn_participant_H
7315#ifndef XML_bpmn_tParticipantAssociation_H
7316#define XML_bpmn_tParticipantAssociation_H
7317#include <memory>
7318#include <optional>
7319#include <vector>
7320
7321
7322/**
7323 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
7324 */
7325namespace XML::bpmn {
7326
7327/**
7328 * Overview:
7329 * - Element name: tParticipantAssociation
7330 * - XML-Schema: xsd/Semantic.xsd
7331 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
7332 *
7333 * Members:
7334 * - innerParticipantRef : QName [1..1]
7335 * - outerParticipantRef : QName [1..1]
7336 * - documentation : tDocumentation [0..*] (from: tBaseElement)
7337 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
7338 * - id : ID [0..1] (from: tBaseElement)
7339 *
7340 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
7341 */
7343 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
7344private:
7345 static bool registerClass() {
7346 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tParticipantAssociation"] = &createInstance<tParticipantAssociation>; // register function in factory
7347 return true;
7348 };
7349 inline static bool registered = registerClass();
7350protected:
7351 tParticipantAssociation(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
7352
7353 friend class tCallChoreography;
7354 friend class tCallConversation;
7355 friend class tCollaboration;
7356
7357public:
7358 /// default attributes to be used if they are not explicitly provided
7359 inline static const Attributes defaults = {
7360 };
7361
7364};
7365
7366} // namespace XML::bpmn
7367
7368#endif // XML_bpmn_tParticipantAssociation_H
7369#ifndef XML_bpmn_participantAssociation_H
7370#define XML_bpmn_participantAssociation_H
7371#include <memory>
7372#include <optional>
7373#include <vector>
7374
7375
7376/**
7377 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
7378 */
7379namespace XML::bpmn {
7380
7381/**
7382 * Overview:
7383 * - Element name: participantAssociation
7384 * - XML-Schema: xsd/Semantic.xsd
7385 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
7386 *
7387 * Members:
7388 * - innerParticipantRef : QName [1..1] (from: tParticipantAssociation)
7389 * - outerParticipantRef : QName [1..1] (from: tParticipantAssociation)
7390 * - documentation : tDocumentation [0..*] (from: tBaseElement)
7391 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
7392 * - id : ID [0..1] (from: tBaseElement)
7393 *
7394 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
7395 */
7397 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
7398private:
7399 static bool registerClass() {
7400 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:participantAssociation"] = &createInstance<participantAssociation>; // register function in factory
7401 return true;
7402 };
7403 inline static bool registered = registerClass();
7404protected:
7405 participantAssociation(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
7406
7407public:
7408 /// default attributes to be used if they are not explicitly provided
7409 inline static const Attributes defaults = {
7410 };
7411
7412};
7413
7414} // namespace XML::bpmn
7415
7416#endif // XML_bpmn_participantAssociation_H
7417#ifndef XML_bpmn_tParticipantMultiplicity_H
7418#define XML_bpmn_tParticipantMultiplicity_H
7419#include <memory>
7420#include <optional>
7421#include <vector>
7422
7423
7424/**
7425 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
7426 */
7427namespace XML::bpmn {
7428
7429/**
7430 * Overview:
7431 * - Element name: tParticipantMultiplicity
7432 * - XML-Schema: xsd/Semantic.xsd
7433 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
7434 *
7435 * Members:
7436 * - minimum : int [0..1]
7437 * - maximum : int [0..1]
7438 * - documentation : tDocumentation [0..*] (from: tBaseElement)
7439 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
7440 * - id : ID [0..1] (from: tBaseElement)
7441 *
7442 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
7443 */
7445 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
7446private:
7447 static bool registerClass() {
7448 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tParticipantMultiplicity"] = &createInstance<tParticipantMultiplicity>; // register function in factory
7449 return true;
7450 };
7451 inline static bool registered = registerClass();
7452protected:
7453 tParticipantMultiplicity(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
7454
7455 friend class tParticipant;
7456
7457public:
7458 /// default attributes to be used if they are not explicitly provided
7459 inline static const Attributes defaults = {
7460 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "minimum", .value = Value(std::string("0"))},
7461 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "maximum", .value = Value(std::string("1"))}
7462 };
7463
7464 std::optional< std::reference_wrapper<Attribute> > minimum; ///< Attribute value can be expected to be of type 'int'
7465 std::optional< std::reference_wrapper<Attribute> > maximum; ///< Attribute value can be expected to be of type 'int'
7466};
7467
7468} // namespace XML::bpmn
7469
7470#endif // XML_bpmn_tParticipantMultiplicity_H
7471#ifndef XML_bpmn_participantMultiplicity_H
7472#define XML_bpmn_participantMultiplicity_H
7473#include <memory>
7474#include <optional>
7475#include <vector>
7476
7477
7478/**
7479 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
7480 */
7481namespace XML::bpmn {
7482
7483/**
7484 * Overview:
7485 * - Element name: participantMultiplicity
7486 * - XML-Schema: xsd/Semantic.xsd
7487 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
7488 *
7489 * Members:
7490 * - minimum : int [0..1] (from: tParticipantMultiplicity)
7491 * - maximum : int [0..1] (from: tParticipantMultiplicity)
7492 * - documentation : tDocumentation [0..*] (from: tBaseElement)
7493 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
7494 * - id : ID [0..1] (from: tBaseElement)
7495 *
7496 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
7497 */
7499 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
7500private:
7501 static bool registerClass() {
7502 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:participantMultiplicity"] = &createInstance<participantMultiplicity>; // register function in factory
7503 return true;
7504 };
7505 inline static bool registered = registerClass();
7506protected:
7507 participantMultiplicity(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
7508
7509public:
7510 /// default attributes to be used if they are not explicitly provided
7511 inline static const Attributes defaults = {
7512 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "minimum", .value = Value(std::string("0"))},
7513 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "maximum", .value = Value(std::string("1"))}
7514 };
7515
7516};
7517
7518} // namespace XML::bpmn
7519
7520#endif // XML_bpmn_participantMultiplicity_H
7521#ifndef XML_bpmn_tProperty_H
7522#define XML_bpmn_tProperty_H
7523#include <memory>
7524#include <optional>
7525#include <vector>
7526
7527
7528/**
7529 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
7530 */
7531namespace XML::bpmn {
7532
7533class tDataState;
7534
7535/**
7536 * Overview:
7537 * - Element name: tProperty
7538 * - XML-Schema: xsd/Semantic.xsd
7539 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
7540 *
7541 * Members:
7542 * - dataState : tDataState [0..1]
7543 * - name : string [0..1]
7544 * - itemSubjectRef : QName [0..1]
7545 * - documentation : tDocumentation [0..*] (from: tBaseElement)
7546 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
7547 * - id : ID [0..1] (from: tBaseElement)
7548 *
7549 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
7550 */
7551class tProperty : public tBaseElement {
7552 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
7553private:
7554 static bool registerClass() {
7555 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tProperty"] = &createInstance<tProperty>; // register function in factory
7556 return true;
7557 };
7558 inline static bool registered = registerClass();
7559protected:
7560 tProperty(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
7561
7562 friend class tActivity;
7563 friend class tEvent;
7564 friend class tProcess;
7565
7566public:
7567 /// default attributes to be used if they are not explicitly provided
7568 inline static const Attributes defaults = {
7569 };
7570
7571 std::optional< std::reference_wrapper<tDataState> > dataState;
7572 std::optional< std::reference_wrapper<Attribute> > name; ///< Attribute value can be expected to be of type 'std::string'
7573 std::optional< std::reference_wrapper<Attribute> > itemSubjectRef; ///< Attribute value can be expected to be of type 'std::string'
7574};
7575
7576} // namespace XML::bpmn
7577
7578#endif // XML_bpmn_tProperty_H
7579#ifndef XML_bpmn_property_H
7580#define XML_bpmn_property_H
7581#include <memory>
7582#include <optional>
7583#include <vector>
7584
7585
7586/**
7587 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
7588 */
7589namespace XML::bpmn {
7590
7591/**
7592 * Overview:
7593 * - Element name: property
7594 * - XML-Schema: xsd/Semantic.xsd
7595 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
7596 *
7597 * Members:
7598 * - dataState : tDataState [0..1] (from: tProperty)
7599 * - name : string [0..1] (from: tProperty)
7600 * - itemSubjectRef : QName [0..1] (from: tProperty)
7601 * - documentation : tDocumentation [0..*] (from: tBaseElement)
7602 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
7603 * - id : ID [0..1] (from: tBaseElement)
7604 *
7605 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
7606 */
7607class property : public tProperty {
7608 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
7609private:
7610 static bool registerClass() {
7611 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:property"] = &createInstance<property>; // register function in factory
7612 return true;
7613 };
7614 inline static bool registered = registerClass();
7615protected:
7616 property(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
7617
7618public:
7619 /// default attributes to be used if they are not explicitly provided
7620 inline static const Attributes defaults = {
7621 };
7622
7623};
7624
7625} // namespace XML::bpmn
7626
7627#endif // XML_bpmn_property_H
7628#ifndef XML_bpmn_tRelationship_H
7629#define XML_bpmn_tRelationship_H
7630#include <memory>
7631#include <optional>
7632#include <vector>
7633
7634
7635/**
7636 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
7637 */
7638namespace XML::bpmn {
7639
7640class tRelationshipDirection;
7641
7642/**
7643 * Overview:
7644 * - Element name: tRelationship
7645 * - XML-Schema: xsd/Semantic.xsd
7646 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
7647 *
7648 * Members:
7649 * - source : QName [1..*]
7650 * - target : QName [1..*]
7651 * - type : string [1..1]
7652 * - direction : tRelationshipDirection [0..1]
7653 * - documentation : tDocumentation [0..*] (from: tBaseElement)
7654 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
7655 * - id : ID [0..1] (from: tBaseElement)
7656 *
7657 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
7658 */
7660 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
7661private:
7662 static bool registerClass() {
7663 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tRelationship"] = &createInstance<tRelationship>; // register function in factory
7664 return true;
7665 };
7666 inline static bool registered = registerClass();
7667protected:
7668 tRelationship(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
7669
7670 friend class tDefinitions;
7671
7672public:
7673 /// default attributes to be used if they are not explicitly provided
7674 inline static const Attributes defaults = {
7675 };
7676
7677 std::vector< std::reference_wrapper<XMLObject> > source;
7678 std::vector< std::reference_wrapper<XMLObject> > target;
7679 Attribute& type; ///< Attribute value can be expected to be of type 'std::string'
7680 std::optional< std::reference_wrapper<Attribute> > direction; ///< Attribute value can be expected to be of type 'std::string'
7681};
7682
7683} // namespace XML::bpmn
7684
7685#endif // XML_bpmn_tRelationship_H
7686#ifndef XML_bpmn_relationship_H
7687#define XML_bpmn_relationship_H
7688#include <memory>
7689#include <optional>
7690#include <vector>
7691
7692
7693/**
7694 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
7695 */
7696namespace XML::bpmn {
7697
7698/**
7699 * Overview:
7700 * - Element name: relationship
7701 * - XML-Schema: xsd/Semantic.xsd
7702 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
7703 *
7704 * Members:
7705 * - source : QName [1..*] (from: tRelationship)
7706 * - target : QName [1..*] (from: tRelationship)
7707 * - type : string [1..1] (from: tRelationship)
7708 * - direction : tRelationshipDirection [0..1] (from: tRelationship)
7709 * - documentation : tDocumentation [0..*] (from: tBaseElement)
7710 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
7711 * - id : ID [0..1] (from: tBaseElement)
7712 *
7713 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
7714 */
7716 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
7717private:
7718 static bool registerClass() {
7719 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:relationship"] = &createInstance<relationship>; // register function in factory
7720 return true;
7721 };
7722 inline static bool registered = registerClass();
7723protected:
7724 relationship(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
7725
7726public:
7727 /// default attributes to be used if they are not explicitly provided
7728 inline static const Attributes defaults = {
7729 };
7730
7731};
7732
7733} // namespace XML::bpmn
7734
7735#endif // XML_bpmn_relationship_H
7736#ifndef XML_bpmn_tRendering_H
7737#define XML_bpmn_tRendering_H
7738#include <memory>
7739#include <optional>
7740#include <vector>
7741
7742
7743/**
7744 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
7745 */
7746namespace XML::bpmn {
7747
7748/**
7749 * Overview:
7750 * - Element name: tRendering
7751 * - XML-Schema: xsd/Semantic.xsd
7752 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
7753 *
7754 * Members:
7755 * - documentation : tDocumentation [0..*] (from: tBaseElement)
7756 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
7757 * - id : ID [0..1] (from: tBaseElement)
7758 *
7759 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
7760 */
7761class tRendering : public tBaseElement {
7762 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
7763private:
7764 static bool registerClass() {
7765 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tRendering"] = &createInstance<tRendering>; // register function in factory
7766 return true;
7767 };
7768 inline static bool registered = registerClass();
7769protected:
7770 tRendering(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
7771
7772 friend class tGlobalUserTask;
7773 friend class tUserTask;
7774
7775public:
7776 /// default attributes to be used if they are not explicitly provided
7777 inline static const Attributes defaults = {
7778 };
7779
7780};
7781
7782} // namespace XML::bpmn
7783
7784#endif // XML_bpmn_tRendering_H
7785#ifndef XML_bpmn_rendering_H
7786#define XML_bpmn_rendering_H
7787#include <memory>
7788#include <optional>
7789#include <vector>
7790
7791
7792/**
7793 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
7794 */
7795namespace XML::bpmn {
7796
7797/**
7798 * Overview:
7799 * - Element name: rendering
7800 * - XML-Schema: xsd/Semantic.xsd
7801 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
7802 *
7803 * Members:
7804 * - documentation : tDocumentation [0..*] (from: tBaseElement)
7805 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
7806 * - id : ID [0..1] (from: tBaseElement)
7807 *
7808 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
7809 */
7810class rendering : public tRendering {
7811 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
7812private:
7813 static bool registerClass() {
7814 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:rendering"] = &createInstance<rendering>; // register function in factory
7815 return true;
7816 };
7817 inline static bool registered = registerClass();
7818protected:
7819 rendering(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
7820
7821public:
7822 /// default attributes to be used if they are not explicitly provided
7823 inline static const Attributes defaults = {
7824 };
7825
7826};
7827
7828} // namespace XML::bpmn
7829
7830#endif // XML_bpmn_rendering_H
7831#ifndef XML_bpmn_tResourceAssignmentExpression_H
7832#define XML_bpmn_tResourceAssignmentExpression_H
7833#include <memory>
7834#include <optional>
7835#include <vector>
7836
7837
7838/**
7839 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
7840 */
7841namespace XML::bpmn {
7842
7843class tExpression;
7844
7845/**
7846 * Overview:
7847 * - Element name: tResourceAssignmentExpression
7848 * - XML-Schema: xsd/Semantic.xsd
7849 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
7850 *
7851 * Members:
7852 * - expression : tExpression [1..1]
7853 * - documentation : tDocumentation [0..*] (from: tBaseElement)
7854 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
7855 * - id : ID [0..1] (from: tBaseElement)
7856 *
7857 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
7858 */
7860 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
7861private:
7862 static bool registerClass() {
7863 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tResourceAssignmentExpression"] = &createInstance<tResourceAssignmentExpression>; // register function in factory
7864 return true;
7865 };
7866 inline static bool registered = registerClass();
7867protected:
7868 tResourceAssignmentExpression(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
7869
7870 friend class tResourceRole;
7871
7872public:
7873 /// default attributes to be used if they are not explicitly provided
7874 inline static const Attributes defaults = {
7875 };
7876
7878};
7879
7880} // namespace XML::bpmn
7881
7882#endif // XML_bpmn_tResourceAssignmentExpression_H
7883#ifndef XML_bpmn_resourceAssignmentExpression_H
7884#define XML_bpmn_resourceAssignmentExpression_H
7885#include <memory>
7886#include <optional>
7887#include <vector>
7888
7889
7890/**
7891 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
7892 */
7893namespace XML::bpmn {
7894
7895/**
7896 * Overview:
7897 * - Element name: resourceAssignmentExpression
7898 * - XML-Schema: xsd/Semantic.xsd
7899 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
7900 *
7901 * Members:
7902 * - expression : tExpression [1..1] (from: tResourceAssignmentExpression)
7903 * - documentation : tDocumentation [0..*] (from: tBaseElement)
7904 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
7905 * - id : ID [0..1] (from: tBaseElement)
7906 *
7907 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
7908 */
7910 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
7911private:
7912 static bool registerClass() {
7913 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:resourceAssignmentExpression"] = &createInstance<resourceAssignmentExpression>; // register function in factory
7914 return true;
7915 };
7916 inline static bool registered = registerClass();
7917protected:
7918 resourceAssignmentExpression(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
7919
7920public:
7921 /// default attributes to be used if they are not explicitly provided
7922 inline static const Attributes defaults = {
7923 };
7924
7925};
7926
7927} // namespace XML::bpmn
7928
7929#endif // XML_bpmn_resourceAssignmentExpression_H
7930#ifndef XML_bpmn_tResourceParameter_H
7931#define XML_bpmn_tResourceParameter_H
7932#include <memory>
7933#include <optional>
7934#include <vector>
7935
7936
7937/**
7938 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
7939 */
7940namespace XML::bpmn {
7941
7942/**
7943 * Overview:
7944 * - Element name: tResourceParameter
7945 * - XML-Schema: xsd/Semantic.xsd
7946 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
7947 *
7948 * Members:
7949 * - name : string [0..1]
7950 * - type : QName [0..1]
7951 * - isRequired : boolean [0..1]
7952 * - documentation : tDocumentation [0..*] (from: tBaseElement)
7953 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
7954 * - id : ID [0..1] (from: tBaseElement)
7955 *
7956 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
7957 */
7959 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
7960private:
7961 static bool registerClass() {
7962 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tResourceParameter"] = &createInstance<tResourceParameter>; // register function in factory
7963 return true;
7964 };
7965 inline static bool registered = registerClass();
7966protected:
7967 tResourceParameter(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
7968
7969 friend class tResource;
7970
7971public:
7972 /// default attributes to be used if they are not explicitly provided
7973 inline static const Attributes defaults = {
7974 };
7975
7976 std::optional< std::reference_wrapper<Attribute> > name; ///< Attribute value can be expected to be of type 'std::string'
7977 std::optional< std::reference_wrapper<Attribute> > type; ///< Attribute value can be expected to be of type 'std::string'
7978 std::optional< std::reference_wrapper<Attribute> > isRequired; ///< Attribute value can be expected to be of type 'bool'
7979};
7980
7981} // namespace XML::bpmn
7982
7983#endif // XML_bpmn_tResourceParameter_H
7984#ifndef XML_bpmn_resourceParameter_H
7985#define XML_bpmn_resourceParameter_H
7986#include <memory>
7987#include <optional>
7988#include <vector>
7989
7990
7991/**
7992 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
7993 */
7994namespace XML::bpmn {
7995
7996/**
7997 * Overview:
7998 * - Element name: resourceParameter
7999 * - XML-Schema: xsd/Semantic.xsd
8000 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
8001 *
8002 * Members:
8003 * - name : string [0..1] (from: tResourceParameter)
8004 * - type : QName [0..1] (from: tResourceParameter)
8005 * - isRequired : boolean [0..1] (from: tResourceParameter)
8006 * - documentation : tDocumentation [0..*] (from: tBaseElement)
8007 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
8008 * - id : ID [0..1] (from: tBaseElement)
8009 *
8010 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
8011 */
8013 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
8014private:
8015 static bool registerClass() {
8016 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:resourceParameter"] = &createInstance<resourceParameter>; // register function in factory
8017 return true;
8018 };
8019 inline static bool registered = registerClass();
8020protected:
8021 resourceParameter(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
8022
8023public:
8024 /// default attributes to be used if they are not explicitly provided
8025 inline static const Attributes defaults = {
8026 };
8027
8028};
8029
8030} // namespace XML::bpmn
8031
8032#endif // XML_bpmn_resourceParameter_H
8033#ifndef XML_bpmn_tResourceParameterBinding_H
8034#define XML_bpmn_tResourceParameterBinding_H
8035#include <memory>
8036#include <optional>
8037#include <vector>
8038
8039
8040/**
8041 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
8042 */
8043namespace XML::bpmn {
8044
8045class tExpression;
8046
8047/**
8048 * Overview:
8049 * - Element name: tResourceParameterBinding
8050 * - XML-Schema: xsd/Semantic.xsd
8051 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
8052 *
8053 * Members:
8054 * - expression : tExpression [1..1]
8055 * - parameterRef : QName [1..1]
8056 * - documentation : tDocumentation [0..*] (from: tBaseElement)
8057 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
8058 * - id : ID [0..1] (from: tBaseElement)
8059 *
8060 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
8061 */
8063 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
8064private:
8065 static bool registerClass() {
8066 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tResourceParameterBinding"] = &createInstance<tResourceParameterBinding>; // register function in factory
8067 return true;
8068 };
8069 inline static bool registered = registerClass();
8070protected:
8071 tResourceParameterBinding(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
8072
8073 friend class tResourceRole;
8074
8075public:
8076 /// default attributes to be used if they are not explicitly provided
8077 inline static const Attributes defaults = {
8078 };
8079
8081 Attribute& parameterRef; ///< Attribute value can be expected to be of type 'std::string'
8082};
8083
8084} // namespace XML::bpmn
8085
8086#endif // XML_bpmn_tResourceParameterBinding_H
8087#ifndef XML_bpmn_resourceParameterBinding_H
8088#define XML_bpmn_resourceParameterBinding_H
8089#include <memory>
8090#include <optional>
8091#include <vector>
8092
8093
8094/**
8095 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
8096 */
8097namespace XML::bpmn {
8098
8099/**
8100 * Overview:
8101 * - Element name: resourceParameterBinding
8102 * - XML-Schema: xsd/Semantic.xsd
8103 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
8104 *
8105 * Members:
8106 * - expression : tExpression [1..1] (from: tResourceParameterBinding)
8107 * - parameterRef : QName [1..1] (from: tResourceParameterBinding)
8108 * - documentation : tDocumentation [0..*] (from: tBaseElement)
8109 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
8110 * - id : ID [0..1] (from: tBaseElement)
8111 *
8112 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
8113 */
8115 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
8116private:
8117 static bool registerClass() {
8118 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:resourceParameterBinding"] = &createInstance<resourceParameterBinding>; // register function in factory
8119 return true;
8120 };
8121 inline static bool registered = registerClass();
8122protected:
8123 resourceParameterBinding(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
8124
8125public:
8126 /// default attributes to be used if they are not explicitly provided
8127 inline static const Attributes defaults = {
8128 };
8129
8130};
8131
8132} // namespace XML::bpmn
8133
8134#endif // XML_bpmn_resourceParameterBinding_H
8135#ifndef XML_bpmn_tResourceRole_H
8136#define XML_bpmn_tResourceRole_H
8137#include <memory>
8138#include <optional>
8139#include <vector>
8140
8141
8142/**
8143 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
8144 */
8145namespace XML::bpmn {
8146
8147class tResourceAssignmentExpression;
8148class tResourceParameterBinding;
8149
8150/**
8151 * Overview:
8152 * - Element name: tResourceRole
8153 * - XML-Schema: xsd/Semantic.xsd
8154 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
8155 *
8156 * Members:
8157 * - resourceAssignmentExpression : tResourceAssignmentExpression [0..1]
8158 * - resourceRef : QName [0..*]
8159 * - resourceParameterBinding : tResourceParameterBinding [0..*]
8160 * - name : string [0..1]
8161 * - documentation : tDocumentation [0..*] (from: tBaseElement)
8162 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
8163 * - id : ID [0..1] (from: tBaseElement)
8164 *
8165 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
8166 */
8168 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
8169private:
8170 static bool registerClass() {
8171 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tResourceRole"] = &createInstance<tResourceRole>; // register function in factory
8172 return true;
8173 };
8174 inline static bool registered = registerClass();
8175protected:
8176 tResourceRole(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
8177
8178 friend class tActivity;
8179 friend class tGlobalTask;
8180 friend class tProcess;
8181
8182public:
8183 /// default attributes to be used if they are not explicitly provided
8184 inline static const Attributes defaults = {
8185 };
8186
8187 std::optional< std::reference_wrapper<tResourceAssignmentExpression> > resourceAssignmentExpression;
8188 std::vector< std::reference_wrapper<XMLObject> > resourceRef;
8189 std::vector< std::reference_wrapper<tResourceParameterBinding> > resourceParameterBinding;
8190 std::optional< std::reference_wrapper<Attribute> > name; ///< Attribute value can be expected to be of type 'std::string'
8191};
8192
8193} // namespace XML::bpmn
8194
8195#endif // XML_bpmn_tResourceRole_H
8196#ifndef XML_bpmn_resourceRole_H
8197#define XML_bpmn_resourceRole_H
8198#include <memory>
8199#include <optional>
8200#include <vector>
8201
8202
8203/**
8204 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
8205 */
8206namespace XML::bpmn {
8207
8208/**
8209 * Overview:
8210 * - Element name: resourceRole
8211 * - XML-Schema: xsd/Semantic.xsd
8212 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
8213 *
8214 * Members:
8215 * - resourceAssignmentExpression : tResourceAssignmentExpression [0..1] (from: tResourceRole)
8216 * - resourceRef : QName [0..*] (from: tResourceRole)
8217 * - resourceParameterBinding : tResourceParameterBinding [0..*] (from: tResourceRole)
8218 * - name : string [0..1] (from: tResourceRole)
8219 * - documentation : tDocumentation [0..*] (from: tBaseElement)
8220 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
8221 * - id : ID [0..1] (from: tBaseElement)
8222 *
8223 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
8224 */
8226 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
8227private:
8228 static bool registerClass() {
8229 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:resourceRole"] = &createInstance<resourceRole>; // register function in factory
8230 return true;
8231 };
8232 inline static bool registered = registerClass();
8233protected:
8234 resourceRole(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
8235
8236public:
8237 /// default attributes to be used if they are not explicitly provided
8238 inline static const Attributes defaults = {
8239 };
8240
8241};
8242
8243} // namespace XML::bpmn
8244
8245#endif // XML_bpmn_resourceRole_H
8246#ifndef XML_bpmn_tPerformer_H
8247#define XML_bpmn_tPerformer_H
8248#include <memory>
8249#include <optional>
8250#include <vector>
8251
8252
8253/**
8254 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
8255 */
8256namespace XML::bpmn {
8257
8258/**
8259 * Overview:
8260 * - Element name: tPerformer
8261 * - XML-Schema: xsd/Semantic.xsd
8262 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
8263 *
8264 * Members:
8265 * - resourceAssignmentExpression : tResourceAssignmentExpression [0..1] (from: tResourceRole)
8266 * - resourceRef : QName [0..*] (from: tResourceRole)
8267 * - resourceParameterBinding : tResourceParameterBinding [0..*] (from: tResourceRole)
8268 * - name : string [0..1] (from: tResourceRole)
8269 * - documentation : tDocumentation [0..*] (from: tBaseElement)
8270 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
8271 * - id : ID [0..1] (from: tBaseElement)
8272 *
8273 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
8274 */
8276 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
8277private:
8278 static bool registerClass() {
8279 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tPerformer"] = &createInstance<tPerformer>; // register function in factory
8280 return true;
8281 };
8282 inline static bool registered = registerClass();
8283protected:
8284 tPerformer(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
8285
8286public:
8287 /// default attributes to be used if they are not explicitly provided
8288 inline static const Attributes defaults = {
8289 };
8290
8291};
8292
8293} // namespace XML::bpmn
8294
8295#endif // XML_bpmn_tPerformer_H
8296#ifndef XML_bpmn_performer_H
8297#define XML_bpmn_performer_H
8298#include <memory>
8299#include <optional>
8300#include <vector>
8301
8302
8303/**
8304 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
8305 */
8306namespace XML::bpmn {
8307
8308/**
8309 * Overview:
8310 * - Element name: performer
8311 * - XML-Schema: xsd/Semantic.xsd
8312 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
8313 *
8314 * Members:
8315 * - resourceAssignmentExpression : tResourceAssignmentExpression [0..1] (from: tResourceRole)
8316 * - resourceRef : QName [0..*] (from: tResourceRole)
8317 * - resourceParameterBinding : tResourceParameterBinding [0..*] (from: tResourceRole)
8318 * - name : string [0..1] (from: tResourceRole)
8319 * - documentation : tDocumentation [0..*] (from: tBaseElement)
8320 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
8321 * - id : ID [0..1] (from: tBaseElement)
8322 *
8323 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
8324 */
8325class performer : public tPerformer {
8326 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
8327private:
8328 static bool registerClass() {
8329 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:performer"] = &createInstance<performer>; // register function in factory
8330 return true;
8331 };
8332 inline static bool registered = registerClass();
8333protected:
8334 performer(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
8335
8336public:
8337 /// default attributes to be used if they are not explicitly provided
8338 inline static const Attributes defaults = {
8339 };
8340
8341};
8342
8343} // namespace XML::bpmn
8344
8345#endif // XML_bpmn_performer_H
8346#ifndef XML_bpmn_tHumanPerformer_H
8347#define XML_bpmn_tHumanPerformer_H
8348#include <memory>
8349#include <optional>
8350#include <vector>
8351
8352
8353/**
8354 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
8355 */
8356namespace XML::bpmn {
8357
8358/**
8359 * Overview:
8360 * - Element name: tHumanPerformer
8361 * - XML-Schema: xsd/Semantic.xsd
8362 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
8363 *
8364 * Members:
8365 * - resourceAssignmentExpression : tResourceAssignmentExpression [0..1] (from: tResourceRole)
8366 * - resourceRef : QName [0..*] (from: tResourceRole)
8367 * - resourceParameterBinding : tResourceParameterBinding [0..*] (from: tResourceRole)
8368 * - name : string [0..1] (from: tResourceRole)
8369 * - documentation : tDocumentation [0..*] (from: tBaseElement)
8370 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
8371 * - id : ID [0..1] (from: tBaseElement)
8372 *
8373 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
8374 */
8376 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
8377private:
8378 static bool registerClass() {
8379 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tHumanPerformer"] = &createInstance<tHumanPerformer>; // register function in factory
8380 return true;
8381 };
8382 inline static bool registered = registerClass();
8383protected:
8384 tHumanPerformer(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
8385
8386public:
8387 /// default attributes to be used if they are not explicitly provided
8388 inline static const Attributes defaults = {
8389 };
8390
8391};
8392
8393} // namespace XML::bpmn
8394
8395#endif // XML_bpmn_tHumanPerformer_H
8396#ifndef XML_bpmn_humanPerformer_H
8397#define XML_bpmn_humanPerformer_H
8398#include <memory>
8399#include <optional>
8400#include <vector>
8401
8402
8403/**
8404 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
8405 */
8406namespace XML::bpmn {
8407
8408/**
8409 * Overview:
8410 * - Element name: humanPerformer
8411 * - XML-Schema: xsd/Semantic.xsd
8412 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
8413 *
8414 * Members:
8415 * - resourceAssignmentExpression : tResourceAssignmentExpression [0..1] (from: tResourceRole)
8416 * - resourceRef : QName [0..*] (from: tResourceRole)
8417 * - resourceParameterBinding : tResourceParameterBinding [0..*] (from: tResourceRole)
8418 * - name : string [0..1] (from: tResourceRole)
8419 * - documentation : tDocumentation [0..*] (from: tBaseElement)
8420 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
8421 * - id : ID [0..1] (from: tBaseElement)
8422 *
8423 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
8424 */
8426 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
8427private:
8428 static bool registerClass() {
8429 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:humanPerformer"] = &createInstance<humanPerformer>; // register function in factory
8430 return true;
8431 };
8432 inline static bool registered = registerClass();
8433protected:
8434 humanPerformer(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
8435
8436public:
8437 /// default attributes to be used if they are not explicitly provided
8438 inline static const Attributes defaults = {
8439 };
8440
8441};
8442
8443} // namespace XML::bpmn
8444
8445#endif // XML_bpmn_humanPerformer_H
8446#ifndef XML_bpmn_tPotentialOwner_H
8447#define XML_bpmn_tPotentialOwner_H
8448#include <memory>
8449#include <optional>
8450#include <vector>
8451
8452
8453/**
8454 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
8455 */
8456namespace XML::bpmn {
8457
8458/**
8459 * Overview:
8460 * - Element name: tPotentialOwner
8461 * - XML-Schema: xsd/Semantic.xsd
8462 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
8463 *
8464 * Members:
8465 * - resourceAssignmentExpression : tResourceAssignmentExpression [0..1] (from: tResourceRole)
8466 * - resourceRef : QName [0..*] (from: tResourceRole)
8467 * - resourceParameterBinding : tResourceParameterBinding [0..*] (from: tResourceRole)
8468 * - name : string [0..1] (from: tResourceRole)
8469 * - documentation : tDocumentation [0..*] (from: tBaseElement)
8470 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
8471 * - id : ID [0..1] (from: tBaseElement)
8472 *
8473 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
8474 */
8476 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
8477private:
8478 static bool registerClass() {
8479 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tPotentialOwner"] = &createInstance<tPotentialOwner>; // register function in factory
8480 return true;
8481 };
8482 inline static bool registered = registerClass();
8483protected:
8484 tPotentialOwner(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
8485
8486public:
8487 /// default attributes to be used if they are not explicitly provided
8488 inline static const Attributes defaults = {
8489 };
8490
8491};
8492
8493} // namespace XML::bpmn
8494
8495#endif // XML_bpmn_tPotentialOwner_H
8496#ifndef XML_bpmn_potentialOwner_H
8497#define XML_bpmn_potentialOwner_H
8498#include <memory>
8499#include <optional>
8500#include <vector>
8501
8502
8503/**
8504 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
8505 */
8506namespace XML::bpmn {
8507
8508/**
8509 * Overview:
8510 * - Element name: potentialOwner
8511 * - XML-Schema: xsd/Semantic.xsd
8512 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
8513 *
8514 * Members:
8515 * - resourceAssignmentExpression : tResourceAssignmentExpression [0..1] (from: tResourceRole)
8516 * - resourceRef : QName [0..*] (from: tResourceRole)
8517 * - resourceParameterBinding : tResourceParameterBinding [0..*] (from: tResourceRole)
8518 * - name : string [0..1] (from: tResourceRole)
8519 * - documentation : tDocumentation [0..*] (from: tBaseElement)
8520 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
8521 * - id : ID [0..1] (from: tBaseElement)
8522 *
8523 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
8524 */
8526 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
8527private:
8528 static bool registerClass() {
8529 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:potentialOwner"] = &createInstance<potentialOwner>; // register function in factory
8530 return true;
8531 };
8532 inline static bool registered = registerClass();
8533protected:
8534 potentialOwner(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
8535
8536public:
8537 /// default attributes to be used if they are not explicitly provided
8538 inline static const Attributes defaults = {
8539 };
8540
8541};
8542
8543} // namespace XML::bpmn
8544
8545#endif // XML_bpmn_potentialOwner_H
8546#ifndef XML_bpmn_tRootElement_H
8547#define XML_bpmn_tRootElement_H
8548#include <memory>
8549#include <optional>
8550#include <vector>
8551
8552
8553/**
8554 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
8555 */
8556namespace XML::bpmn {
8557
8558/**
8559 * Overview:
8560 * - Element name: tRootElement
8561 * - XML-Schema: xsd/Semantic.xsd
8562 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
8563 *
8564 * Members:
8565 * - documentation : tDocumentation [0..*] (from: tBaseElement)
8566 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
8567 * - id : ID [0..1] (from: tBaseElement)
8568 *
8569 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
8570 */
8572 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
8573private:
8574 static bool registerClass() {
8575 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tRootElement"] = &createInstance<tRootElement>; // register function in factory
8576 return true;
8577 };
8578 inline static bool registered = registerClass();
8579protected:
8580 tRootElement(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
8581
8582 friend class tDefinitions;
8583
8584public:
8585 /// default attributes to be used if they are not explicitly provided
8586 inline static const Attributes defaults = {
8587 };
8588
8589};
8590
8591} // namespace XML::bpmn
8592
8593#endif // XML_bpmn_tRootElement_H
8594#ifndef XML_bpmn_rootElement_H
8595#define XML_bpmn_rootElement_H
8596#include <memory>
8597#include <optional>
8598#include <vector>
8599
8600
8601/**
8602 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
8603 */
8604namespace XML::bpmn {
8605
8606/**
8607 * Overview:
8608 * - Element name: rootElement
8609 * - XML-Schema: xsd/Semantic.xsd
8610 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
8611 *
8612 * Members:
8613 * - documentation : tDocumentation [0..*] (from: tBaseElement)
8614 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
8615 * - id : ID [0..1] (from: tBaseElement)
8616 *
8617 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
8618 */
8620 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
8621private:
8622 static bool registerClass() {
8623 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:rootElement"] = &createInstance<rootElement>; // register function in factory
8624 return true;
8625 };
8626 inline static bool registered = registerClass();
8627protected:
8628 rootElement(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
8629
8630public:
8631 /// default attributes to be used if they are not explicitly provided
8632 inline static const Attributes defaults = {
8633 };
8634
8635};
8636
8637} // namespace XML::bpmn
8638
8639#endif // XML_bpmn_rootElement_H
8640#ifndef XML_bpmn_tCallableElement_H
8641#define XML_bpmn_tCallableElement_H
8642#include <memory>
8643#include <optional>
8644#include <vector>
8645
8646
8647/**
8648 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
8649 */
8650namespace XML::bpmn {
8651
8652class tInputOutputSpecification;
8653class tInputOutputBinding;
8654
8655/**
8656 * Overview:
8657 * - Element name: tCallableElement
8658 * - XML-Schema: xsd/Semantic.xsd
8659 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
8660 *
8661 * Members:
8662 * - supportedInterfaceRef : QName [0..*]
8663 * - ioSpecification : tInputOutputSpecification [0..1]
8664 * - ioBinding : tInputOutputBinding [0..*]
8665 * - name : string [0..1]
8666 * - documentation : tDocumentation [0..*] (from: tBaseElement)
8667 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
8668 * - id : ID [0..1] (from: tBaseElement)
8669 *
8670 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
8671 */
8673 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
8674private:
8675 static bool registerClass() {
8676 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tCallableElement"] = &createInstance<tCallableElement>; // register function in factory
8677 return true;
8678 };
8679 inline static bool registered = registerClass();
8680protected:
8681 tCallableElement(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
8682
8683public:
8684 /// default attributes to be used if they are not explicitly provided
8685 inline static const Attributes defaults = {
8686 };
8687
8688 std::vector< std::reference_wrapper<XMLObject> > supportedInterfaceRef;
8689 std::optional< std::reference_wrapper<tInputOutputSpecification> > ioSpecification;
8690 std::vector< std::reference_wrapper<tInputOutputBinding> > ioBinding;
8691 std::optional< std::reference_wrapper<Attribute> > name; ///< Attribute value can be expected to be of type 'std::string'
8692};
8693
8694} // namespace XML::bpmn
8695
8696#endif // XML_bpmn_tCallableElement_H
8697#ifndef XML_bpmn_callableElement_H
8698#define XML_bpmn_callableElement_H
8699#include <memory>
8700#include <optional>
8701#include <vector>
8702
8703
8704/**
8705 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
8706 */
8707namespace XML::bpmn {
8708
8709/**
8710 * Overview:
8711 * - Element name: callableElement
8712 * - XML-Schema: xsd/Semantic.xsd
8713 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
8714 *
8715 * Members:
8716 * - supportedInterfaceRef : QName [0..*] (from: tCallableElement)
8717 * - ioSpecification : tInputOutputSpecification [0..1] (from: tCallableElement)
8718 * - ioBinding : tInputOutputBinding [0..*] (from: tCallableElement)
8719 * - name : string [0..1] (from: tCallableElement)
8720 * - documentation : tDocumentation [0..*] (from: tBaseElement)
8721 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
8722 * - id : ID [0..1] (from: tBaseElement)
8723 *
8724 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
8725 */
8727 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
8728private:
8729 static bool registerClass() {
8730 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:callableElement"] = &createInstance<callableElement>; // register function in factory
8731 return true;
8732 };
8733 inline static bool registered = registerClass();
8734protected:
8735 callableElement(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
8736
8737public:
8738 /// default attributes to be used if they are not explicitly provided
8739 inline static const Attributes defaults = {
8740 };
8741
8742};
8743
8744} // namespace XML::bpmn
8745
8746#endif // XML_bpmn_callableElement_H
8747#ifndef XML_bpmn_tCategory_H
8748#define XML_bpmn_tCategory_H
8749#include <memory>
8750#include <optional>
8751#include <vector>
8752
8753
8754/**
8755 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
8756 */
8757namespace XML::bpmn {
8758
8759class tCategoryValue;
8760
8761/**
8762 * Overview:
8763 * - Element name: tCategory
8764 * - XML-Schema: xsd/Semantic.xsd
8765 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
8766 *
8767 * Members:
8768 * - categoryValue : tCategoryValue [0..*]
8769 * - name : string [0..1]
8770 * - documentation : tDocumentation [0..*] (from: tBaseElement)
8771 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
8772 * - id : ID [0..1] (from: tBaseElement)
8773 *
8774 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
8775 */
8776class tCategory : public tRootElement {
8777 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
8778private:
8779 static bool registerClass() {
8780 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tCategory"] = &createInstance<tCategory>; // register function in factory
8781 return true;
8782 };
8783 inline static bool registered = registerClass();
8784protected:
8785 tCategory(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
8786
8787public:
8788 /// default attributes to be used if they are not explicitly provided
8789 inline static const Attributes defaults = {
8790 };
8791
8792 std::vector< std::reference_wrapper<tCategoryValue> > categoryValue;
8793 std::optional< std::reference_wrapper<Attribute> > name; ///< Attribute value can be expected to be of type 'std::string'
8794};
8795
8796} // namespace XML::bpmn
8797
8798#endif // XML_bpmn_tCategory_H
8799#ifndef XML_bpmn_category_H
8800#define XML_bpmn_category_H
8801#include <memory>
8802#include <optional>
8803#include <vector>
8804
8805
8806/**
8807 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
8808 */
8809namespace XML::bpmn {
8810
8811/**
8812 * Overview:
8813 * - Element name: category
8814 * - XML-Schema: xsd/Semantic.xsd
8815 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
8816 *
8817 * Members:
8818 * - categoryValue : tCategoryValue [0..*] (from: tCategory)
8819 * - name : string [0..1] (from: tCategory)
8820 * - documentation : tDocumentation [0..*] (from: tBaseElement)
8821 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
8822 * - id : ID [0..1] (from: tBaseElement)
8823 *
8824 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
8825 */
8826class category : public tCategory {
8827 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
8828private:
8829 static bool registerClass() {
8830 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:category"] = &createInstance<category>; // register function in factory
8831 return true;
8832 };
8833 inline static bool registered = registerClass();
8834protected:
8835 category(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
8836
8837public:
8838 /// default attributes to be used if they are not explicitly provided
8839 inline static const Attributes defaults = {
8840 };
8841
8842};
8843
8844} // namespace XML::bpmn
8845
8846#endif // XML_bpmn_category_H
8847#ifndef XML_bpmn_tCollaboration_H
8848#define XML_bpmn_tCollaboration_H
8849#include <memory>
8850#include <optional>
8851#include <vector>
8852
8853
8854/**
8855 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
8856 */
8857namespace XML::bpmn {
8858
8859class tParticipant;
8860class tMessageFlow;
8861class tArtifact;
8862class tConversationNode;
8863class tConversationAssociation;
8864class tParticipantAssociation;
8865class tMessageFlowAssociation;
8866class tCorrelationKey;
8867class tConversationLink;
8868
8869/**
8870 * Overview:
8871 * - Element name: tCollaboration
8872 * - XML-Schema: xsd/Semantic.xsd
8873 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
8874 *
8875 * Members:
8876 * - participant : tParticipant [0..*]
8877 * - messageFlow : tMessageFlow [0..*]
8878 * - artifact : tArtifact [0..*]
8879 * - conversationNode : tConversationNode [0..*]
8880 * - conversationAssociation : tConversationAssociation [0..*]
8881 * - participantAssociation : tParticipantAssociation [0..*]
8882 * - messageFlowAssociation : tMessageFlowAssociation [0..*]
8883 * - correlationKey : tCorrelationKey [0..*]
8884 * - choreographyRef : QName [0..*]
8885 * - conversationLink : tConversationLink [0..*]
8886 * - name : string [0..1]
8887 * - isClosed : boolean [0..1]
8888 * - documentation : tDocumentation [0..*] (from: tBaseElement)
8889 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
8890 * - id : ID [0..1] (from: tBaseElement)
8891 *
8892 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
8893 */
8895 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
8896private:
8897 static bool registerClass() {
8898 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tCollaboration"] = &createInstance<tCollaboration>; // register function in factory
8899 return true;
8900 };
8901 inline static bool registered = registerClass();
8902protected:
8903 tCollaboration(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
8904
8905public:
8906 /// default attributes to be used if they are not explicitly provided
8907 inline static const Attributes defaults = {
8908 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "isClosed", .value = Value(std::string("false"))}
8909 };
8910
8911 std::vector< std::reference_wrapper<tParticipant> > participant;
8912 std::vector< std::reference_wrapper<tMessageFlow> > messageFlow;
8913 std::vector< std::reference_wrapper<tArtifact> > artifact;
8914 std::vector< std::reference_wrapper<tConversationNode> > conversationNode;
8915 std::vector< std::reference_wrapper<tConversationAssociation> > conversationAssociation;
8916 std::vector< std::reference_wrapper<tParticipantAssociation> > participantAssociation;
8917 std::vector< std::reference_wrapper<tMessageFlowAssociation> > messageFlowAssociation;
8918 std::vector< std::reference_wrapper<tCorrelationKey> > correlationKey;
8919 std::vector< std::reference_wrapper<XMLObject> > choreographyRef;
8920 std::vector< std::reference_wrapper<tConversationLink> > conversationLink;
8921 std::optional< std::reference_wrapper<Attribute> > name; ///< Attribute value can be expected to be of type 'std::string'
8922 std::optional< std::reference_wrapper<Attribute> > isClosed; ///< Attribute value can be expected to be of type 'bool'
8923};
8924
8925} // namespace XML::bpmn
8926
8927#endif // XML_bpmn_tCollaboration_H
8928#ifndef XML_bpmn_collaboration_H
8929#define XML_bpmn_collaboration_H
8930#include <memory>
8931#include <optional>
8932#include <vector>
8933
8934
8935/**
8936 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
8937 */
8938namespace XML::bpmn {
8939
8940/**
8941 * Overview:
8942 * - Element name: collaboration
8943 * - XML-Schema: xsd/Semantic.xsd
8944 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
8945 *
8946 * Members:
8947 * - participant : tParticipant [0..*] (from: tCollaboration)
8948 * - messageFlow : tMessageFlow [0..*] (from: tCollaboration)
8949 * - artifact : tArtifact [0..*] (from: tCollaboration)
8950 * - conversationNode : tConversationNode [0..*] (from: tCollaboration)
8951 * - conversationAssociation : tConversationAssociation [0..*] (from: tCollaboration)
8952 * - participantAssociation : tParticipantAssociation [0..*] (from: tCollaboration)
8953 * - messageFlowAssociation : tMessageFlowAssociation [0..*] (from: tCollaboration)
8954 * - correlationKey : tCorrelationKey [0..*] (from: tCollaboration)
8955 * - choreographyRef : QName [0..*] (from: tCollaboration)
8956 * - conversationLink : tConversationLink [0..*] (from: tCollaboration)
8957 * - name : string [0..1] (from: tCollaboration)
8958 * - isClosed : boolean [0..1] (from: tCollaboration)
8959 * - documentation : tDocumentation [0..*] (from: tBaseElement)
8960 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
8961 * - id : ID [0..1] (from: tBaseElement)
8962 *
8963 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
8964 */
8966 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
8967private:
8968 static bool registerClass() {
8969 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:collaboration"] = &createInstance<collaboration>; // register function in factory
8970 return true;
8971 };
8972 inline static bool registered = registerClass();
8973protected:
8974 collaboration(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
8975
8976public:
8977 /// default attributes to be used if they are not explicitly provided
8978 inline static const Attributes defaults = {
8979 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "isClosed", .value = Value(std::string("false"))}
8980 };
8981
8982};
8983
8984} // namespace XML::bpmn
8985
8986#endif // XML_bpmn_collaboration_H
8987#ifndef XML_bpmn_tChoreography_H
8988#define XML_bpmn_tChoreography_H
8989#include <memory>
8990#include <optional>
8991#include <vector>
8992
8993
8994/**
8995 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
8996 */
8997namespace XML::bpmn {
8998
8999class tFlowElement;
9000
9001/**
9002 * Overview:
9003 * - Element name: tChoreography
9004 * - XML-Schema: xsd/Semantic.xsd
9005 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
9006 *
9007 * Members:
9008 * - flowElement : tFlowElement [0..*]
9009 * - participant : tParticipant [0..*] (from: tCollaboration)
9010 * - messageFlow : tMessageFlow [0..*] (from: tCollaboration)
9011 * - artifact : tArtifact [0..*] (from: tCollaboration)
9012 * - conversationNode : tConversationNode [0..*] (from: tCollaboration)
9013 * - conversationAssociation : tConversationAssociation [0..*] (from: tCollaboration)
9014 * - participantAssociation : tParticipantAssociation [0..*] (from: tCollaboration)
9015 * - messageFlowAssociation : tMessageFlowAssociation [0..*] (from: tCollaboration)
9016 * - correlationKey : tCorrelationKey [0..*] (from: tCollaboration)
9017 * - choreographyRef : QName [0..*] (from: tCollaboration)
9018 * - conversationLink : tConversationLink [0..*] (from: tCollaboration)
9019 * - name : string [0..1] (from: tCollaboration)
9020 * - isClosed : boolean [0..1] (from: tCollaboration)
9021 * - documentation : tDocumentation [0..*] (from: tBaseElement)
9022 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
9023 * - id : ID [0..1] (from: tBaseElement)
9024 *
9025 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
9026 */
9028 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
9029private:
9030 static bool registerClass() {
9031 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tChoreography"] = &createInstance<tChoreography>; // register function in factory
9032 return true;
9033 };
9034 inline static bool registered = registerClass();
9035protected:
9036 tChoreography(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
9037
9038public:
9039 /// default attributes to be used if they are not explicitly provided
9040 inline static const Attributes defaults = {
9041 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "isClosed", .value = Value(std::string("false"))}
9042 };
9043
9044 std::vector< std::reference_wrapper<tFlowElement> > flowElement;
9045};
9046
9047} // namespace XML::bpmn
9048
9049#endif // XML_bpmn_tChoreography_H
9050#ifndef XML_bpmn_choreography_H
9051#define XML_bpmn_choreography_H
9052#include <memory>
9053#include <optional>
9054#include <vector>
9055
9056
9057/**
9058 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
9059 */
9060namespace XML::bpmn {
9061
9062/**
9063 * Overview:
9064 * - Element name: choreography
9065 * - XML-Schema: xsd/Semantic.xsd
9066 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
9067 *
9068 * Members:
9069 * - flowElement : tFlowElement [0..*] (from: tChoreography)
9070 * - participant : tParticipant [0..*] (from: tCollaboration)
9071 * - messageFlow : tMessageFlow [0..*] (from: tCollaboration)
9072 * - artifact : tArtifact [0..*] (from: tCollaboration)
9073 * - conversationNode : tConversationNode [0..*] (from: tCollaboration)
9074 * - conversationAssociation : tConversationAssociation [0..*] (from: tCollaboration)
9075 * - participantAssociation : tParticipantAssociation [0..*] (from: tCollaboration)
9076 * - messageFlowAssociation : tMessageFlowAssociation [0..*] (from: tCollaboration)
9077 * - correlationKey : tCorrelationKey [0..*] (from: tCollaboration)
9078 * - choreographyRef : QName [0..*] (from: tCollaboration)
9079 * - conversationLink : tConversationLink [0..*] (from: tCollaboration)
9080 * - name : string [0..1] (from: tCollaboration)
9081 * - isClosed : boolean [0..1] (from: tCollaboration)
9082 * - documentation : tDocumentation [0..*] (from: tBaseElement)
9083 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
9084 * - id : ID [0..1] (from: tBaseElement)
9085 *
9086 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
9087 */
9089 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
9090private:
9091 static bool registerClass() {
9092 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:choreography"] = &createInstance<choreography>; // register function in factory
9093 return true;
9094 };
9095 inline static bool registered = registerClass();
9096protected:
9097 choreography(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
9098
9099public:
9100 /// default attributes to be used if they are not explicitly provided
9101 inline static const Attributes defaults = {
9102 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "isClosed", .value = Value(std::string("false"))}
9103 };
9104
9105};
9106
9107} // namespace XML::bpmn
9108
9109#endif // XML_bpmn_choreography_H
9110#ifndef XML_bpmn_tCorrelationProperty_H
9111#define XML_bpmn_tCorrelationProperty_H
9112#include <memory>
9113#include <optional>
9114#include <vector>
9115
9116
9117/**
9118 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
9119 */
9120namespace XML::bpmn {
9121
9122class tCorrelationPropertyRetrievalExpression;
9123
9124/**
9125 * Overview:
9126 * - Element name: tCorrelationProperty
9127 * - XML-Schema: xsd/Semantic.xsd
9128 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
9129 *
9130 * Members:
9131 * - correlationPropertyRetrievalExpression : tCorrelationPropertyRetrievalExpression [1..*]
9132 * - name : string [0..1]
9133 * - type : QName [0..1]
9134 * - documentation : tDocumentation [0..*] (from: tBaseElement)
9135 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
9136 * - id : ID [0..1] (from: tBaseElement)
9137 *
9138 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
9139 */
9141 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
9142private:
9143 static bool registerClass() {
9144 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tCorrelationProperty"] = &createInstance<tCorrelationProperty>; // register function in factory
9145 return true;
9146 };
9147 inline static bool registered = registerClass();
9148protected:
9149 tCorrelationProperty(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
9150
9151public:
9152 /// default attributes to be used if they are not explicitly provided
9153 inline static const Attributes defaults = {
9154 };
9155
9156 std::vector< std::reference_wrapper<tCorrelationPropertyRetrievalExpression> > correlationPropertyRetrievalExpression;
9157 std::optional< std::reference_wrapper<Attribute> > name; ///< Attribute value can be expected to be of type 'std::string'
9158 std::optional< std::reference_wrapper<Attribute> > type; ///< Attribute value can be expected to be of type 'std::string'
9159};
9160
9161} // namespace XML::bpmn
9162
9163#endif // XML_bpmn_tCorrelationProperty_H
9164#ifndef XML_bpmn_correlationProperty_H
9165#define XML_bpmn_correlationProperty_H
9166#include <memory>
9167#include <optional>
9168#include <vector>
9169
9170
9171/**
9172 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
9173 */
9174namespace XML::bpmn {
9175
9176/**
9177 * Overview:
9178 * - Element name: correlationProperty
9179 * - XML-Schema: xsd/Semantic.xsd
9180 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
9181 *
9182 * Members:
9183 * - correlationPropertyRetrievalExpression : tCorrelationPropertyRetrievalExpression [1..*] (from: tCorrelationProperty)
9184 * - name : string [0..1] (from: tCorrelationProperty)
9185 * - type : QName [0..1] (from: tCorrelationProperty)
9186 * - documentation : tDocumentation [0..*] (from: tBaseElement)
9187 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
9188 * - id : ID [0..1] (from: tBaseElement)
9189 *
9190 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
9191 */
9193 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
9194private:
9195 static bool registerClass() {
9196 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:correlationProperty"] = &createInstance<correlationProperty>; // register function in factory
9197 return true;
9198 };
9199 inline static bool registered = registerClass();
9200protected:
9201 correlationProperty(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
9202
9203public:
9204 /// default attributes to be used if they are not explicitly provided
9205 inline static const Attributes defaults = {
9206 };
9207
9208};
9209
9210} // namespace XML::bpmn
9211
9212#endif // XML_bpmn_correlationProperty_H
9213#ifndef XML_bpmn_tDataStore_H
9214#define XML_bpmn_tDataStore_H
9215#include <memory>
9216#include <optional>
9217#include <vector>
9218
9219
9220/**
9221 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
9222 */
9223namespace XML::bpmn {
9224
9225class tDataState;
9226
9227/**
9228 * Overview:
9229 * - Element name: tDataStore
9230 * - XML-Schema: xsd/Semantic.xsd
9231 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
9232 *
9233 * Members:
9234 * - dataState : tDataState [0..1]
9235 * - name : string [0..1]
9236 * - capacity : integer [0..1]
9237 * - isUnlimited : boolean [0..1]
9238 * - itemSubjectRef : QName [0..1]
9239 * - documentation : tDocumentation [0..*] (from: tBaseElement)
9240 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
9241 * - id : ID [0..1] (from: tBaseElement)
9242 *
9243 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
9244 */
9245class tDataStore : public tRootElement {
9246 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
9247private:
9248 static bool registerClass() {
9249 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tDataStore"] = &createInstance<tDataStore>; // register function in factory
9250 return true;
9251 };
9252 inline static bool registered = registerClass();
9253protected:
9254 tDataStore(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
9255
9256public:
9257 /// default attributes to be used if they are not explicitly provided
9258 inline static const Attributes defaults = {
9259 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "isUnlimited", .value = Value(std::string("true"))}
9260 };
9261
9262 std::optional< std::reference_wrapper<tDataState> > dataState;
9263 std::optional< std::reference_wrapper<Attribute> > name; ///< Attribute value can be expected to be of type 'std::string'
9264 std::optional< std::reference_wrapper<Attribute> > capacity; ///< Attribute value can be expected to be of type 'int'
9265 std::optional< std::reference_wrapper<Attribute> > isUnlimited; ///< Attribute value can be expected to be of type 'bool'
9266 std::optional< std::reference_wrapper<Attribute> > itemSubjectRef; ///< Attribute value can be expected to be of type 'std::string'
9267};
9268
9269} // namespace XML::bpmn
9270
9271#endif // XML_bpmn_tDataStore_H
9272#ifndef XML_bpmn_dataStore_H
9273#define XML_bpmn_dataStore_H
9274#include <memory>
9275#include <optional>
9276#include <vector>
9277
9278
9279/**
9280 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
9281 */
9282namespace XML::bpmn {
9283
9284/**
9285 * Overview:
9286 * - Element name: dataStore
9287 * - XML-Schema: xsd/Semantic.xsd
9288 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
9289 *
9290 * Members:
9291 * - dataState : tDataState [0..1] (from: tDataStore)
9292 * - name : string [0..1] (from: tDataStore)
9293 * - capacity : integer [0..1] (from: tDataStore)
9294 * - isUnlimited : boolean [0..1] (from: tDataStore)
9295 * - itemSubjectRef : QName [0..1] (from: tDataStore)
9296 * - documentation : tDocumentation [0..*] (from: tBaseElement)
9297 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
9298 * - id : ID [0..1] (from: tBaseElement)
9299 *
9300 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
9301 */
9302class dataStore : public tDataStore {
9303 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
9304private:
9305 static bool registerClass() {
9306 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:dataStore"] = &createInstance<dataStore>; // register function in factory
9307 return true;
9308 };
9309 inline static bool registered = registerClass();
9310protected:
9311 dataStore(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
9312
9313public:
9314 /// default attributes to be used if they are not explicitly provided
9315 inline static const Attributes defaults = {
9316 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "isUnlimited", .value = Value(std::string("true"))}
9317 };
9318
9319};
9320
9321} // namespace XML::bpmn
9322
9323#endif // XML_bpmn_dataStore_H
9324#ifndef XML_bpmn_tEndPoint_H
9325#define XML_bpmn_tEndPoint_H
9326#include <memory>
9327#include <optional>
9328#include <vector>
9329
9330
9331/**
9332 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
9333 */
9334namespace XML::bpmn {
9335
9336/**
9337 * Overview:
9338 * - Element name: tEndPoint
9339 * - XML-Schema: xsd/Semantic.xsd
9340 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
9341 *
9342 * Members:
9343 * - documentation : tDocumentation [0..*] (from: tBaseElement)
9344 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
9345 * - id : ID [0..1] (from: tBaseElement)
9346 *
9347 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
9348 */
9349class tEndPoint : public tRootElement {
9350 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
9351private:
9352 static bool registerClass() {
9353 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tEndPoint"] = &createInstance<tEndPoint>; // register function in factory
9354 return true;
9355 };
9356 inline static bool registered = registerClass();
9357protected:
9358 tEndPoint(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
9359
9360public:
9361 /// default attributes to be used if they are not explicitly provided
9362 inline static const Attributes defaults = {
9363 };
9364
9365};
9366
9367} // namespace XML::bpmn
9368
9369#endif // XML_bpmn_tEndPoint_H
9370#ifndef XML_bpmn_endPoint_H
9371#define XML_bpmn_endPoint_H
9372#include <memory>
9373#include <optional>
9374#include <vector>
9375
9376
9377/**
9378 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
9379 */
9380namespace XML::bpmn {
9381
9382/**
9383 * Overview:
9384 * - Element name: endPoint
9385 * - XML-Schema: xsd/Semantic.xsd
9386 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
9387 *
9388 * Members:
9389 * - documentation : tDocumentation [0..*] (from: tBaseElement)
9390 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
9391 * - id : ID [0..1] (from: tBaseElement)
9392 *
9393 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
9394 */
9395class endPoint : public tEndPoint {
9396 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
9397private:
9398 static bool registerClass() {
9399 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:endPoint"] = &createInstance<endPoint>; // register function in factory
9400 return true;
9401 };
9402 inline static bool registered = registerClass();
9403protected:
9404 endPoint(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
9405
9406public:
9407 /// default attributes to be used if they are not explicitly provided
9408 inline static const Attributes defaults = {
9409 };
9410
9411};
9412
9413} // namespace XML::bpmn
9414
9415#endif // XML_bpmn_endPoint_H
9416#ifndef XML_bpmn_tError_H
9417#define XML_bpmn_tError_H
9418#include <memory>
9419#include <optional>
9420#include <vector>
9421
9422
9423/**
9424 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
9425 */
9426namespace XML::bpmn {
9427
9428/**
9429 * Overview:
9430 * - Element name: tError
9431 * - XML-Schema: xsd/Semantic.xsd
9432 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
9433 *
9434 * Members:
9435 * - name : string [0..1]
9436 * - errorCode : string [0..1]
9437 * - structureRef : QName [0..1]
9438 * - documentation : tDocumentation [0..*] (from: tBaseElement)
9439 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
9440 * - id : ID [0..1] (from: tBaseElement)
9441 *
9442 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
9443 */
9444class tError : public tRootElement {
9445 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
9446private:
9447 static bool registerClass() {
9448 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tError"] = &createInstance<tError>; // register function in factory
9449 return true;
9450 };
9451 inline static bool registered = registerClass();
9452protected:
9453 tError(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
9454
9455public:
9456 /// default attributes to be used if they are not explicitly provided
9457 inline static const Attributes defaults = {
9458 };
9459
9460 std::optional< std::reference_wrapper<Attribute> > name; ///< Attribute value can be expected to be of type 'std::string'
9461 std::optional< std::reference_wrapper<Attribute> > errorCode; ///< Attribute value can be expected to be of type 'std::string'
9462 std::optional< std::reference_wrapper<Attribute> > structureRef; ///< Attribute value can be expected to be of type 'std::string'
9463};
9464
9465} // namespace XML::bpmn
9466
9467#endif // XML_bpmn_tError_H
9468#ifndef XML_bpmn_error_H
9469#define XML_bpmn_error_H
9470#include <memory>
9471#include <optional>
9472#include <vector>
9473
9474
9475/**
9476 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
9477 */
9478namespace XML::bpmn {
9479
9480/**
9481 * Overview:
9482 * - Element name: error
9483 * - XML-Schema: xsd/Semantic.xsd
9484 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
9485 *
9486 * Members:
9487 * - name : string [0..1] (from: tError)
9488 * - errorCode : string [0..1] (from: tError)
9489 * - structureRef : QName [0..1] (from: tError)
9490 * - documentation : tDocumentation [0..*] (from: tBaseElement)
9491 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
9492 * - id : ID [0..1] (from: tBaseElement)
9493 *
9494 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
9495 */
9496class error : public tError {
9497 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
9498private:
9499 static bool registerClass() {
9500 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:error"] = &createInstance<error>; // register function in factory
9501 return true;
9502 };
9503 inline static bool registered = registerClass();
9504protected:
9505 error(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
9506
9507public:
9508 /// default attributes to be used if they are not explicitly provided
9509 inline static const Attributes defaults = {
9510 };
9511
9512};
9513
9514} // namespace XML::bpmn
9515
9516#endif // XML_bpmn_error_H
9517#ifndef XML_bpmn_tEscalation_H
9518#define XML_bpmn_tEscalation_H
9519#include <memory>
9520#include <optional>
9521#include <vector>
9522
9523
9524/**
9525 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
9526 */
9527namespace XML::bpmn {
9528
9529/**
9530 * Overview:
9531 * - Element name: tEscalation
9532 * - XML-Schema: xsd/Semantic.xsd
9533 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
9534 *
9535 * Members:
9536 * - name : string [0..1]
9537 * - escalationCode : string [0..1]
9538 * - structureRef : QName [0..1]
9539 * - documentation : tDocumentation [0..*] (from: tBaseElement)
9540 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
9541 * - id : ID [0..1] (from: tBaseElement)
9542 *
9543 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
9544 */
9546 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
9547private:
9548 static bool registerClass() {
9549 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tEscalation"] = &createInstance<tEscalation>; // register function in factory
9550 return true;
9551 };
9552 inline static bool registered = registerClass();
9553protected:
9554 tEscalation(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
9555
9556public:
9557 /// default attributes to be used if they are not explicitly provided
9558 inline static const Attributes defaults = {
9559 };
9560
9561 std::optional< std::reference_wrapper<Attribute> > name; ///< Attribute value can be expected to be of type 'std::string'
9562 std::optional< std::reference_wrapper<Attribute> > escalationCode; ///< Attribute value can be expected to be of type 'std::string'
9563 std::optional< std::reference_wrapper<Attribute> > structureRef; ///< Attribute value can be expected to be of type 'std::string'
9564};
9565
9566} // namespace XML::bpmn
9567
9568#endif // XML_bpmn_tEscalation_H
9569#ifndef XML_bpmn_escalation_H
9570#define XML_bpmn_escalation_H
9571#include <memory>
9572#include <optional>
9573#include <vector>
9574
9575
9576/**
9577 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
9578 */
9579namespace XML::bpmn {
9580
9581/**
9582 * Overview:
9583 * - Element name: escalation
9584 * - XML-Schema: xsd/Semantic.xsd
9585 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
9586 *
9587 * Members:
9588 * - name : string [0..1] (from: tEscalation)
9589 * - escalationCode : string [0..1] (from: tEscalation)
9590 * - structureRef : QName [0..1] (from: tEscalation)
9591 * - documentation : tDocumentation [0..*] (from: tBaseElement)
9592 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
9593 * - id : ID [0..1] (from: tBaseElement)
9594 *
9595 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
9596 */
9597class escalation : public tEscalation {
9598 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
9599private:
9600 static bool registerClass() {
9601 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:escalation"] = &createInstance<escalation>; // register function in factory
9602 return true;
9603 };
9604 inline static bool registered = registerClass();
9605protected:
9606 escalation(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
9607
9608public:
9609 /// default attributes to be used if they are not explicitly provided
9610 inline static const Attributes defaults = {
9611 };
9612
9613};
9614
9615} // namespace XML::bpmn
9616
9617#endif // XML_bpmn_escalation_H
9618#ifndef XML_bpmn_tEventDefinition_H
9619#define XML_bpmn_tEventDefinition_H
9620#include <memory>
9621#include <optional>
9622#include <vector>
9623
9624
9625/**
9626 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
9627 */
9628namespace XML::bpmn {
9629
9630/**
9631 * Overview:
9632 * - Element name: tEventDefinition
9633 * - XML-Schema: xsd/Semantic.xsd
9634 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
9635 *
9636 * Members:
9637 * - documentation : tDocumentation [0..*] (from: tBaseElement)
9638 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
9639 * - id : ID [0..1] (from: tBaseElement)
9640 *
9641 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
9642 */
9644 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
9645private:
9646 static bool registerClass() {
9647 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tEventDefinition"] = &createInstance<tEventDefinition>; // register function in factory
9648 return true;
9649 };
9650 inline static bool registered = registerClass();
9651protected:
9652 tEventDefinition(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
9653
9654 friend class tCatchEvent;
9655 friend class tThrowEvent;
9656
9657public:
9658 /// default attributes to be used if they are not explicitly provided
9659 inline static const Attributes defaults = {
9660 };
9661
9662};
9663
9664} // namespace XML::bpmn
9665
9666#endif // XML_bpmn_tEventDefinition_H
9667#ifndef XML_bpmn_eventDefinition_H
9668#define XML_bpmn_eventDefinition_H
9669#include <memory>
9670#include <optional>
9671#include <vector>
9672
9673
9674/**
9675 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
9676 */
9677namespace XML::bpmn {
9678
9679/**
9680 * Overview:
9681 * - Element name: eventDefinition
9682 * - XML-Schema: xsd/Semantic.xsd
9683 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
9684 *
9685 * Members:
9686 * - documentation : tDocumentation [0..*] (from: tBaseElement)
9687 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
9688 * - id : ID [0..1] (from: tBaseElement)
9689 *
9690 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
9691 */
9693 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
9694private:
9695 static bool registerClass() {
9696 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:eventDefinition"] = &createInstance<eventDefinition>; // register function in factory
9697 return true;
9698 };
9699 inline static bool registered = registerClass();
9700protected:
9701 eventDefinition(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
9702
9703public:
9704 /// default attributes to be used if they are not explicitly provided
9705 inline static const Attributes defaults = {
9706 };
9707
9708};
9709
9710} // namespace XML::bpmn
9711
9712#endif // XML_bpmn_eventDefinition_H
9713#ifndef XML_bpmn_tCancelEventDefinition_H
9714#define XML_bpmn_tCancelEventDefinition_H
9715#include <memory>
9716#include <optional>
9717#include <vector>
9718
9719
9720/**
9721 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
9722 */
9723namespace XML::bpmn {
9724
9725/**
9726 * Overview:
9727 * - Element name: tCancelEventDefinition
9728 * - XML-Schema: xsd/Semantic.xsd
9729 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
9730 *
9731 * Members:
9732 * - documentation : tDocumentation [0..*] (from: tBaseElement)
9733 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
9734 * - id : ID [0..1] (from: tBaseElement)
9735 *
9736 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
9737 */
9739 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
9740private:
9741 static bool registerClass() {
9742 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tCancelEventDefinition"] = &createInstance<tCancelEventDefinition>; // register function in factory
9743 return true;
9744 };
9745 inline static bool registered = registerClass();
9746protected:
9747 tCancelEventDefinition(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
9748
9749public:
9750 /// default attributes to be used if they are not explicitly provided
9751 inline static const Attributes defaults = {
9752 };
9753
9754};
9755
9756} // namespace XML::bpmn
9757
9758#endif // XML_bpmn_tCancelEventDefinition_H
9759#ifndef XML_bpmn_cancelEventDefinition_H
9760#define XML_bpmn_cancelEventDefinition_H
9761#include <memory>
9762#include <optional>
9763#include <vector>
9764
9765
9766/**
9767 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
9768 */
9769namespace XML::bpmn {
9770
9771/**
9772 * Overview:
9773 * - Element name: cancelEventDefinition
9774 * - XML-Schema: xsd/Semantic.xsd
9775 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
9776 *
9777 * Members:
9778 * - documentation : tDocumentation [0..*] (from: tBaseElement)
9779 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
9780 * - id : ID [0..1] (from: tBaseElement)
9781 *
9782 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
9783 */
9785 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
9786private:
9787 static bool registerClass() {
9788 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:cancelEventDefinition"] = &createInstance<cancelEventDefinition>; // register function in factory
9789 return true;
9790 };
9791 inline static bool registered = registerClass();
9792protected:
9793 cancelEventDefinition(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
9794
9795public:
9796 /// default attributes to be used if they are not explicitly provided
9797 inline static const Attributes defaults = {
9798 };
9799
9800};
9801
9802} // namespace XML::bpmn
9803
9804#endif // XML_bpmn_cancelEventDefinition_H
9805#ifndef XML_bpmn_tCompensateEventDefinition_H
9806#define XML_bpmn_tCompensateEventDefinition_H
9807#include <memory>
9808#include <optional>
9809#include <vector>
9810
9811
9812/**
9813 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
9814 */
9815namespace XML::bpmn {
9816
9817/**
9818 * Overview:
9819 * - Element name: tCompensateEventDefinition
9820 * - XML-Schema: xsd/Semantic.xsd
9821 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
9822 *
9823 * Members:
9824 * - waitForCompletion : boolean [0..1]
9825 * - activityRef : QName [0..1]
9826 * - documentation : tDocumentation [0..*] (from: tBaseElement)
9827 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
9828 * - id : ID [0..1] (from: tBaseElement)
9829 *
9830 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
9831 */
9833 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
9834private:
9835 static bool registerClass() {
9836 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tCompensateEventDefinition"] = &createInstance<tCompensateEventDefinition>; // register function in factory
9837 return true;
9838 };
9839 inline static bool registered = registerClass();
9840protected:
9841 tCompensateEventDefinition(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
9842
9843public:
9844 /// default attributes to be used if they are not explicitly provided
9845 inline static const Attributes defaults = {
9846 };
9847
9848 std::optional< std::reference_wrapper<Attribute> > waitForCompletion; ///< Attribute value can be expected to be of type 'bool'
9849 std::optional< std::reference_wrapper<Attribute> > activityRef; ///< Attribute value can be expected to be of type 'std::string'
9850};
9851
9852} // namespace XML::bpmn
9853
9854#endif // XML_bpmn_tCompensateEventDefinition_H
9855#ifndef XML_bpmn_compensateEventDefinition_H
9856#define XML_bpmn_compensateEventDefinition_H
9857#include <memory>
9858#include <optional>
9859#include <vector>
9860
9861
9862/**
9863 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
9864 */
9865namespace XML::bpmn {
9866
9867/**
9868 * Overview:
9869 * - Element name: compensateEventDefinition
9870 * - XML-Schema: xsd/Semantic.xsd
9871 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
9872 *
9873 * Members:
9874 * - waitForCompletion : boolean [0..1] (from: tCompensateEventDefinition)
9875 * - activityRef : QName [0..1] (from: tCompensateEventDefinition)
9876 * - documentation : tDocumentation [0..*] (from: tBaseElement)
9877 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
9878 * - id : ID [0..1] (from: tBaseElement)
9879 *
9880 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
9881 */
9883 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
9884private:
9885 static bool registerClass() {
9886 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:compensateEventDefinition"] = &createInstance<compensateEventDefinition>; // register function in factory
9887 return true;
9888 };
9889 inline static bool registered = registerClass();
9890protected:
9891 compensateEventDefinition(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
9892
9893public:
9894 /// default attributes to be used if they are not explicitly provided
9895 inline static const Attributes defaults = {
9896 };
9897
9898};
9899
9900} // namespace XML::bpmn
9901
9902#endif // XML_bpmn_compensateEventDefinition_H
9903#ifndef XML_bpmn_tConditionalEventDefinition_H
9904#define XML_bpmn_tConditionalEventDefinition_H
9905#include <memory>
9906#include <optional>
9907#include <vector>
9908
9909
9910/**
9911 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
9912 */
9913namespace XML::bpmn {
9914
9915class tExpression;
9916
9917/**
9918 * Overview:
9919 * - Element name: tConditionalEventDefinition
9920 * - XML-Schema: xsd/Semantic.xsd
9921 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
9922 *
9923 * Members:
9924 * - condition : tExpression [0..*]
9925 * - documentation : tDocumentation [0..*] (from: tBaseElement)
9926 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
9927 * - id : ID [0..1] (from: tBaseElement)
9928 *
9929 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
9930 */
9932 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
9933private:
9934 static bool registerClass() {
9935 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tConditionalEventDefinition"] = &createInstance<tConditionalEventDefinition>; // register function in factory
9936 return true;
9937 };
9938 inline static bool registered = registerClass();
9939protected:
9940 tConditionalEventDefinition(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
9941
9942public:
9943 /// default attributes to be used if they are not explicitly provided
9944 inline static const Attributes defaults = {
9945 };
9946
9947 std::vector< std::reference_wrapper<tExpression> > condition;
9948};
9949
9950} // namespace XML::bpmn
9951
9952#endif // XML_bpmn_tConditionalEventDefinition_H
9953#ifndef XML_bpmn_conditionalEventDefinition_H
9954#define XML_bpmn_conditionalEventDefinition_H
9955#include <memory>
9956#include <optional>
9957#include <vector>
9958
9959
9960/**
9961 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
9962 */
9963namespace XML::bpmn {
9964
9965/**
9966 * Overview:
9967 * - Element name: conditionalEventDefinition
9968 * - XML-Schema: xsd/Semantic.xsd
9969 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
9970 *
9971 * Members:
9972 * - condition : tExpression [0..*] (from: tConditionalEventDefinition)
9973 * - documentation : tDocumentation [0..*] (from: tBaseElement)
9974 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
9975 * - id : ID [0..1] (from: tBaseElement)
9976 *
9977 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
9978 */
9980 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
9981private:
9982 static bool registerClass() {
9983 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:conditionalEventDefinition"] = &createInstance<conditionalEventDefinition>; // register function in factory
9984 return true;
9985 };
9986 inline static bool registered = registerClass();
9987protected:
9988 conditionalEventDefinition(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
9989
9990public:
9991 /// default attributes to be used if they are not explicitly provided
9992 inline static const Attributes defaults = {
9993 };
9994
9995};
9996
9997} // namespace XML::bpmn
9998
9999#endif // XML_bpmn_conditionalEventDefinition_H
10000#ifndef XML_bpmn_tErrorEventDefinition_H
10001#define XML_bpmn_tErrorEventDefinition_H
10002#include <memory>
10003#include <optional>
10004#include <vector>
10005
10006
10007/**
10008 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
10009 */
10010namespace XML::bpmn {
10011
10012/**
10013 * Overview:
10014 * - Element name: tErrorEventDefinition
10015 * - XML-Schema: xsd/Semantic.xsd
10016 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
10017 *
10018 * Members:
10019 * - errorRef : QName [0..1]
10020 * - documentation : tDocumentation [0..*] (from: tBaseElement)
10021 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
10022 * - id : ID [0..1] (from: tBaseElement)
10023 *
10024 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
10025 */
10027 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
10028private:
10029 static bool registerClass() {
10030 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tErrorEventDefinition"] = &createInstance<tErrorEventDefinition>; // register function in factory
10031 return true;
10032 };
10033 inline static bool registered = registerClass();
10034protected:
10035 tErrorEventDefinition(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
10036
10037public:
10038 /// default attributes to be used if they are not explicitly provided
10039 inline static const Attributes defaults = {
10040 };
10041
10042 std::optional< std::reference_wrapper<Attribute> > errorRef; ///< Attribute value can be expected to be of type 'std::string'
10043};
10044
10045} // namespace XML::bpmn
10046
10047#endif // XML_bpmn_tErrorEventDefinition_H
10048#ifndef XML_bpmn_errorEventDefinition_H
10049#define XML_bpmn_errorEventDefinition_H
10050#include <memory>
10051#include <optional>
10052#include <vector>
10053
10054
10055/**
10056 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
10057 */
10058namespace XML::bpmn {
10059
10060/**
10061 * Overview:
10062 * - Element name: errorEventDefinition
10063 * - XML-Schema: xsd/Semantic.xsd
10064 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
10065 *
10066 * Members:
10067 * - errorRef : QName [0..1] (from: tErrorEventDefinition)
10068 * - documentation : tDocumentation [0..*] (from: tBaseElement)
10069 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
10070 * - id : ID [0..1] (from: tBaseElement)
10071 *
10072 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
10073 */
10075 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
10076private:
10077 static bool registerClass() {
10078 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:errorEventDefinition"] = &createInstance<errorEventDefinition>; // register function in factory
10079 return true;
10080 };
10081 inline static bool registered = registerClass();
10082protected:
10083 errorEventDefinition(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
10084
10085public:
10086 /// default attributes to be used if they are not explicitly provided
10087 inline static const Attributes defaults = {
10088 };
10089
10090};
10091
10092} // namespace XML::bpmn
10093
10094#endif // XML_bpmn_errorEventDefinition_H
10095#ifndef XML_bpmn_tEscalationEventDefinition_H
10096#define XML_bpmn_tEscalationEventDefinition_H
10097#include <memory>
10098#include <optional>
10099#include <vector>
10100
10101
10102/**
10103 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
10104 */
10105namespace XML::bpmn {
10106
10107/**
10108 * Overview:
10109 * - Element name: tEscalationEventDefinition
10110 * - XML-Schema: xsd/Semantic.xsd
10111 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
10112 *
10113 * Members:
10114 * - escalationRef : QName [0..1]
10115 * - documentation : tDocumentation [0..*] (from: tBaseElement)
10116 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
10117 * - id : ID [0..1] (from: tBaseElement)
10118 *
10119 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
10120 */
10122 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
10123private:
10124 static bool registerClass() {
10125 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tEscalationEventDefinition"] = &createInstance<tEscalationEventDefinition>; // register function in factory
10126 return true;
10127 };
10128 inline static bool registered = registerClass();
10129protected:
10130 tEscalationEventDefinition(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
10131
10132public:
10133 /// default attributes to be used if they are not explicitly provided
10134 inline static const Attributes defaults = {
10135 };
10136
10137 std::optional< std::reference_wrapper<Attribute> > escalationRef; ///< Attribute value can be expected to be of type 'std::string'
10138};
10139
10140} // namespace XML::bpmn
10141
10142#endif // XML_bpmn_tEscalationEventDefinition_H
10143#ifndef XML_bpmn_escalationEventDefinition_H
10144#define XML_bpmn_escalationEventDefinition_H
10145#include <memory>
10146#include <optional>
10147#include <vector>
10148
10149
10150/**
10151 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
10152 */
10153namespace XML::bpmn {
10154
10155/**
10156 * Overview:
10157 * - Element name: escalationEventDefinition
10158 * - XML-Schema: xsd/Semantic.xsd
10159 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
10160 *
10161 * Members:
10162 * - escalationRef : QName [0..1] (from: tEscalationEventDefinition)
10163 * - documentation : tDocumentation [0..*] (from: tBaseElement)
10164 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
10165 * - id : ID [0..1] (from: tBaseElement)
10166 *
10167 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
10168 */
10170 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
10171private:
10172 static bool registerClass() {
10173 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:escalationEventDefinition"] = &createInstance<escalationEventDefinition>; // register function in factory
10174 return true;
10175 };
10176 inline static bool registered = registerClass();
10177protected:
10178 escalationEventDefinition(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
10179
10180public:
10181 /// default attributes to be used if they are not explicitly provided
10182 inline static const Attributes defaults = {
10183 };
10184
10185};
10186
10187} // namespace XML::bpmn
10188
10189#endif // XML_bpmn_escalationEventDefinition_H
10190#ifndef XML_bpmn_tGlobalChoreographyTask_H
10191#define XML_bpmn_tGlobalChoreographyTask_H
10192#include <memory>
10193#include <optional>
10194#include <vector>
10195
10196
10197/**
10198 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
10199 */
10200namespace XML::bpmn {
10201
10202/**
10203 * Overview:
10204 * - Element name: tGlobalChoreographyTask
10205 * - XML-Schema: xsd/Semantic.xsd
10206 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
10207 *
10208 * Members:
10209 * - initiatingParticipantRef : QName [0..1]
10210 * - flowElement : tFlowElement [0..*] (from: tChoreography)
10211 * - participant : tParticipant [0..*] (from: tCollaboration)
10212 * - messageFlow : tMessageFlow [0..*] (from: tCollaboration)
10213 * - artifact : tArtifact [0..*] (from: tCollaboration)
10214 * - conversationNode : tConversationNode [0..*] (from: tCollaboration)
10215 * - conversationAssociation : tConversationAssociation [0..*] (from: tCollaboration)
10216 * - participantAssociation : tParticipantAssociation [0..*] (from: tCollaboration)
10217 * - messageFlowAssociation : tMessageFlowAssociation [0..*] (from: tCollaboration)
10218 * - correlationKey : tCorrelationKey [0..*] (from: tCollaboration)
10219 * - choreographyRef : QName [0..*] (from: tCollaboration)
10220 * - conversationLink : tConversationLink [0..*] (from: tCollaboration)
10221 * - name : string [0..1] (from: tCollaboration)
10222 * - isClosed : boolean [0..1] (from: tCollaboration)
10223 * - documentation : tDocumentation [0..*] (from: tBaseElement)
10224 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
10225 * - id : ID [0..1] (from: tBaseElement)
10226 *
10227 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
10228 */
10230 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
10231private:
10232 static bool registerClass() {
10233 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tGlobalChoreographyTask"] = &createInstance<tGlobalChoreographyTask>; // register function in factory
10234 return true;
10235 };
10236 inline static bool registered = registerClass();
10237protected:
10238 tGlobalChoreographyTask(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
10239
10240public:
10241 /// default attributes to be used if they are not explicitly provided
10242 inline static const Attributes defaults = {
10243 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "isClosed", .value = Value(std::string("false"))}
10244 };
10245
10246 std::optional< std::reference_wrapper<Attribute> > initiatingParticipantRef; ///< Attribute value can be expected to be of type 'std::string'
10247};
10248
10249} // namespace XML::bpmn
10250
10251#endif // XML_bpmn_tGlobalChoreographyTask_H
10252#ifndef XML_bpmn_globalChoreographyTask_H
10253#define XML_bpmn_globalChoreographyTask_H
10254#include <memory>
10255#include <optional>
10256#include <vector>
10257
10258
10259/**
10260 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
10261 */
10262namespace XML::bpmn {
10263
10264/**
10265 * Overview:
10266 * - Element name: globalChoreographyTask
10267 * - XML-Schema: xsd/Semantic.xsd
10268 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
10269 *
10270 * Members:
10271 * - initiatingParticipantRef : QName [0..1] (from: tGlobalChoreographyTask)
10272 * - flowElement : tFlowElement [0..*] (from: tChoreography)
10273 * - participant : tParticipant [0..*] (from: tCollaboration)
10274 * - messageFlow : tMessageFlow [0..*] (from: tCollaboration)
10275 * - artifact : tArtifact [0..*] (from: tCollaboration)
10276 * - conversationNode : tConversationNode [0..*] (from: tCollaboration)
10277 * - conversationAssociation : tConversationAssociation [0..*] (from: tCollaboration)
10278 * - participantAssociation : tParticipantAssociation [0..*] (from: tCollaboration)
10279 * - messageFlowAssociation : tMessageFlowAssociation [0..*] (from: tCollaboration)
10280 * - correlationKey : tCorrelationKey [0..*] (from: tCollaboration)
10281 * - choreographyRef : QName [0..*] (from: tCollaboration)
10282 * - conversationLink : tConversationLink [0..*] (from: tCollaboration)
10283 * - name : string [0..1] (from: tCollaboration)
10284 * - isClosed : boolean [0..1] (from: tCollaboration)
10285 * - documentation : tDocumentation [0..*] (from: tBaseElement)
10286 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
10287 * - id : ID [0..1] (from: tBaseElement)
10288 *
10289 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
10290 */
10292 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
10293private:
10294 static bool registerClass() {
10295 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:globalChoreographyTask"] = &createInstance<globalChoreographyTask>; // register function in factory
10296 return true;
10297 };
10298 inline static bool registered = registerClass();
10299protected:
10300 globalChoreographyTask(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
10301
10302public:
10303 /// default attributes to be used if they are not explicitly provided
10304 inline static const Attributes defaults = {
10305 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "isClosed", .value = Value(std::string("false"))}
10306 };
10307
10308};
10309
10310} // namespace XML::bpmn
10311
10312#endif // XML_bpmn_globalChoreographyTask_H
10313#ifndef XML_bpmn_tGlobalConversation_H
10314#define XML_bpmn_tGlobalConversation_H
10315#include <memory>
10316#include <optional>
10317#include <vector>
10318
10319
10320/**
10321 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
10322 */
10323namespace XML::bpmn {
10324
10325/**
10326 * Overview:
10327 * - Element name: tGlobalConversation
10328 * - XML-Schema: xsd/Semantic.xsd
10329 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
10330 *
10331 * Members:
10332 * - participant : tParticipant [0..*] (from: tCollaboration)
10333 * - messageFlow : tMessageFlow [0..*] (from: tCollaboration)
10334 * - artifact : tArtifact [0..*] (from: tCollaboration)
10335 * - conversationNode : tConversationNode [0..*] (from: tCollaboration)
10336 * - conversationAssociation : tConversationAssociation [0..*] (from: tCollaboration)
10337 * - participantAssociation : tParticipantAssociation [0..*] (from: tCollaboration)
10338 * - messageFlowAssociation : tMessageFlowAssociation [0..*] (from: tCollaboration)
10339 * - correlationKey : tCorrelationKey [0..*] (from: tCollaboration)
10340 * - choreographyRef : QName [0..*] (from: tCollaboration)
10341 * - conversationLink : tConversationLink [0..*] (from: tCollaboration)
10342 * - name : string [0..1] (from: tCollaboration)
10343 * - isClosed : boolean [0..1] (from: tCollaboration)
10344 * - documentation : tDocumentation [0..*] (from: tBaseElement)
10345 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
10346 * - id : ID [0..1] (from: tBaseElement)
10347 *
10348 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
10349 */
10351 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
10352private:
10353 static bool registerClass() {
10354 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tGlobalConversation"] = &createInstance<tGlobalConversation>; // register function in factory
10355 return true;
10356 };
10357 inline static bool registered = registerClass();
10358protected:
10359 tGlobalConversation(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
10360
10361public:
10362 /// default attributes to be used if they are not explicitly provided
10363 inline static const Attributes defaults = {
10364 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "isClosed", .value = Value(std::string("false"))}
10365 };
10366
10367};
10368
10369} // namespace XML::bpmn
10370
10371#endif // XML_bpmn_tGlobalConversation_H
10372#ifndef XML_bpmn_globalConversation_H
10373#define XML_bpmn_globalConversation_H
10374#include <memory>
10375#include <optional>
10376#include <vector>
10377
10378
10379/**
10380 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
10381 */
10382namespace XML::bpmn {
10383
10384/**
10385 * Overview:
10386 * - Element name: globalConversation
10387 * - XML-Schema: xsd/Semantic.xsd
10388 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
10389 *
10390 * Members:
10391 * - participant : tParticipant [0..*] (from: tCollaboration)
10392 * - messageFlow : tMessageFlow [0..*] (from: tCollaboration)
10393 * - artifact : tArtifact [0..*] (from: tCollaboration)
10394 * - conversationNode : tConversationNode [0..*] (from: tCollaboration)
10395 * - conversationAssociation : tConversationAssociation [0..*] (from: tCollaboration)
10396 * - participantAssociation : tParticipantAssociation [0..*] (from: tCollaboration)
10397 * - messageFlowAssociation : tMessageFlowAssociation [0..*] (from: tCollaboration)
10398 * - correlationKey : tCorrelationKey [0..*] (from: tCollaboration)
10399 * - choreographyRef : QName [0..*] (from: tCollaboration)
10400 * - conversationLink : tConversationLink [0..*] (from: tCollaboration)
10401 * - name : string [0..1] (from: tCollaboration)
10402 * - isClosed : boolean [0..1] (from: tCollaboration)
10403 * - documentation : tDocumentation [0..*] (from: tBaseElement)
10404 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
10405 * - id : ID [0..1] (from: tBaseElement)
10406 *
10407 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
10408 */
10410 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
10411private:
10412 static bool registerClass() {
10413 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:globalConversation"] = &createInstance<globalConversation>; // register function in factory
10414 return true;
10415 };
10416 inline static bool registered = registerClass();
10417protected:
10418 globalConversation(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
10419
10420public:
10421 /// default attributes to be used if they are not explicitly provided
10422 inline static const Attributes defaults = {
10423 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "isClosed", .value = Value(std::string("false"))}
10424 };
10425
10426};
10427
10428} // namespace XML::bpmn
10429
10430#endif // XML_bpmn_globalConversation_H
10431#ifndef XML_bpmn_tGlobalTask_H
10432#define XML_bpmn_tGlobalTask_H
10433#include <memory>
10434#include <optional>
10435#include <vector>
10436
10437
10438/**
10439 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
10440 */
10441namespace XML::bpmn {
10442
10443class tResourceRole;
10444
10445/**
10446 * Overview:
10447 * - Element name: tGlobalTask
10448 * - XML-Schema: xsd/Semantic.xsd
10449 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
10450 *
10451 * Members:
10452 * - resourceRole : tResourceRole [0..*]
10453 * - supportedInterfaceRef : QName [0..*] (from: tCallableElement)
10454 * - ioSpecification : tInputOutputSpecification [0..1] (from: tCallableElement)
10455 * - ioBinding : tInputOutputBinding [0..*] (from: tCallableElement)
10456 * - name : string [0..1] (from: tCallableElement)
10457 * - documentation : tDocumentation [0..*] (from: tBaseElement)
10458 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
10459 * - id : ID [0..1] (from: tBaseElement)
10460 *
10461 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
10462 */
10464 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
10465private:
10466 static bool registerClass() {
10467 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tGlobalTask"] = &createInstance<tGlobalTask>; // register function in factory
10468 return true;
10469 };
10470 inline static bool registered = registerClass();
10471protected:
10472 tGlobalTask(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
10473
10474public:
10475 /// default attributes to be used if they are not explicitly provided
10476 inline static const Attributes defaults = {
10477 };
10478
10479 std::vector< std::reference_wrapper<tResourceRole> > resourceRole;
10480};
10481
10482} // namespace XML::bpmn
10483
10484#endif // XML_bpmn_tGlobalTask_H
10485#ifndef XML_bpmn_globalTask_H
10486#define XML_bpmn_globalTask_H
10487#include <memory>
10488#include <optional>
10489#include <vector>
10490
10491
10492/**
10493 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
10494 */
10495namespace XML::bpmn {
10496
10497/**
10498 * Overview:
10499 * - Element name: globalTask
10500 * - XML-Schema: xsd/Semantic.xsd
10501 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
10502 *
10503 * Members:
10504 * - resourceRole : tResourceRole [0..*] (from: tGlobalTask)
10505 * - supportedInterfaceRef : QName [0..*] (from: tCallableElement)
10506 * - ioSpecification : tInputOutputSpecification [0..1] (from: tCallableElement)
10507 * - ioBinding : tInputOutputBinding [0..*] (from: tCallableElement)
10508 * - name : string [0..1] (from: tCallableElement)
10509 * - documentation : tDocumentation [0..*] (from: tBaseElement)
10510 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
10511 * - id : ID [0..1] (from: tBaseElement)
10512 *
10513 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
10514 */
10515class globalTask : public tGlobalTask {
10516 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
10517private:
10518 static bool registerClass() {
10519 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:globalTask"] = &createInstance<globalTask>; // register function in factory
10520 return true;
10521 };
10522 inline static bool registered = registerClass();
10523protected:
10524 globalTask(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
10525
10526public:
10527 /// default attributes to be used if they are not explicitly provided
10528 inline static const Attributes defaults = {
10529 };
10530
10531};
10532
10533} // namespace XML::bpmn
10534
10535#endif // XML_bpmn_globalTask_H
10536#ifndef XML_bpmn_tGlobalBusinessRuleTask_H
10537#define XML_bpmn_tGlobalBusinessRuleTask_H
10538#include <memory>
10539#include <optional>
10540#include <vector>
10541
10542
10543/**
10544 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
10545 */
10546namespace XML::bpmn {
10547
10548class tImplementation;
10549
10550/**
10551 * Overview:
10552 * - Element name: tGlobalBusinessRuleTask
10553 * - XML-Schema: xsd/Semantic.xsd
10554 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
10555 *
10556 * Members:
10557 * - implementation : tImplementation [0..1]
10558 * - resourceRole : tResourceRole [0..*] (from: tGlobalTask)
10559 * - supportedInterfaceRef : QName [0..*] (from: tCallableElement)
10560 * - ioSpecification : tInputOutputSpecification [0..1] (from: tCallableElement)
10561 * - ioBinding : tInputOutputBinding [0..*] (from: tCallableElement)
10562 * - name : string [0..1] (from: tCallableElement)
10563 * - documentation : tDocumentation [0..*] (from: tBaseElement)
10564 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
10565 * - id : ID [0..1] (from: tBaseElement)
10566 *
10567 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
10568 */
10570 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
10571private:
10572 static bool registerClass() {
10573 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tGlobalBusinessRuleTask"] = &createInstance<tGlobalBusinessRuleTask>; // register function in factory
10574 return true;
10575 };
10576 inline static bool registered = registerClass();
10577protected:
10578 tGlobalBusinessRuleTask(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
10579
10580public:
10581 /// default attributes to be used if they are not explicitly provided
10582 inline static const Attributes defaults = {
10583 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "implementation", .value = Value(std::string("##unspecified"))}
10584 };
10585
10586 std::optional< std::reference_wrapper<Attribute> > implementation; ///< Attribute value can be expected to be of type 'std::string'
10587};
10588
10589} // namespace XML::bpmn
10590
10591#endif // XML_bpmn_tGlobalBusinessRuleTask_H
10592#ifndef XML_bpmn_globalBusinessRuleTask_H
10593#define XML_bpmn_globalBusinessRuleTask_H
10594#include <memory>
10595#include <optional>
10596#include <vector>
10597
10598
10599/**
10600 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
10601 */
10602namespace XML::bpmn {
10603
10604/**
10605 * Overview:
10606 * - Element name: globalBusinessRuleTask
10607 * - XML-Schema: xsd/Semantic.xsd
10608 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
10609 *
10610 * Members:
10611 * - implementation : tImplementation [0..1] (from: tGlobalBusinessRuleTask)
10612 * - resourceRole : tResourceRole [0..*] (from: tGlobalTask)
10613 * - supportedInterfaceRef : QName [0..*] (from: tCallableElement)
10614 * - ioSpecification : tInputOutputSpecification [0..1] (from: tCallableElement)
10615 * - ioBinding : tInputOutputBinding [0..*] (from: tCallableElement)
10616 * - name : string [0..1] (from: tCallableElement)
10617 * - documentation : tDocumentation [0..*] (from: tBaseElement)
10618 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
10619 * - id : ID [0..1] (from: tBaseElement)
10620 *
10621 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
10622 */
10624 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
10625private:
10626 static bool registerClass() {
10627 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:globalBusinessRuleTask"] = &createInstance<globalBusinessRuleTask>; // register function in factory
10628 return true;
10629 };
10630 inline static bool registered = registerClass();
10631protected:
10632 globalBusinessRuleTask(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
10633
10634public:
10635 /// default attributes to be used if they are not explicitly provided
10636 inline static const Attributes defaults = {
10637 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "implementation", .value = Value(std::string("##unspecified"))}
10638 };
10639
10640};
10641
10642} // namespace XML::bpmn
10643
10644#endif // XML_bpmn_globalBusinessRuleTask_H
10645#ifndef XML_bpmn_tGlobalManualTask_H
10646#define XML_bpmn_tGlobalManualTask_H
10647#include <memory>
10648#include <optional>
10649#include <vector>
10650
10651
10652/**
10653 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
10654 */
10655namespace XML::bpmn {
10656
10657/**
10658 * Overview:
10659 * - Element name: tGlobalManualTask
10660 * - XML-Schema: xsd/Semantic.xsd
10661 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
10662 *
10663 * Members:
10664 * - resourceRole : tResourceRole [0..*] (from: tGlobalTask)
10665 * - supportedInterfaceRef : QName [0..*] (from: tCallableElement)
10666 * - ioSpecification : tInputOutputSpecification [0..1] (from: tCallableElement)
10667 * - ioBinding : tInputOutputBinding [0..*] (from: tCallableElement)
10668 * - name : string [0..1] (from: tCallableElement)
10669 * - documentation : tDocumentation [0..*] (from: tBaseElement)
10670 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
10671 * - id : ID [0..1] (from: tBaseElement)
10672 *
10673 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
10674 */
10676 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
10677private:
10678 static bool registerClass() {
10679 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tGlobalManualTask"] = &createInstance<tGlobalManualTask>; // register function in factory
10680 return true;
10681 };
10682 inline static bool registered = registerClass();
10683protected:
10684 tGlobalManualTask(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
10685
10686public:
10687 /// default attributes to be used if they are not explicitly provided
10688 inline static const Attributes defaults = {
10689 };
10690
10691};
10692
10693} // namespace XML::bpmn
10694
10695#endif // XML_bpmn_tGlobalManualTask_H
10696#ifndef XML_bpmn_globalManualTask_H
10697#define XML_bpmn_globalManualTask_H
10698#include <memory>
10699#include <optional>
10700#include <vector>
10701
10702
10703/**
10704 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
10705 */
10706namespace XML::bpmn {
10707
10708/**
10709 * Overview:
10710 * - Element name: globalManualTask
10711 * - XML-Schema: xsd/Semantic.xsd
10712 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
10713 *
10714 * Members:
10715 * - resourceRole : tResourceRole [0..*] (from: tGlobalTask)
10716 * - supportedInterfaceRef : QName [0..*] (from: tCallableElement)
10717 * - ioSpecification : tInputOutputSpecification [0..1] (from: tCallableElement)
10718 * - ioBinding : tInputOutputBinding [0..*] (from: tCallableElement)
10719 * - name : string [0..1] (from: tCallableElement)
10720 * - documentation : tDocumentation [0..*] (from: tBaseElement)
10721 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
10722 * - id : ID [0..1] (from: tBaseElement)
10723 *
10724 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
10725 */
10727 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
10728private:
10729 static bool registerClass() {
10730 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:globalManualTask"] = &createInstance<globalManualTask>; // register function in factory
10731 return true;
10732 };
10733 inline static bool registered = registerClass();
10734protected:
10735 globalManualTask(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
10736
10737public:
10738 /// default attributes to be used if they are not explicitly provided
10739 inline static const Attributes defaults = {
10740 };
10741
10742};
10743
10744} // namespace XML::bpmn
10745
10746#endif // XML_bpmn_globalManualTask_H
10747#ifndef XML_bpmn_tGlobalScriptTask_H
10748#define XML_bpmn_tGlobalScriptTask_H
10749#include <memory>
10750#include <optional>
10751#include <vector>
10752
10753
10754/**
10755 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
10756 */
10757namespace XML::bpmn {
10758
10759class tScript;
10760
10761/**
10762 * Overview:
10763 * - Element name: tGlobalScriptTask
10764 * - XML-Schema: xsd/Semantic.xsd
10765 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
10766 *
10767 * Members:
10768 * - script : tScript [0..1]
10769 * - scriptLanguage : anyURI [0..1]
10770 * - resourceRole : tResourceRole [0..*] (from: tGlobalTask)
10771 * - supportedInterfaceRef : QName [0..*] (from: tCallableElement)
10772 * - ioSpecification : tInputOutputSpecification [0..1] (from: tCallableElement)
10773 * - ioBinding : tInputOutputBinding [0..*] (from: tCallableElement)
10774 * - name : string [0..1] (from: tCallableElement)
10775 * - documentation : tDocumentation [0..*] (from: tBaseElement)
10776 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
10777 * - id : ID [0..1] (from: tBaseElement)
10778 *
10779 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
10780 */
10782 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
10783private:
10784 static bool registerClass() {
10785 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tGlobalScriptTask"] = &createInstance<tGlobalScriptTask>; // register function in factory
10786 return true;
10787 };
10788 inline static bool registered = registerClass();
10789protected:
10790 tGlobalScriptTask(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
10791
10792public:
10793 /// default attributes to be used if they are not explicitly provided
10794 inline static const Attributes defaults = {
10795 };
10796
10797 std::optional< std::reference_wrapper<tScript> > script;
10798 std::optional< std::reference_wrapper<Attribute> > scriptLanguage; ///< Attribute value can be expected to be of type 'std::string'
10799};
10800
10801} // namespace XML::bpmn
10802
10803#endif // XML_bpmn_tGlobalScriptTask_H
10804#ifndef XML_bpmn_globalScriptTask_H
10805#define XML_bpmn_globalScriptTask_H
10806#include <memory>
10807#include <optional>
10808#include <vector>
10809
10810
10811/**
10812 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
10813 */
10814namespace XML::bpmn {
10815
10816/**
10817 * Overview:
10818 * - Element name: globalScriptTask
10819 * - XML-Schema: xsd/Semantic.xsd
10820 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
10821 *
10822 * Members:
10823 * - script : tScript [0..1] (from: tGlobalScriptTask)
10824 * - scriptLanguage : anyURI [0..1] (from: tGlobalScriptTask)
10825 * - resourceRole : tResourceRole [0..*] (from: tGlobalTask)
10826 * - supportedInterfaceRef : QName [0..*] (from: tCallableElement)
10827 * - ioSpecification : tInputOutputSpecification [0..1] (from: tCallableElement)
10828 * - ioBinding : tInputOutputBinding [0..*] (from: tCallableElement)
10829 * - name : string [0..1] (from: tCallableElement)
10830 * - documentation : tDocumentation [0..*] (from: tBaseElement)
10831 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
10832 * - id : ID [0..1] (from: tBaseElement)
10833 *
10834 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
10835 */
10837 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
10838private:
10839 static bool registerClass() {
10840 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:globalScriptTask"] = &createInstance<globalScriptTask>; // register function in factory
10841 return true;
10842 };
10843 inline static bool registered = registerClass();
10844protected:
10845 globalScriptTask(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
10846
10847public:
10848 /// default attributes to be used if they are not explicitly provided
10849 inline static const Attributes defaults = {
10850 };
10851
10852};
10853
10854} // namespace XML::bpmn
10855
10856#endif // XML_bpmn_globalScriptTask_H
10857#ifndef XML_bpmn_tGlobalUserTask_H
10858#define XML_bpmn_tGlobalUserTask_H
10859#include <memory>
10860#include <optional>
10861#include <vector>
10862
10863
10864/**
10865 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
10866 */
10867namespace XML::bpmn {
10868
10869class tRendering;
10870class tImplementation;
10871
10872/**
10873 * Overview:
10874 * - Element name: tGlobalUserTask
10875 * - XML-Schema: xsd/Semantic.xsd
10876 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
10877 *
10878 * Members:
10879 * - rendering : tRendering [0..*]
10880 * - implementation : tImplementation [0..1]
10881 * - resourceRole : tResourceRole [0..*] (from: tGlobalTask)
10882 * - supportedInterfaceRef : QName [0..*] (from: tCallableElement)
10883 * - ioSpecification : tInputOutputSpecification [0..1] (from: tCallableElement)
10884 * - ioBinding : tInputOutputBinding [0..*] (from: tCallableElement)
10885 * - name : string [0..1] (from: tCallableElement)
10886 * - documentation : tDocumentation [0..*] (from: tBaseElement)
10887 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
10888 * - id : ID [0..1] (from: tBaseElement)
10889 *
10890 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
10891 */
10893 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
10894private:
10895 static bool registerClass() {
10896 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tGlobalUserTask"] = &createInstance<tGlobalUserTask>; // register function in factory
10897 return true;
10898 };
10899 inline static bool registered = registerClass();
10900protected:
10901 tGlobalUserTask(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
10902
10903public:
10904 /// default attributes to be used if they are not explicitly provided
10905 inline static const Attributes defaults = {
10906 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "implementation", .value = Value(std::string("##unspecified"))}
10907 };
10908
10909 std::vector< std::reference_wrapper<tRendering> > rendering;
10910 std::optional< std::reference_wrapper<Attribute> > implementation; ///< Attribute value can be expected to be of type 'std::string'
10911};
10912
10913} // namespace XML::bpmn
10914
10915#endif // XML_bpmn_tGlobalUserTask_H
10916#ifndef XML_bpmn_globalUserTask_H
10917#define XML_bpmn_globalUserTask_H
10918#include <memory>
10919#include <optional>
10920#include <vector>
10921
10922
10923/**
10924 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
10925 */
10926namespace XML::bpmn {
10927
10928/**
10929 * Overview:
10930 * - Element name: globalUserTask
10931 * - XML-Schema: xsd/Semantic.xsd
10932 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
10933 *
10934 * Members:
10935 * - rendering : tRendering [0..*] (from: tGlobalUserTask)
10936 * - implementation : tImplementation [0..1] (from: tGlobalUserTask)
10937 * - resourceRole : tResourceRole [0..*] (from: tGlobalTask)
10938 * - supportedInterfaceRef : QName [0..*] (from: tCallableElement)
10939 * - ioSpecification : tInputOutputSpecification [0..1] (from: tCallableElement)
10940 * - ioBinding : tInputOutputBinding [0..*] (from: tCallableElement)
10941 * - name : string [0..1] (from: tCallableElement)
10942 * - documentation : tDocumentation [0..*] (from: tBaseElement)
10943 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
10944 * - id : ID [0..1] (from: tBaseElement)
10945 *
10946 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
10947 */
10949 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
10950private:
10951 static bool registerClass() {
10952 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:globalUserTask"] = &createInstance<globalUserTask>; // register function in factory
10953 return true;
10954 };
10955 inline static bool registered = registerClass();
10956protected:
10957 globalUserTask(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
10958
10959public:
10960 /// default attributes to be used if they are not explicitly provided
10961 inline static const Attributes defaults = {
10962 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "implementation", .value = Value(std::string("##unspecified"))}
10963 };
10964
10965};
10966
10967} // namespace XML::bpmn
10968
10969#endif // XML_bpmn_globalUserTask_H
10970#ifndef XML_bpmn_tInterface_H
10971#define XML_bpmn_tInterface_H
10972#include <memory>
10973#include <optional>
10974#include <vector>
10975
10976
10977/**
10978 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
10979 */
10980namespace XML::bpmn {
10981
10982class tOperation;
10983
10984/**
10985 * Overview:
10986 * - Element name: tInterface
10987 * - XML-Schema: xsd/Semantic.xsd
10988 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
10989 *
10990 * Members:
10991 * - operation : tOperation [1..*]
10992 * - name : string [1..1]
10993 * - implementationRef : QName [0..1]
10994 * - documentation : tDocumentation [0..*] (from: tBaseElement)
10995 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
10996 * - id : ID [0..1] (from: tBaseElement)
10997 *
10998 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
10999 */
11000class tInterface : public tRootElement {
11001 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
11002private:
11003 static bool registerClass() {
11004 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tInterface"] = &createInstance<tInterface>; // register function in factory
11005 return true;
11006 };
11007 inline static bool registered = registerClass();
11008protected:
11009 tInterface(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
11010
11011public:
11012 /// default attributes to be used if they are not explicitly provided
11013 inline static const Attributes defaults = {
11014 };
11015
11016 std::vector< std::reference_wrapper<tOperation> > operation;
11017 Attribute& name; ///< Attribute value can be expected to be of type 'std::string'
11018 std::optional< std::reference_wrapper<Attribute> > implementationRef; ///< Attribute value can be expected to be of type 'std::string'
11019};
11020
11021} // namespace XML::bpmn
11022
11023#endif // XML_bpmn_tInterface_H
11024#ifndef XML_bpmn_interface_H
11025#define XML_bpmn_interface_H
11026#include <memory>
11027#include <optional>
11028#include <vector>
11029
11030
11031/**
11032 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
11033 */
11034namespace XML::bpmn {
11035
11036/**
11037 * Overview:
11038 * - Element name: interface
11039 * - XML-Schema: xsd/Semantic.xsd
11040 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
11041 *
11042 * Members:
11043 * - operation : tOperation [1..*] (from: tInterface)
11044 * - name : string [1..1] (from: tInterface)
11045 * - implementationRef : QName [0..1] (from: tInterface)
11046 * - documentation : tDocumentation [0..*] (from: tBaseElement)
11047 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
11048 * - id : ID [0..1] (from: tBaseElement)
11049 *
11050 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
11051 */
11052class interface : public tInterface {
11053 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
11054private:
11055 static bool registerClass() {
11056 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:interface"] = &createInstance<interface>; // register function in factory
11057 return true;
11058 };
11059 inline static bool registered = registerClass();
11060protected:
11061 interface(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
11062
11063public:
11064 /// default attributes to be used if they are not explicitly provided
11065 inline static const Attributes defaults = {
11066 };
11067
11068};
11069
11070} // namespace XML::bpmn
11071
11072#endif // XML_bpmn_interface_H
11073#ifndef XML_bpmn_tItemDefinition_H
11074#define XML_bpmn_tItemDefinition_H
11075#include <memory>
11076#include <optional>
11077#include <vector>
11078
11079
11080/**
11081 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
11082 */
11083namespace XML::bpmn {
11084
11085class tItemKind;
11086
11087/**
11088 * Overview:
11089 * - Element name: tItemDefinition
11090 * - XML-Schema: xsd/Semantic.xsd
11091 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
11092 *
11093 * Members:
11094 * - structureRef : QName [0..1]
11095 * - isCollection : boolean [0..1]
11096 * - itemKind : tItemKind [0..1]
11097 * - documentation : tDocumentation [0..*] (from: tBaseElement)
11098 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
11099 * - id : ID [0..1] (from: tBaseElement)
11100 *
11101 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
11102 */
11104 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
11105private:
11106 static bool registerClass() {
11107 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tItemDefinition"] = &createInstance<tItemDefinition>; // register function in factory
11108 return true;
11109 };
11110 inline static bool registered = registerClass();
11111protected:
11112 tItemDefinition(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
11113
11114public:
11115 /// default attributes to be used if they are not explicitly provided
11116 inline static const Attributes defaults = {
11117 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "isCollection", .value = Value(std::string("false"))},
11118 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "itemKind", .value = Value(std::string("Information"))}
11119 };
11120
11121 std::optional< std::reference_wrapper<Attribute> > structureRef; ///< Attribute value can be expected to be of type 'std::string'
11122 std::optional< std::reference_wrapper<Attribute> > isCollection; ///< Attribute value can be expected to be of type 'bool'
11123 std::optional< std::reference_wrapper<Attribute> > itemKind; ///< Attribute value can be expected to be of type 'std::string'
11124};
11125
11126} // namespace XML::bpmn
11127
11128#endif // XML_bpmn_tItemDefinition_H
11129#ifndef XML_bpmn_itemDefinition_H
11130#define XML_bpmn_itemDefinition_H
11131#include <memory>
11132#include <optional>
11133#include <vector>
11134
11135
11136/**
11137 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
11138 */
11139namespace XML::bpmn {
11140
11141/**
11142 * Overview:
11143 * - Element name: itemDefinition
11144 * - XML-Schema: xsd/Semantic.xsd
11145 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
11146 *
11147 * Members:
11148 * - structureRef : QName [0..1] (from: tItemDefinition)
11149 * - isCollection : boolean [0..1] (from: tItemDefinition)
11150 * - itemKind : tItemKind [0..1] (from: tItemDefinition)
11151 * - documentation : tDocumentation [0..*] (from: tBaseElement)
11152 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
11153 * - id : ID [0..1] (from: tBaseElement)
11154 *
11155 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
11156 */
11158 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
11159private:
11160 static bool registerClass() {
11161 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:itemDefinition"] = &createInstance<itemDefinition>; // register function in factory
11162 return true;
11163 };
11164 inline static bool registered = registerClass();
11165protected:
11166 itemDefinition(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
11167
11168public:
11169 /// default attributes to be used if they are not explicitly provided
11170 inline static const Attributes defaults = {
11171 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "isCollection", .value = Value(std::string("false"))},
11172 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "itemKind", .value = Value(std::string("Information"))}
11173 };
11174
11175};
11176
11177} // namespace XML::bpmn
11178
11179#endif // XML_bpmn_itemDefinition_H
11180#ifndef XML_bpmn_tLinkEventDefinition_H
11181#define XML_bpmn_tLinkEventDefinition_H
11182#include <memory>
11183#include <optional>
11184#include <vector>
11185
11186
11187/**
11188 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
11189 */
11190namespace XML::bpmn {
11191
11192/**
11193 * Overview:
11194 * - Element name: tLinkEventDefinition
11195 * - XML-Schema: xsd/Semantic.xsd
11196 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
11197 *
11198 * Members:
11199 * - source : QName [0..*]
11200 * - target : QName [0..1]
11201 * - name : string [1..1]
11202 * - documentation : tDocumentation [0..*] (from: tBaseElement)
11203 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
11204 * - id : ID [0..1] (from: tBaseElement)
11205 *
11206 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
11207 */
11209 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
11210private:
11211 static bool registerClass() {
11212 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tLinkEventDefinition"] = &createInstance<tLinkEventDefinition>; // register function in factory
11213 return true;
11214 };
11215 inline static bool registered = registerClass();
11216protected:
11217 tLinkEventDefinition(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
11218
11219public:
11220 /// default attributes to be used if they are not explicitly provided
11221 inline static const Attributes defaults = {
11222 };
11223
11224 std::vector< std::reference_wrapper<XMLObject> > source;
11225 std::optional< std::reference_wrapper<XMLObject> > target;
11226 Attribute& name; ///< Attribute value can be expected to be of type 'std::string'
11227};
11228
11229} // namespace XML::bpmn
11230
11231#endif // XML_bpmn_tLinkEventDefinition_H
11232#ifndef XML_bpmn_linkEventDefinition_H
11233#define XML_bpmn_linkEventDefinition_H
11234#include <memory>
11235#include <optional>
11236#include <vector>
11237
11238
11239/**
11240 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
11241 */
11242namespace XML::bpmn {
11243
11244/**
11245 * Overview:
11246 * - Element name: linkEventDefinition
11247 * - XML-Schema: xsd/Semantic.xsd
11248 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
11249 *
11250 * Members:
11251 * - source : QName [0..*] (from: tLinkEventDefinition)
11252 * - target : QName [0..1] (from: tLinkEventDefinition)
11253 * - name : string [1..1] (from: tLinkEventDefinition)
11254 * - documentation : tDocumentation [0..*] (from: tBaseElement)
11255 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
11256 * - id : ID [0..1] (from: tBaseElement)
11257 *
11258 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
11259 */
11261 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
11262private:
11263 static bool registerClass() {
11264 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:linkEventDefinition"] = &createInstance<linkEventDefinition>; // register function in factory
11265 return true;
11266 };
11267 inline static bool registered = registerClass();
11268protected:
11269 linkEventDefinition(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
11270
11271public:
11272 /// default attributes to be used if they are not explicitly provided
11273 inline static const Attributes defaults = {
11274 };
11275
11276};
11277
11278} // namespace XML::bpmn
11279
11280#endif // XML_bpmn_linkEventDefinition_H
11281#ifndef XML_bpmn_tMessage_H
11282#define XML_bpmn_tMessage_H
11283#include <memory>
11284#include <optional>
11285#include <vector>
11286
11287
11288/**
11289 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
11290 */
11291namespace XML::bpmn {
11292
11293/**
11294 * Overview:
11295 * - Element name: tMessage
11296 * - XML-Schema: xsd/Semantic.xsd
11297 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
11298 *
11299 * Members:
11300 * - name : string [0..1]
11301 * - itemRef : QName [0..1]
11302 * - documentation : tDocumentation [0..*] (from: tBaseElement)
11303 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
11304 * - id : ID [0..1] (from: tBaseElement)
11305 *
11306 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
11307 */
11308class tMessage : public tRootElement {
11309 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
11310private:
11311 static bool registerClass() {
11312 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tMessage"] = &createInstance<tMessage>; // register function in factory
11313 return true;
11314 };
11315 inline static bool registered = registerClass();
11316protected:
11317 tMessage(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
11318
11319public:
11320 /// default attributes to be used if they are not explicitly provided
11321 inline static const Attributes defaults = {
11322 };
11323
11324 std::optional< std::reference_wrapper<Attribute> > name; ///< Attribute value can be expected to be of type 'std::string'
11325 std::optional< std::reference_wrapper<Attribute> > itemRef; ///< Attribute value can be expected to be of type 'std::string'
11326};
11327
11328} // namespace XML::bpmn
11329
11330#endif // XML_bpmn_tMessage_H
11331#ifndef XML_bpmn_message_H
11332#define XML_bpmn_message_H
11333#include <memory>
11334#include <optional>
11335#include <vector>
11336
11337
11338/**
11339 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
11340 */
11341namespace XML::bpmn {
11342
11343/**
11344 * Overview:
11345 * - Element name: message
11346 * - XML-Schema: xsd/Semantic.xsd
11347 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
11348 *
11349 * Members:
11350 * - name : string [0..1] (from: tMessage)
11351 * - itemRef : QName [0..1] (from: tMessage)
11352 * - documentation : tDocumentation [0..*] (from: tBaseElement)
11353 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
11354 * - id : ID [0..1] (from: tBaseElement)
11355 *
11356 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
11357 */
11358class message : public tMessage {
11359 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
11360private:
11361 static bool registerClass() {
11362 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:message"] = &createInstance<message>; // register function in factory
11363 return true;
11364 };
11365 inline static bool registered = registerClass();
11366protected:
11367 message(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
11368
11369public:
11370 /// default attributes to be used if they are not explicitly provided
11371 inline static const Attributes defaults = {
11372 };
11373
11374};
11375
11376} // namespace XML::bpmn
11377
11378#endif // XML_bpmn_message_H
11379#ifndef XML_bpmn_tMessageEventDefinition_H
11380#define XML_bpmn_tMessageEventDefinition_H
11381#include <memory>
11382#include <optional>
11383#include <vector>
11384
11385
11386/**
11387 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
11388 */
11389namespace XML::bpmn {
11390
11391/**
11392 * Overview:
11393 * - Element name: tMessageEventDefinition
11394 * - XML-Schema: xsd/Semantic.xsd
11395 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
11396 *
11397 * Members:
11398 * - operationRef : QName [0..1]
11399 * - messageRef : QName [0..1]
11400 * - documentation : tDocumentation [0..*] (from: tBaseElement)
11401 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
11402 * - id : ID [0..1] (from: tBaseElement)
11403 *
11404 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
11405 */
11407 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
11408private:
11409 static bool registerClass() {
11410 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tMessageEventDefinition"] = &createInstance<tMessageEventDefinition>; // register function in factory
11411 return true;
11412 };
11413 inline static bool registered = registerClass();
11414protected:
11415 tMessageEventDefinition(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
11416
11417public:
11418 /// default attributes to be used if they are not explicitly provided
11419 inline static const Attributes defaults = {
11420 };
11421
11422 std::optional< std::reference_wrapper<XMLObject> > operationRef;
11423 std::optional< std::reference_wrapper<Attribute> > messageRef; ///< Attribute value can be expected to be of type 'std::string'
11424};
11425
11426} // namespace XML::bpmn
11427
11428#endif // XML_bpmn_tMessageEventDefinition_H
11429#ifndef XML_bpmn_messageEventDefinition_H
11430#define XML_bpmn_messageEventDefinition_H
11431#include <memory>
11432#include <optional>
11433#include <vector>
11434
11435
11436/**
11437 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
11438 */
11439namespace XML::bpmn {
11440
11441/**
11442 * Overview:
11443 * - Element name: messageEventDefinition
11444 * - XML-Schema: xsd/Semantic.xsd
11445 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
11446 *
11447 * Members:
11448 * - operationRef : QName [0..1] (from: tMessageEventDefinition)
11449 * - messageRef : QName [0..1] (from: tMessageEventDefinition)
11450 * - documentation : tDocumentation [0..*] (from: tBaseElement)
11451 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
11452 * - id : ID [0..1] (from: tBaseElement)
11453 *
11454 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
11455 */
11457 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
11458private:
11459 static bool registerClass() {
11460 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:messageEventDefinition"] = &createInstance<messageEventDefinition>; // register function in factory
11461 return true;
11462 };
11463 inline static bool registered = registerClass();
11464protected:
11465 messageEventDefinition(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
11466
11467public:
11468 /// default attributes to be used if they are not explicitly provided
11469 inline static const Attributes defaults = {
11470 };
11471
11472};
11473
11474} // namespace XML::bpmn
11475
11476#endif // XML_bpmn_messageEventDefinition_H
11477#ifndef XML_bpmn_tPartnerEntity_H
11478#define XML_bpmn_tPartnerEntity_H
11479#include <memory>
11480#include <optional>
11481#include <vector>
11482
11483
11484/**
11485 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
11486 */
11487namespace XML::bpmn {
11488
11489/**
11490 * Overview:
11491 * - Element name: tPartnerEntity
11492 * - XML-Schema: xsd/Semantic.xsd
11493 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
11494 *
11495 * Members:
11496 * - participantRef : QName [0..*]
11497 * - name : string [0..1]
11498 * - documentation : tDocumentation [0..*] (from: tBaseElement)
11499 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
11500 * - id : ID [0..1] (from: tBaseElement)
11501 *
11502 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
11503 */
11505 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
11506private:
11507 static bool registerClass() {
11508 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tPartnerEntity"] = &createInstance<tPartnerEntity>; // register function in factory
11509 return true;
11510 };
11511 inline static bool registered = registerClass();
11512protected:
11513 tPartnerEntity(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
11514
11515public:
11516 /// default attributes to be used if they are not explicitly provided
11517 inline static const Attributes defaults = {
11518 };
11519
11520 std::vector< std::reference_wrapper<XMLObject> > participantRef;
11521 std::optional< std::reference_wrapper<Attribute> > name; ///< Attribute value can be expected to be of type 'std::string'
11522};
11523
11524} // namespace XML::bpmn
11525
11526#endif // XML_bpmn_tPartnerEntity_H
11527#ifndef XML_bpmn_partnerEntity_H
11528#define XML_bpmn_partnerEntity_H
11529#include <memory>
11530#include <optional>
11531#include <vector>
11532
11533
11534/**
11535 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
11536 */
11537namespace XML::bpmn {
11538
11539/**
11540 * Overview:
11541 * - Element name: partnerEntity
11542 * - XML-Schema: xsd/Semantic.xsd
11543 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
11544 *
11545 * Members:
11546 * - participantRef : QName [0..*] (from: tPartnerEntity)
11547 * - name : string [0..1] (from: tPartnerEntity)
11548 * - documentation : tDocumentation [0..*] (from: tBaseElement)
11549 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
11550 * - id : ID [0..1] (from: tBaseElement)
11551 *
11552 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
11553 */
11555 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
11556private:
11557 static bool registerClass() {
11558 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:partnerEntity"] = &createInstance<partnerEntity>; // register function in factory
11559 return true;
11560 };
11561 inline static bool registered = registerClass();
11562protected:
11563 partnerEntity(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
11564
11565public:
11566 /// default attributes to be used if they are not explicitly provided
11567 inline static const Attributes defaults = {
11568 };
11569
11570};
11571
11572} // namespace XML::bpmn
11573
11574#endif // XML_bpmn_partnerEntity_H
11575#ifndef XML_bpmn_tPartnerRole_H
11576#define XML_bpmn_tPartnerRole_H
11577#include <memory>
11578#include <optional>
11579#include <vector>
11580
11581
11582/**
11583 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
11584 */
11585namespace XML::bpmn {
11586
11587/**
11588 * Overview:
11589 * - Element name: tPartnerRole
11590 * - XML-Schema: xsd/Semantic.xsd
11591 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
11592 *
11593 * Members:
11594 * - participantRef : QName [0..*]
11595 * - name : string [0..1]
11596 * - documentation : tDocumentation [0..*] (from: tBaseElement)
11597 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
11598 * - id : ID [0..1] (from: tBaseElement)
11599 *
11600 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
11601 */
11603 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
11604private:
11605 static bool registerClass() {
11606 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tPartnerRole"] = &createInstance<tPartnerRole>; // register function in factory
11607 return true;
11608 };
11609 inline static bool registered = registerClass();
11610protected:
11611 tPartnerRole(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
11612
11613public:
11614 /// default attributes to be used if they are not explicitly provided
11615 inline static const Attributes defaults = {
11616 };
11617
11618 std::vector< std::reference_wrapper<XMLObject> > participantRef;
11619 std::optional< std::reference_wrapper<Attribute> > name; ///< Attribute value can be expected to be of type 'std::string'
11620};
11621
11622} // namespace XML::bpmn
11623
11624#endif // XML_bpmn_tPartnerRole_H
11625#ifndef XML_bpmn_partnerRole_H
11626#define XML_bpmn_partnerRole_H
11627#include <memory>
11628#include <optional>
11629#include <vector>
11630
11631
11632/**
11633 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
11634 */
11635namespace XML::bpmn {
11636
11637/**
11638 * Overview:
11639 * - Element name: partnerRole
11640 * - XML-Schema: xsd/Semantic.xsd
11641 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
11642 *
11643 * Members:
11644 * - participantRef : QName [0..*] (from: tPartnerRole)
11645 * - name : string [0..1] (from: tPartnerRole)
11646 * - documentation : tDocumentation [0..*] (from: tBaseElement)
11647 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
11648 * - id : ID [0..1] (from: tBaseElement)
11649 *
11650 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
11651 */
11653 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
11654private:
11655 static bool registerClass() {
11656 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:partnerRole"] = &createInstance<partnerRole>; // register function in factory
11657 return true;
11658 };
11659 inline static bool registered = registerClass();
11660protected:
11661 partnerRole(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
11662
11663public:
11664 /// default attributes to be used if they are not explicitly provided
11665 inline static const Attributes defaults = {
11666 };
11667
11668};
11669
11670} // namespace XML::bpmn
11671
11672#endif // XML_bpmn_partnerRole_H
11673#ifndef XML_bpmn_tProcess_H
11674#define XML_bpmn_tProcess_H
11675#include <memory>
11676#include <optional>
11677#include <vector>
11678
11679
11680/**
11681 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
11682 */
11683namespace XML::bpmn {
11684
11685class tAuditing;
11686class tMonitoring;
11687class tProperty;
11688class tLaneSet;
11689class tFlowElement;
11690class tArtifact;
11691class tResourceRole;
11692class tCorrelationSubscription;
11693class tProcessType;
11694
11695/**
11696 * Overview:
11697 * - Element name: tProcess
11698 * - XML-Schema: xsd/Semantic.xsd
11699 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
11700 *
11701 * Members:
11702 * - auditing : tAuditing [0..1]
11703 * - monitoring : tMonitoring [0..1]
11704 * - property : tProperty [0..*]
11705 * - laneSet : tLaneSet [0..*]
11706 * - flowElement : tFlowElement [0..*]
11707 * - artifact : tArtifact [0..*]
11708 * - resourceRole : tResourceRole [0..*]
11709 * - correlationSubscription : tCorrelationSubscription [0..*]
11710 * - supports : QName [0..*]
11711 * - processType : tProcessType [0..1]
11712 * - isClosed : boolean [0..1]
11713 * - isExecutable : boolean [0..1]
11714 * - definitionalCollaborationRef : QName [0..1]
11715 * - supportedInterfaceRef : QName [0..*] (from: tCallableElement)
11716 * - ioSpecification : tInputOutputSpecification [0..1] (from: tCallableElement)
11717 * - ioBinding : tInputOutputBinding [0..*] (from: tCallableElement)
11718 * - name : string [0..1] (from: tCallableElement)
11719 * - documentation : tDocumentation [0..*] (from: tBaseElement)
11720 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
11721 * - id : ID [0..1] (from: tBaseElement)
11722 *
11723 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
11724 */
11726 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
11727private:
11728 static bool registerClass() {
11729 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tProcess"] = &createInstance<tProcess>; // register function in factory
11730 return true;
11731 };
11732 inline static bool registered = registerClass();
11733protected:
11734 tProcess(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
11735
11736 friend class tDefinitions;
11737
11738public:
11739 /// default attributes to be used if they are not explicitly provided
11740 inline static const Attributes defaults = {
11741 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "processType", .value = Value(std::string("None"))},
11742 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "isClosed", .value = Value(std::string("false"))}
11743 };
11744
11745 std::optional< std::reference_wrapper<tAuditing> > auditing;
11746 std::optional< std::reference_wrapper<tMonitoring> > monitoring;
11747 std::vector< std::reference_wrapper<tProperty> > property;
11748 std::vector< std::reference_wrapper<tLaneSet> > laneSet;
11749 std::vector< std::reference_wrapper<tFlowElement> > flowElement;
11750 std::vector< std::reference_wrapper<tArtifact> > artifact;
11751 std::vector< std::reference_wrapper<tResourceRole> > resourceRole;
11752 std::vector< std::reference_wrapper<tCorrelationSubscription> > correlationSubscription;
11753 std::vector< std::reference_wrapper<XMLObject> > supports;
11754 std::optional< std::reference_wrapper<Attribute> > processType; ///< Attribute value can be expected to be of type 'std::string'
11755 std::optional< std::reference_wrapper<Attribute> > isClosed; ///< Attribute value can be expected to be of type 'bool'
11756 std::optional< std::reference_wrapper<Attribute> > isExecutable; ///< Attribute value can be expected to be of type 'bool'
11757 std::optional< std::reference_wrapper<Attribute> > definitionalCollaborationRef; ///< Attribute value can be expected to be of type 'std::string'
11758};
11759
11760} // namespace XML::bpmn
11761
11762#endif // XML_bpmn_tProcess_H
11763#ifndef XML_bpmn_process_H
11764#define XML_bpmn_process_H
11765#include <memory>
11766#include <optional>
11767#include <vector>
11768
11769
11770/**
11771 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
11772 */
11773namespace XML::bpmn {
11774
11775/**
11776 * Overview:
11777 * - Element name: process
11778 * - XML-Schema: xsd/Semantic.xsd
11779 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
11780 *
11781 * Members:
11782 * - auditing : tAuditing [0..1] (from: tProcess)
11783 * - monitoring : tMonitoring [0..1] (from: tProcess)
11784 * - property : tProperty [0..*] (from: tProcess)
11785 * - laneSet : tLaneSet [0..*] (from: tProcess)
11786 * - flowElement : tFlowElement [0..*] (from: tProcess)
11787 * - artifact : tArtifact [0..*] (from: tProcess)
11788 * - resourceRole : tResourceRole [0..*] (from: tProcess)
11789 * - correlationSubscription : tCorrelationSubscription [0..*] (from: tProcess)
11790 * - supports : QName [0..*] (from: tProcess)
11791 * - processType : tProcessType [0..1] (from: tProcess)
11792 * - isClosed : boolean [0..1] (from: tProcess)
11793 * - isExecutable : boolean [0..1] (from: tProcess)
11794 * - definitionalCollaborationRef : QName [0..1] (from: tProcess)
11795 * - supportedInterfaceRef : QName [0..*] (from: tCallableElement)
11796 * - ioSpecification : tInputOutputSpecification [0..1] (from: tCallableElement)
11797 * - ioBinding : tInputOutputBinding [0..*] (from: tCallableElement)
11798 * - name : string [0..1] (from: tCallableElement)
11799 * - documentation : tDocumentation [0..*] (from: tBaseElement)
11800 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
11801 * - id : ID [0..1] (from: tBaseElement)
11802 *
11803 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
11804 */
11805class process : public tProcess {
11806 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
11807private:
11808 static bool registerClass() {
11809 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:process"] = &createInstance<process>; // register function in factory
11810 return true;
11811 };
11812 inline static bool registered = registerClass();
11813protected:
11814 process(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
11815
11816public:
11817 /// default attributes to be used if they are not explicitly provided
11818 inline static const Attributes defaults = {
11819 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "processType", .value = Value(std::string("None"))},
11820 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "isClosed", .value = Value(std::string("false"))}
11821 };
11822
11823};
11824
11825} // namespace XML::bpmn
11826
11827#endif // XML_bpmn_process_H
11828#ifndef XML_bpmn_tResource_H
11829#define XML_bpmn_tResource_H
11830#include <memory>
11831#include <optional>
11832#include <vector>
11833
11834
11835/**
11836 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
11837 */
11838namespace XML::bpmn {
11839
11840class tResourceParameter;
11841
11842/**
11843 * Overview:
11844 * - Element name: tResource
11845 * - XML-Schema: xsd/Semantic.xsd
11846 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
11847 *
11848 * Members:
11849 * - resourceParameter : tResourceParameter [0..*]
11850 * - name : string [1..1]
11851 * - documentation : tDocumentation [0..*] (from: tBaseElement)
11852 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
11853 * - id : ID [0..1] (from: tBaseElement)
11854 *
11855 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
11856 */
11857class tResource : public tRootElement {
11858 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
11859private:
11860 static bool registerClass() {
11861 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tResource"] = &createInstance<tResource>; // register function in factory
11862 return true;
11863 };
11864 inline static bool registered = registerClass();
11865protected:
11866 tResource(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
11867
11868public:
11869 /// default attributes to be used if they are not explicitly provided
11870 inline static const Attributes defaults = {
11871 };
11872
11873 std::vector< std::reference_wrapper<tResourceParameter> > resourceParameter;
11874 Attribute& name; ///< Attribute value can be expected to be of type 'std::string'
11875};
11876
11877} // namespace XML::bpmn
11878
11879#endif // XML_bpmn_tResource_H
11880#ifndef XML_bpmn_resource_H
11881#define XML_bpmn_resource_H
11882#include <memory>
11883#include <optional>
11884#include <vector>
11885
11886
11887/**
11888 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
11889 */
11890namespace XML::bpmn {
11891
11892/**
11893 * Overview:
11894 * - Element name: resource
11895 * - XML-Schema: xsd/Semantic.xsd
11896 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
11897 *
11898 * Members:
11899 * - resourceParameter : tResourceParameter [0..*] (from: tResource)
11900 * - name : string [1..1] (from: tResource)
11901 * - documentation : tDocumentation [0..*] (from: tBaseElement)
11902 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
11903 * - id : ID [0..1] (from: tBaseElement)
11904 *
11905 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
11906 */
11907class resource : public tResource {
11908 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
11909private:
11910 static bool registerClass() {
11911 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:resource"] = &createInstance<resource>; // register function in factory
11912 return true;
11913 };
11914 inline static bool registered = registerClass();
11915protected:
11916 resource(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
11917
11918public:
11919 /// default attributes to be used if they are not explicitly provided
11920 inline static const Attributes defaults = {
11921 };
11922
11923};
11924
11925} // namespace XML::bpmn
11926
11927#endif // XML_bpmn_resource_H
11928#ifndef XML_bpmn_tScript_H
11929#define XML_bpmn_tScript_H
11930#include <memory>
11931#include <optional>
11932#include <vector>
11933
11934
11935/**
11936 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
11937 */
11938namespace XML::bpmn {
11939
11940/**
11941 * Overview:
11942 * - Element name: tScript
11943 * - XML-Schema: xsd/Semantic.xsd
11944 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
11945 *
11946 * Members:
11947 *
11948 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
11949 */
11950class tScript : public XMLObject {
11951 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
11952private:
11953 static bool registerClass() {
11954 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tScript"] = &createInstance<tScript>; // register function in factory
11955 return true;
11956 };
11957 inline static bool registered = registerClass();
11958protected:
11959 tScript(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
11960
11961 friend class tGlobalScriptTask;
11962 friend class tScriptTask;
11963
11964public:
11965 /// default attributes to be used if they are not explicitly provided
11966 inline static const Attributes defaults = {
11967 };
11968
11969};
11970
11971} // namespace XML::bpmn
11972
11973#endif // XML_bpmn_tScript_H
11974#ifndef XML_bpmn_script_H
11975#define XML_bpmn_script_H
11976#include <memory>
11977#include <optional>
11978#include <vector>
11979
11980
11981/**
11982 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
11983 */
11984namespace XML::bpmn {
11985
11986/**
11987 * Overview:
11988 * - Element name: script
11989 * - XML-Schema: xsd/Semantic.xsd
11990 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
11991 *
11992 * Members:
11993 *
11994 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
11995 */
11996class script : public tScript {
11997 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
11998private:
11999 static bool registerClass() {
12000 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:script"] = &createInstance<script>; // register function in factory
12001 return true;
12002 };
12003 inline static bool registered = registerClass();
12004protected:
12005 script(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
12006
12007public:
12008 /// default attributes to be used if they are not explicitly provided
12009 inline static const Attributes defaults = {
12010 };
12011
12012};
12013
12014} // namespace XML::bpmn
12015
12016#endif // XML_bpmn_script_H
12017#ifndef XML_bpmn_tSequenceFlow_H
12018#define XML_bpmn_tSequenceFlow_H
12019#include <memory>
12020#include <optional>
12021#include <vector>
12022
12023
12024/**
12025 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
12026 */
12027namespace XML::bpmn {
12028
12029class tExpression;
12030
12031/**
12032 * Overview:
12033 * - Element name: tSequenceFlow
12034 * - XML-Schema: xsd/Semantic.xsd
12035 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
12036 *
12037 * Members:
12038 * - conditionExpression : tExpression [0..1]
12039 * - sourceRef : IDREF [1..1]
12040 * - targetRef : IDREF [1..1]
12041 * - isImmediate : boolean [0..1]
12042 * - auditing : tAuditing [0..1] (from: tFlowElement)
12043 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
12044 * - categoryValueRef : QName [0..*] (from: tFlowElement)
12045 * - name : string [0..1] (from: tFlowElement)
12046 * - documentation : tDocumentation [0..*] (from: tBaseElement)
12047 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
12048 * - id : ID [0..1] (from: tBaseElement)
12049 *
12050 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
12051 */
12053 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
12054private:
12055 static bool registerClass() {
12056 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tSequenceFlow"] = &createInstance<tSequenceFlow>; // register function in factory
12057 return true;
12058 };
12059 inline static bool registered = registerClass();
12060protected:
12061 tSequenceFlow(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
12062
12063public:
12064 /// default attributes to be used if they are not explicitly provided
12065 inline static const Attributes defaults = {
12066 };
12067
12068 std::optional< std::reference_wrapper<tExpression> > conditionExpression;
12069 Attribute& sourceRef; ///< Attribute value can be expected to be of type 'std::string'
12070 Attribute& targetRef; ///< Attribute value can be expected to be of type 'std::string'
12071 std::optional< std::reference_wrapper<Attribute> > isImmediate; ///< Attribute value can be expected to be of type 'bool'
12072};
12073
12074} // namespace XML::bpmn
12075
12076#endif // XML_bpmn_tSequenceFlow_H
12077#ifndef XML_bpmn_sequenceFlow_H
12078#define XML_bpmn_sequenceFlow_H
12079#include <memory>
12080#include <optional>
12081#include <vector>
12082
12083
12084/**
12085 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
12086 */
12087namespace XML::bpmn {
12088
12089/**
12090 * Overview:
12091 * - Element name: sequenceFlow
12092 * - XML-Schema: xsd/Semantic.xsd
12093 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
12094 *
12095 * Members:
12096 * - conditionExpression : tExpression [0..1] (from: tSequenceFlow)
12097 * - sourceRef : IDREF [1..1] (from: tSequenceFlow)
12098 * - targetRef : IDREF [1..1] (from: tSequenceFlow)
12099 * - isImmediate : boolean [0..1] (from: tSequenceFlow)
12100 * - auditing : tAuditing [0..1] (from: tFlowElement)
12101 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
12102 * - categoryValueRef : QName [0..*] (from: tFlowElement)
12103 * - name : string [0..1] (from: tFlowElement)
12104 * - documentation : tDocumentation [0..*] (from: tBaseElement)
12105 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
12106 * - id : ID [0..1] (from: tBaseElement)
12107 *
12108 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
12109 */
12111 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
12112private:
12113 static bool registerClass() {
12114 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:sequenceFlow"] = &createInstance<sequenceFlow>; // register function in factory
12115 return true;
12116 };
12117 inline static bool registered = registerClass();
12118protected:
12119 sequenceFlow(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
12120
12121public:
12122 /// default attributes to be used if they are not explicitly provided
12123 inline static const Attributes defaults = {
12124 };
12125
12126};
12127
12128} // namespace XML::bpmn
12129
12130#endif // XML_bpmn_sequenceFlow_H
12131#ifndef XML_bpmn_tSignal_H
12132#define XML_bpmn_tSignal_H
12133#include <memory>
12134#include <optional>
12135#include <vector>
12136
12137
12138/**
12139 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
12140 */
12141namespace XML::bpmn {
12142
12143/**
12144 * Overview:
12145 * - Element name: tSignal
12146 * - XML-Schema: xsd/Semantic.xsd
12147 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
12148 *
12149 * Members:
12150 * - name : string [0..1]
12151 * - structureRef : QName [0..1]
12152 * - documentation : tDocumentation [0..*] (from: tBaseElement)
12153 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
12154 * - id : ID [0..1] (from: tBaseElement)
12155 *
12156 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
12157 */
12158class tSignal : public tRootElement {
12159 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
12160private:
12161 static bool registerClass() {
12162 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tSignal"] = &createInstance<tSignal>; // register function in factory
12163 return true;
12164 };
12165 inline static bool registered = registerClass();
12166protected:
12167 tSignal(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
12168
12169public:
12170 /// default attributes to be used if they are not explicitly provided
12171 inline static const Attributes defaults = {
12172 };
12173
12174 std::optional< std::reference_wrapper<Attribute> > name; ///< Attribute value can be expected to be of type 'std::string'
12175 std::optional< std::reference_wrapper<Attribute> > structureRef; ///< Attribute value can be expected to be of type 'std::string'
12176};
12177
12178} // namespace XML::bpmn
12179
12180#endif // XML_bpmn_tSignal_H
12181#ifndef XML_bpmn_signal_H
12182#define XML_bpmn_signal_H
12183#include <memory>
12184#include <optional>
12185#include <vector>
12186
12187
12188/**
12189 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
12190 */
12191namespace XML::bpmn {
12192
12193/**
12194 * Overview:
12195 * - Element name: signal
12196 * - XML-Schema: xsd/Semantic.xsd
12197 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
12198 *
12199 * Members:
12200 * - name : string [0..1] (from: tSignal)
12201 * - structureRef : QName [0..1] (from: tSignal)
12202 * - documentation : tDocumentation [0..*] (from: tBaseElement)
12203 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
12204 * - id : ID [0..1] (from: tBaseElement)
12205 *
12206 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
12207 */
12208class signal : public tSignal {
12209 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
12210private:
12211 static bool registerClass() {
12212 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:signal"] = &createInstance<signal>; // register function in factory
12213 return true;
12214 };
12215 inline static bool registered = registerClass();
12216protected:
12217 signal(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
12218
12219public:
12220 /// default attributes to be used if they are not explicitly provided
12221 inline static const Attributes defaults = {
12222 };
12223
12224};
12225
12226} // namespace XML::bpmn
12227
12228#endif // XML_bpmn_signal_H
12229#ifndef XML_bpmn_tSignalEventDefinition_H
12230#define XML_bpmn_tSignalEventDefinition_H
12231#include <memory>
12232#include <optional>
12233#include <vector>
12234
12235
12236/**
12237 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
12238 */
12239namespace XML::bpmn {
12240
12241/**
12242 * Overview:
12243 * - Element name: tSignalEventDefinition
12244 * - XML-Schema: xsd/Semantic.xsd
12245 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
12246 *
12247 * Members:
12248 * - signalRef : QName [0..1]
12249 * - documentation : tDocumentation [0..*] (from: tBaseElement)
12250 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
12251 * - id : ID [0..1] (from: tBaseElement)
12252 *
12253 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
12254 */
12256 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
12257private:
12258 static bool registerClass() {
12259 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tSignalEventDefinition"] = &createInstance<tSignalEventDefinition>; // register function in factory
12260 return true;
12261 };
12262 inline static bool registered = registerClass();
12263protected:
12264 tSignalEventDefinition(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
12265
12266public:
12267 /// default attributes to be used if they are not explicitly provided
12268 inline static const Attributes defaults = {
12269 };
12270
12271 std::optional< std::reference_wrapper<Attribute> > signalRef; ///< Attribute value can be expected to be of type 'std::string'
12272};
12273
12274} // namespace XML::bpmn
12275
12276#endif // XML_bpmn_tSignalEventDefinition_H
12277#ifndef XML_bpmn_signalEventDefinition_H
12278#define XML_bpmn_signalEventDefinition_H
12279#include <memory>
12280#include <optional>
12281#include <vector>
12282
12283
12284/**
12285 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
12286 */
12287namespace XML::bpmn {
12288
12289/**
12290 * Overview:
12291 * - Element name: signalEventDefinition
12292 * - XML-Schema: xsd/Semantic.xsd
12293 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
12294 *
12295 * Members:
12296 * - signalRef : QName [0..1] (from: tSignalEventDefinition)
12297 * - documentation : tDocumentation [0..*] (from: tBaseElement)
12298 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
12299 * - id : ID [0..1] (from: tBaseElement)
12300 *
12301 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
12302 */
12304 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
12305private:
12306 static bool registerClass() {
12307 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:signalEventDefinition"] = &createInstance<signalEventDefinition>; // register function in factory
12308 return true;
12309 };
12310 inline static bool registered = registerClass();
12311protected:
12312 signalEventDefinition(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
12313
12314public:
12315 /// default attributes to be used if they are not explicitly provided
12316 inline static const Attributes defaults = {
12317 };
12318
12319};
12320
12321} // namespace XML::bpmn
12322
12323#endif // XML_bpmn_signalEventDefinition_H
12324#ifndef XML_bpmn_tStandardLoopCharacteristics_H
12325#define XML_bpmn_tStandardLoopCharacteristics_H
12326#include <memory>
12327#include <optional>
12328#include <vector>
12329
12330
12331/**
12332 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
12333 */
12334namespace XML::bpmn {
12335
12336class tExpression;
12337
12338/**
12339 * Overview:
12340 * - Element name: tStandardLoopCharacteristics
12341 * - XML-Schema: xsd/Semantic.xsd
12342 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
12343 *
12344 * Members:
12345 * - loopCondition : tExpression [0..*]
12346 * - testBefore : boolean [0..1]
12347 * - loopMaximum : integer [0..1]
12348 * - documentation : tDocumentation [0..*] (from: tBaseElement)
12349 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
12350 * - id : ID [0..1] (from: tBaseElement)
12351 *
12352 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
12353 */
12355 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
12356private:
12357 static bool registerClass() {
12358 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tStandardLoopCharacteristics"] = &createInstance<tStandardLoopCharacteristics>; // register function in factory
12359 return true;
12360 };
12361 inline static bool registered = registerClass();
12362protected:
12363 tStandardLoopCharacteristics(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
12364
12365public:
12366 /// default attributes to be used if they are not explicitly provided
12367 inline static const Attributes defaults = {
12368 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "testBefore", .value = Value(std::string("false"))}
12369 };
12370
12371 std::vector< std::reference_wrapper<tExpression> > loopCondition;
12372 std::optional< std::reference_wrapper<Attribute> > testBefore; ///< Attribute value can be expected to be of type 'bool'
12373 std::optional< std::reference_wrapper<Attribute> > loopMaximum; ///< Attribute value can be expected to be of type 'int'
12374};
12375
12376} // namespace XML::bpmn
12377
12378#endif // XML_bpmn_tStandardLoopCharacteristics_H
12379#ifndef XML_bpmn_standardLoopCharacteristics_H
12380#define XML_bpmn_standardLoopCharacteristics_H
12381#include <memory>
12382#include <optional>
12383#include <vector>
12384
12385
12386/**
12387 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
12388 */
12389namespace XML::bpmn {
12390
12391/**
12392 * Overview:
12393 * - Element name: standardLoopCharacteristics
12394 * - XML-Schema: xsd/Semantic.xsd
12395 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
12396 *
12397 * Members:
12398 * - loopCondition : tExpression [0..*] (from: tStandardLoopCharacteristics)
12399 * - testBefore : boolean [0..1] (from: tStandardLoopCharacteristics)
12400 * - loopMaximum : integer [0..1] (from: tStandardLoopCharacteristics)
12401 * - documentation : tDocumentation [0..*] (from: tBaseElement)
12402 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
12403 * - id : ID [0..1] (from: tBaseElement)
12404 *
12405 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
12406 */
12408 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
12409private:
12410 static bool registerClass() {
12411 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:standardLoopCharacteristics"] = &createInstance<standardLoopCharacteristics>; // register function in factory
12412 return true;
12413 };
12414 inline static bool registered = registerClass();
12415protected:
12416 standardLoopCharacteristics(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
12417
12418public:
12419 /// default attributes to be used if they are not explicitly provided
12420 inline static const Attributes defaults = {
12421 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "testBefore", .value = Value(std::string("false"))}
12422 };
12423
12424};
12425
12426} // namespace XML::bpmn
12427
12428#endif // XML_bpmn_standardLoopCharacteristics_H
12429#ifndef XML_bpmn_tStartEvent_H
12430#define XML_bpmn_tStartEvent_H
12431#include <memory>
12432#include <optional>
12433#include <vector>
12434
12435
12436/**
12437 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
12438 */
12439namespace XML::bpmn {
12440
12441/**
12442 * Overview:
12443 * - Element name: tStartEvent
12444 * - XML-Schema: xsd/Semantic.xsd
12445 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
12446 *
12447 * Members:
12448 * - isInterrupting : boolean [0..1]
12449 * - dataOutput : tDataOutput [0..*] (from: tCatchEvent)
12450 * - dataOutputAssociation : tDataOutputAssociation [0..*] (from: tCatchEvent)
12451 * - outputSet : tOutputSet [0..1] (from: tCatchEvent)
12452 * - eventDefinition : tEventDefinition [0..*] (from: tCatchEvent)
12453 * - eventDefinitionRef : QName [0..*] (from: tCatchEvent)
12454 * - parallelMultiple : boolean [0..1] (from: tCatchEvent)
12455 * - property : tProperty [0..*] (from: tEvent)
12456 * - incoming : QName [0..*] (from: tFlowNode)
12457 * - outgoing : QName [0..*] (from: tFlowNode)
12458 * - auditing : tAuditing [0..1] (from: tFlowElement)
12459 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
12460 * - categoryValueRef : QName [0..*] (from: tFlowElement)
12461 * - name : string [0..1] (from: tFlowElement)
12462 * - documentation : tDocumentation [0..*] (from: tBaseElement)
12463 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
12464 * - id : ID [0..1] (from: tBaseElement)
12465 *
12466 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
12467 */
12468class tStartEvent : public tCatchEvent {
12469 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
12470private:
12471 static bool registerClass() {
12472 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tStartEvent"] = &createInstance<tStartEvent>; // register function in factory
12473 return true;
12474 };
12475 inline static bool registered = registerClass();
12476protected:
12477 tStartEvent(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
12478
12479public:
12480 /// default attributes to be used if they are not explicitly provided
12481 inline static const Attributes defaults = {
12482 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "isInterrupting", .value = Value(std::string("true"))},
12483 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "parallelMultiple", .value = Value(std::string("false"))}
12484 };
12485
12486 std::optional< std::reference_wrapper<Attribute> > isInterrupting; ///< Attribute value can be expected to be of type 'bool'
12487};
12488
12489} // namespace XML::bpmn
12490
12491#endif // XML_bpmn_tStartEvent_H
12492#ifndef XML_bpmn_startEvent_H
12493#define XML_bpmn_startEvent_H
12494#include <memory>
12495#include <optional>
12496#include <vector>
12497
12498
12499/**
12500 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
12501 */
12502namespace XML::bpmn {
12503
12504/**
12505 * Overview:
12506 * - Element name: startEvent
12507 * - XML-Schema: xsd/Semantic.xsd
12508 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
12509 *
12510 * Members:
12511 * - isInterrupting : boolean [0..1] (from: tStartEvent)
12512 * - dataOutput : tDataOutput [0..*] (from: tCatchEvent)
12513 * - dataOutputAssociation : tDataOutputAssociation [0..*] (from: tCatchEvent)
12514 * - outputSet : tOutputSet [0..1] (from: tCatchEvent)
12515 * - eventDefinition : tEventDefinition [0..*] (from: tCatchEvent)
12516 * - eventDefinitionRef : QName [0..*] (from: tCatchEvent)
12517 * - parallelMultiple : boolean [0..1] (from: tCatchEvent)
12518 * - property : tProperty [0..*] (from: tEvent)
12519 * - incoming : QName [0..*] (from: tFlowNode)
12520 * - outgoing : QName [0..*] (from: tFlowNode)
12521 * - auditing : tAuditing [0..1] (from: tFlowElement)
12522 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
12523 * - categoryValueRef : QName [0..*] (from: tFlowElement)
12524 * - name : string [0..1] (from: tFlowElement)
12525 * - documentation : tDocumentation [0..*] (from: tBaseElement)
12526 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
12527 * - id : ID [0..1] (from: tBaseElement)
12528 *
12529 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
12530 */
12531class startEvent : public tStartEvent {
12532 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
12533private:
12534 static bool registerClass() {
12535 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:startEvent"] = &createInstance<startEvent>; // register function in factory
12536 return true;
12537 };
12538 inline static bool registered = registerClass();
12539protected:
12540 startEvent(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
12541
12542public:
12543 /// default attributes to be used if they are not explicitly provided
12544 inline static const Attributes defaults = {
12545 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "isInterrupting", .value = Value(std::string("true"))},
12546 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "parallelMultiple", .value = Value(std::string("false"))}
12547 };
12548
12549};
12550
12551} // namespace XML::bpmn
12552
12553#endif // XML_bpmn_startEvent_H
12554#ifndef XML_bpmn_tSubChoreography_H
12555#define XML_bpmn_tSubChoreography_H
12556#include <memory>
12557#include <optional>
12558#include <vector>
12559
12560
12561/**
12562 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
12563 */
12564namespace XML::bpmn {
12565
12566class tFlowElement;
12567class tArtifact;
12568
12569/**
12570 * Overview:
12571 * - Element name: tSubChoreography
12572 * - XML-Schema: xsd/Semantic.xsd
12573 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
12574 *
12575 * Members:
12576 * - flowElement : tFlowElement [0..*]
12577 * - artifact : tArtifact [0..*]
12578 * - participantRef : QName [2..*] (from: tChoreographyActivity)
12579 * - correlationKey : tCorrelationKey [0..*] (from: tChoreographyActivity)
12580 * - initiatingParticipantRef : QName [1..1] (from: tChoreographyActivity)
12581 * - loopType : tChoreographyLoopType [0..1] (from: tChoreographyActivity)
12582 * - incoming : QName [0..*] (from: tFlowNode)
12583 * - outgoing : QName [0..*] (from: tFlowNode)
12584 * - auditing : tAuditing [0..1] (from: tFlowElement)
12585 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
12586 * - categoryValueRef : QName [0..*] (from: tFlowElement)
12587 * - name : string [0..1] (from: tFlowElement)
12588 * - documentation : tDocumentation [0..*] (from: tBaseElement)
12589 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
12590 * - id : ID [0..1] (from: tBaseElement)
12591 *
12592 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
12593 */
12595 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
12596private:
12597 static bool registerClass() {
12598 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tSubChoreography"] = &createInstance<tSubChoreography>; // register function in factory
12599 return true;
12600 };
12601 inline static bool registered = registerClass();
12602protected:
12603 tSubChoreography(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
12604
12605public:
12606 /// default attributes to be used if they are not explicitly provided
12607 inline static const Attributes defaults = {
12608 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "loopType", .value = Value(std::string("None"))}
12609 };
12610
12611 std::vector< std::reference_wrapper<tFlowElement> > flowElement;
12612 std::vector< std::reference_wrapper<tArtifact> > artifact;
12613};
12614
12615} // namespace XML::bpmn
12616
12617#endif // XML_bpmn_tSubChoreography_H
12618#ifndef XML_bpmn_subChoreography_H
12619#define XML_bpmn_subChoreography_H
12620#include <memory>
12621#include <optional>
12622#include <vector>
12623
12624
12625/**
12626 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
12627 */
12628namespace XML::bpmn {
12629
12630/**
12631 * Overview:
12632 * - Element name: subChoreography
12633 * - XML-Schema: xsd/Semantic.xsd
12634 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
12635 *
12636 * Members:
12637 * - flowElement : tFlowElement [0..*] (from: tSubChoreography)
12638 * - artifact : tArtifact [0..*] (from: tSubChoreography)
12639 * - participantRef : QName [2..*] (from: tChoreographyActivity)
12640 * - correlationKey : tCorrelationKey [0..*] (from: tChoreographyActivity)
12641 * - initiatingParticipantRef : QName [1..1] (from: tChoreographyActivity)
12642 * - loopType : tChoreographyLoopType [0..1] (from: tChoreographyActivity)
12643 * - incoming : QName [0..*] (from: tFlowNode)
12644 * - outgoing : QName [0..*] (from: tFlowNode)
12645 * - auditing : tAuditing [0..1] (from: tFlowElement)
12646 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
12647 * - categoryValueRef : QName [0..*] (from: tFlowElement)
12648 * - name : string [0..1] (from: tFlowElement)
12649 * - documentation : tDocumentation [0..*] (from: tBaseElement)
12650 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
12651 * - id : ID [0..1] (from: tBaseElement)
12652 *
12653 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
12654 */
12656 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
12657private:
12658 static bool registerClass() {
12659 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:subChoreography"] = &createInstance<subChoreography>; // register function in factory
12660 return true;
12661 };
12662 inline static bool registered = registerClass();
12663protected:
12664 subChoreography(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
12665
12666public:
12667 /// default attributes to be used if they are not explicitly provided
12668 inline static const Attributes defaults = {
12669 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "loopType", .value = Value(std::string("None"))}
12670 };
12671
12672};
12673
12674} // namespace XML::bpmn
12675
12676#endif // XML_bpmn_subChoreography_H
12677#ifndef XML_bpmn_tSubConversation_H
12678#define XML_bpmn_tSubConversation_H
12679#include <memory>
12680#include <optional>
12681#include <vector>
12682
12683
12684/**
12685 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
12686 */
12687namespace XML::bpmn {
12688
12689class tConversationNode;
12690
12691/**
12692 * Overview:
12693 * - Element name: tSubConversation
12694 * - XML-Schema: xsd/Semantic.xsd
12695 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
12696 *
12697 * Members:
12698 * - conversationNode : tConversationNode [0..*]
12699 * - participantRef : QName [0..*] (from: tConversationNode)
12700 * - messageFlowRef : QName [0..*] (from: tConversationNode)
12701 * - correlationKey : tCorrelationKey [0..*] (from: tConversationNode)
12702 * - name : string [0..1] (from: tConversationNode)
12703 * - documentation : tDocumentation [0..*] (from: tBaseElement)
12704 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
12705 * - id : ID [0..1] (from: tBaseElement)
12706 *
12707 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
12708 */
12710 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
12711private:
12712 static bool registerClass() {
12713 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tSubConversation"] = &createInstance<tSubConversation>; // register function in factory
12714 return true;
12715 };
12716 inline static bool registered = registerClass();
12717protected:
12718 tSubConversation(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
12719
12720public:
12721 /// default attributes to be used if they are not explicitly provided
12722 inline static const Attributes defaults = {
12723 };
12724
12725 std::vector< std::reference_wrapper<tConversationNode> > conversationNode;
12726};
12727
12728} // namespace XML::bpmn
12729
12730#endif // XML_bpmn_tSubConversation_H
12731#ifndef XML_bpmn_subConversation_H
12732#define XML_bpmn_subConversation_H
12733#include <memory>
12734#include <optional>
12735#include <vector>
12736
12737
12738/**
12739 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
12740 */
12741namespace XML::bpmn {
12742
12743/**
12744 * Overview:
12745 * - Element name: subConversation
12746 * - XML-Schema: xsd/Semantic.xsd
12747 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
12748 *
12749 * Members:
12750 * - conversationNode : tConversationNode [0..*] (from: tSubConversation)
12751 * - participantRef : QName [0..*] (from: tConversationNode)
12752 * - messageFlowRef : QName [0..*] (from: tConversationNode)
12753 * - correlationKey : tCorrelationKey [0..*] (from: tConversationNode)
12754 * - name : string [0..1] (from: tConversationNode)
12755 * - documentation : tDocumentation [0..*] (from: tBaseElement)
12756 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
12757 * - id : ID [0..1] (from: tBaseElement)
12758 *
12759 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
12760 */
12762 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
12763private:
12764 static bool registerClass() {
12765 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:subConversation"] = &createInstance<subConversation>; // register function in factory
12766 return true;
12767 };
12768 inline static bool registered = registerClass();
12769protected:
12770 subConversation(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
12771
12772public:
12773 /// default attributes to be used if they are not explicitly provided
12774 inline static const Attributes defaults = {
12775 };
12776
12777};
12778
12779} // namespace XML::bpmn
12780
12781#endif // XML_bpmn_subConversation_H
12782#ifndef XML_bpmn_tSubProcess_H
12783#define XML_bpmn_tSubProcess_H
12784#include <memory>
12785#include <optional>
12786#include <vector>
12787
12788
12789/**
12790 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
12791 */
12792namespace XML::bpmn {
12793
12794class tLaneSet;
12795class tFlowElement;
12796class tArtifact;
12797
12798/**
12799 * Overview:
12800 * - Element name: tSubProcess
12801 * - XML-Schema: xsd/Semantic.xsd
12802 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
12803 *
12804 * Members:
12805 * - laneSet : tLaneSet [0..*]
12806 * - flowElement : tFlowElement [0..*]
12807 * - artifact : tArtifact [0..*]
12808 * - triggeredByEvent : boolean [0..1]
12809 * - ioSpecification : tInputOutputSpecification [0..1] (from: tActivity)
12810 * - property : tProperty [0..*] (from: tActivity)
12811 * - dataInputAssociation : tDataInputAssociation [0..*] (from: tActivity)
12812 * - dataOutputAssociation : tDataOutputAssociation [0..*] (from: tActivity)
12813 * - resourceRole : tResourceRole [0..*] (from: tActivity)
12814 * - loopCharacteristics : tLoopCharacteristics [0..*] (from: tActivity)
12815 * - isForCompensation : boolean [0..1] (from: tActivity)
12816 * - startQuantity : integer [0..1] (from: tActivity)
12817 * - completionQuantity : integer [0..1] (from: tActivity)
12818 * - default : IDREF [0..1] (from: tActivity)
12819 * - incoming : QName [0..*] (from: tFlowNode)
12820 * - outgoing : QName [0..*] (from: tFlowNode)
12821 * - auditing : tAuditing [0..1] (from: tFlowElement)
12822 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
12823 * - categoryValueRef : QName [0..*] (from: tFlowElement)
12824 * - name : string [0..1] (from: tFlowElement)
12825 * - documentation : tDocumentation [0..*] (from: tBaseElement)
12826 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
12827 * - id : ID [0..1] (from: tBaseElement)
12828 *
12829 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
12830 */
12831class tSubProcess : public tActivity {
12832 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
12833private:
12834 static bool registerClass() {
12835 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tSubProcess"] = &createInstance<tSubProcess>; // register function in factory
12836 return true;
12837 };
12838 inline static bool registered = registerClass();
12839protected:
12840 tSubProcess(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
12841
12842public:
12843 /// default attributes to be used if they are not explicitly provided
12844 inline static const Attributes defaults = {
12845 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "triggeredByEvent", .value = Value(std::string("false"))},
12846 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "isForCompensation", .value = Value(std::string("false"))},
12847 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "startQuantity", .value = Value(std::string("1"))},
12848 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "completionQuantity", .value = Value(std::string("1"))}
12849 };
12850
12851 std::vector< std::reference_wrapper<tLaneSet> > laneSet;
12852 std::vector< std::reference_wrapper<tFlowElement> > flowElement;
12853 std::vector< std::reference_wrapper<tArtifact> > artifact;
12854 std::optional< std::reference_wrapper<Attribute> > triggeredByEvent; ///< Attribute value can be expected to be of type 'bool'
12855};
12856
12857} // namespace XML::bpmn
12858
12859#endif // XML_bpmn_tSubProcess_H
12860#ifndef XML_bpmn_subProcess_H
12861#define XML_bpmn_subProcess_H
12862#include <memory>
12863#include <optional>
12864#include <vector>
12865
12866
12867/**
12868 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
12869 */
12870namespace XML::bpmn {
12871
12872/**
12873 * Overview:
12874 * - Element name: subProcess
12875 * - XML-Schema: xsd/Semantic.xsd
12876 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
12877 *
12878 * Members:
12879 * - laneSet : tLaneSet [0..*] (from: tSubProcess)
12880 * - flowElement : tFlowElement [0..*] (from: tSubProcess)
12881 * - artifact : tArtifact [0..*] (from: tSubProcess)
12882 * - triggeredByEvent : boolean [0..1] (from: tSubProcess)
12883 * - ioSpecification : tInputOutputSpecification [0..1] (from: tActivity)
12884 * - property : tProperty [0..*] (from: tActivity)
12885 * - dataInputAssociation : tDataInputAssociation [0..*] (from: tActivity)
12886 * - dataOutputAssociation : tDataOutputAssociation [0..*] (from: tActivity)
12887 * - resourceRole : tResourceRole [0..*] (from: tActivity)
12888 * - loopCharacteristics : tLoopCharacteristics [0..*] (from: tActivity)
12889 * - isForCompensation : boolean [0..1] (from: tActivity)
12890 * - startQuantity : integer [0..1] (from: tActivity)
12891 * - completionQuantity : integer [0..1] (from: tActivity)
12892 * - default : IDREF [0..1] (from: tActivity)
12893 * - incoming : QName [0..*] (from: tFlowNode)
12894 * - outgoing : QName [0..*] (from: tFlowNode)
12895 * - auditing : tAuditing [0..1] (from: tFlowElement)
12896 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
12897 * - categoryValueRef : QName [0..*] (from: tFlowElement)
12898 * - name : string [0..1] (from: tFlowElement)
12899 * - documentation : tDocumentation [0..*] (from: tBaseElement)
12900 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
12901 * - id : ID [0..1] (from: tBaseElement)
12902 *
12903 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
12904 */
12905class subProcess : public tSubProcess {
12906 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
12907private:
12908 static bool registerClass() {
12909 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:subProcess"] = &createInstance<subProcess>; // register function in factory
12910 return true;
12911 };
12912 inline static bool registered = registerClass();
12913protected:
12914 subProcess(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
12915
12916public:
12917 /// default attributes to be used if they are not explicitly provided
12918 inline static const Attributes defaults = {
12919 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "triggeredByEvent", .value = Value(std::string("false"))},
12920 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "isForCompensation", .value = Value(std::string("false"))},
12921 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "startQuantity", .value = Value(std::string("1"))},
12922 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "completionQuantity", .value = Value(std::string("1"))}
12923 };
12924
12925};
12926
12927} // namespace XML::bpmn
12928
12929#endif // XML_bpmn_subProcess_H
12930#ifndef XML_bpmn_tAdHocSubProcess_H
12931#define XML_bpmn_tAdHocSubProcess_H
12932#include <memory>
12933#include <optional>
12934#include <vector>
12935
12936
12937/**
12938 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
12939 */
12940namespace XML::bpmn {
12941
12942class tExpression;
12943class tAdHocOrdering;
12944
12945/**
12946 * Overview:
12947 * - Element name: tAdHocSubProcess
12948 * - XML-Schema: xsd/Semantic.xsd
12949 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
12950 *
12951 * Members:
12952 * - completionCondition : tExpression [0..1]
12953 * - cancelRemainingInstances : boolean [0..1]
12954 * - ordering : tAdHocOrdering [0..1]
12955 * - laneSet : tLaneSet [0..*] (from: tSubProcess)
12956 * - flowElement : tFlowElement [0..*] (from: tSubProcess)
12957 * - artifact : tArtifact [0..*] (from: tSubProcess)
12958 * - triggeredByEvent : boolean [0..1] (from: tSubProcess)
12959 * - ioSpecification : tInputOutputSpecification [0..1] (from: tActivity)
12960 * - property : tProperty [0..*] (from: tActivity)
12961 * - dataInputAssociation : tDataInputAssociation [0..*] (from: tActivity)
12962 * - dataOutputAssociation : tDataOutputAssociation [0..*] (from: tActivity)
12963 * - resourceRole : tResourceRole [0..*] (from: tActivity)
12964 * - loopCharacteristics : tLoopCharacteristics [0..*] (from: tActivity)
12965 * - isForCompensation : boolean [0..1] (from: tActivity)
12966 * - startQuantity : integer [0..1] (from: tActivity)
12967 * - completionQuantity : integer [0..1] (from: tActivity)
12968 * - default : IDREF [0..1] (from: tActivity)
12969 * - incoming : QName [0..*] (from: tFlowNode)
12970 * - outgoing : QName [0..*] (from: tFlowNode)
12971 * - auditing : tAuditing [0..1] (from: tFlowElement)
12972 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
12973 * - categoryValueRef : QName [0..*] (from: tFlowElement)
12974 * - name : string [0..1] (from: tFlowElement)
12975 * - documentation : tDocumentation [0..*] (from: tBaseElement)
12976 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
12977 * - id : ID [0..1] (from: tBaseElement)
12978 *
12979 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
12980 */
12982 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
12983private:
12984 static bool registerClass() {
12985 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tAdHocSubProcess"] = &createInstance<tAdHocSubProcess>; // register function in factory
12986 return true;
12987 };
12988 inline static bool registered = registerClass();
12989protected:
12990 tAdHocSubProcess(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
12991
12992public:
12993 /// default attributes to be used if they are not explicitly provided
12994 inline static const Attributes defaults = {
12995 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "cancelRemainingInstances", .value = Value(std::string("true"))},
12996 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "triggeredByEvent", .value = Value(std::string("false"))},
12997 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "isForCompensation", .value = Value(std::string("false"))},
12998 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "startQuantity", .value = Value(std::string("1"))},
12999 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "completionQuantity", .value = Value(std::string("1"))}
13000 };
13001
13002 std::optional< std::reference_wrapper<tExpression> > completionCondition;
13003 std::optional< std::reference_wrapper<Attribute> > cancelRemainingInstances; ///< Attribute value can be expected to be of type 'bool'
13004 std::optional< std::reference_wrapper<Attribute> > ordering; ///< Attribute value can be expected to be of type 'std::string'
13005};
13006
13007} // namespace XML::bpmn
13008
13009#endif // XML_bpmn_tAdHocSubProcess_H
13010#ifndef XML_bpmn_adHocSubProcess_H
13011#define XML_bpmn_adHocSubProcess_H
13012#include <memory>
13013#include <optional>
13014#include <vector>
13015
13016
13017/**
13018 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
13019 */
13020namespace XML::bpmn {
13021
13022/**
13023 * Overview:
13024 * - Element name: adHocSubProcess
13025 * - XML-Schema: xsd/Semantic.xsd
13026 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
13027 *
13028 * Members:
13029 * - completionCondition : tExpression [0..1] (from: tAdHocSubProcess)
13030 * - cancelRemainingInstances : boolean [0..1] (from: tAdHocSubProcess)
13031 * - ordering : tAdHocOrdering [0..1] (from: tAdHocSubProcess)
13032 * - laneSet : tLaneSet [0..*] (from: tSubProcess)
13033 * - flowElement : tFlowElement [0..*] (from: tSubProcess)
13034 * - artifact : tArtifact [0..*] (from: tSubProcess)
13035 * - triggeredByEvent : boolean [0..1] (from: tSubProcess)
13036 * - ioSpecification : tInputOutputSpecification [0..1] (from: tActivity)
13037 * - property : tProperty [0..*] (from: tActivity)
13038 * - dataInputAssociation : tDataInputAssociation [0..*] (from: tActivity)
13039 * - dataOutputAssociation : tDataOutputAssociation [0..*] (from: tActivity)
13040 * - resourceRole : tResourceRole [0..*] (from: tActivity)
13041 * - loopCharacteristics : tLoopCharacteristics [0..*] (from: tActivity)
13042 * - isForCompensation : boolean [0..1] (from: tActivity)
13043 * - startQuantity : integer [0..1] (from: tActivity)
13044 * - completionQuantity : integer [0..1] (from: tActivity)
13045 * - default : IDREF [0..1] (from: tActivity)
13046 * - incoming : QName [0..*] (from: tFlowNode)
13047 * - outgoing : QName [0..*] (from: tFlowNode)
13048 * - auditing : tAuditing [0..1] (from: tFlowElement)
13049 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
13050 * - categoryValueRef : QName [0..*] (from: tFlowElement)
13051 * - name : string [0..1] (from: tFlowElement)
13052 * - documentation : tDocumentation [0..*] (from: tBaseElement)
13053 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
13054 * - id : ID [0..1] (from: tBaseElement)
13055 *
13056 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
13057 */
13059 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
13060private:
13061 static bool registerClass() {
13062 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:adHocSubProcess"] = &createInstance<adHocSubProcess>; // register function in factory
13063 return true;
13064 };
13065 inline static bool registered = registerClass();
13066protected:
13067 adHocSubProcess(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
13068
13069public:
13070 /// default attributes to be used if they are not explicitly provided
13071 inline static const Attributes defaults = {
13072 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "cancelRemainingInstances", .value = Value(std::string("true"))},
13073 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "triggeredByEvent", .value = Value(std::string("false"))},
13074 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "isForCompensation", .value = Value(std::string("false"))},
13075 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "startQuantity", .value = Value(std::string("1"))},
13076 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "completionQuantity", .value = Value(std::string("1"))}
13077 };
13078
13079};
13080
13081} // namespace XML::bpmn
13082
13083#endif // XML_bpmn_adHocSubProcess_H
13084#ifndef XML_bpmn_tTask_H
13085#define XML_bpmn_tTask_H
13086#include <memory>
13087#include <optional>
13088#include <vector>
13089
13090
13091/**
13092 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
13093 */
13094namespace XML::bpmn {
13095
13096/**
13097 * Overview:
13098 * - Element name: tTask
13099 * - XML-Schema: xsd/Semantic.xsd
13100 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
13101 *
13102 * Members:
13103 * - ioSpecification : tInputOutputSpecification [0..1] (from: tActivity)
13104 * - property : tProperty [0..*] (from: tActivity)
13105 * - dataInputAssociation : tDataInputAssociation [0..*] (from: tActivity)
13106 * - dataOutputAssociation : tDataOutputAssociation [0..*] (from: tActivity)
13107 * - resourceRole : tResourceRole [0..*] (from: tActivity)
13108 * - loopCharacteristics : tLoopCharacteristics [0..*] (from: tActivity)
13109 * - isForCompensation : boolean [0..1] (from: tActivity)
13110 * - startQuantity : integer [0..1] (from: tActivity)
13111 * - completionQuantity : integer [0..1] (from: tActivity)
13112 * - default : IDREF [0..1] (from: tActivity)
13113 * - incoming : QName [0..*] (from: tFlowNode)
13114 * - outgoing : QName [0..*] (from: tFlowNode)
13115 * - auditing : tAuditing [0..1] (from: tFlowElement)
13116 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
13117 * - categoryValueRef : QName [0..*] (from: tFlowElement)
13118 * - name : string [0..1] (from: tFlowElement)
13119 * - documentation : tDocumentation [0..*] (from: tBaseElement)
13120 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
13121 * - id : ID [0..1] (from: tBaseElement)
13122 *
13123 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
13124 */
13125class tTask : public tActivity {
13126 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
13127private:
13128 static bool registerClass() {
13129 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tTask"] = &createInstance<tTask>; // register function in factory
13130 return true;
13131 };
13132 inline static bool registered = registerClass();
13133protected:
13134 tTask(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
13135
13136public:
13137 /// default attributes to be used if they are not explicitly provided
13138 inline static const Attributes defaults = {
13139 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "isForCompensation", .value = Value(std::string("false"))},
13140 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "startQuantity", .value = Value(std::string("1"))},
13141 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "completionQuantity", .value = Value(std::string("1"))}
13142 };
13143
13144};
13145
13146} // namespace XML::bpmn
13147
13148#endif // XML_bpmn_tTask_H
13149#ifndef XML_bpmn_tBusinessRuleTask_H
13150#define XML_bpmn_tBusinessRuleTask_H
13151#include <memory>
13152#include <optional>
13153#include <vector>
13154
13155
13156/**
13157 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
13158 */
13159namespace XML::bpmn {
13160
13161class tImplementation;
13162
13163/**
13164 * Overview:
13165 * - Element name: tBusinessRuleTask
13166 * - XML-Schema: xsd/Semantic.xsd
13167 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
13168 *
13169 * Members:
13170 * - implementation : tImplementation [0..1]
13171 * - ioSpecification : tInputOutputSpecification [0..1] (from: tActivity)
13172 * - property : tProperty [0..*] (from: tActivity)
13173 * - dataInputAssociation : tDataInputAssociation [0..*] (from: tActivity)
13174 * - dataOutputAssociation : tDataOutputAssociation [0..*] (from: tActivity)
13175 * - resourceRole : tResourceRole [0..*] (from: tActivity)
13176 * - loopCharacteristics : tLoopCharacteristics [0..*] (from: tActivity)
13177 * - isForCompensation : boolean [0..1] (from: tActivity)
13178 * - startQuantity : integer [0..1] (from: tActivity)
13179 * - completionQuantity : integer [0..1] (from: tActivity)
13180 * - default : IDREF [0..1] (from: tActivity)
13181 * - incoming : QName [0..*] (from: tFlowNode)
13182 * - outgoing : QName [0..*] (from: tFlowNode)
13183 * - auditing : tAuditing [0..1] (from: tFlowElement)
13184 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
13185 * - categoryValueRef : QName [0..*] (from: tFlowElement)
13186 * - name : string [0..1] (from: tFlowElement)
13187 * - documentation : tDocumentation [0..*] (from: tBaseElement)
13188 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
13189 * - id : ID [0..1] (from: tBaseElement)
13190 *
13191 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
13192 */
13193class tBusinessRuleTask : public tTask {
13194 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
13195private:
13196 static bool registerClass() {
13197 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tBusinessRuleTask"] = &createInstance<tBusinessRuleTask>; // register function in factory
13198 return true;
13199 };
13200 inline static bool registered = registerClass();
13201protected:
13202 tBusinessRuleTask(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
13203
13204public:
13205 /// default attributes to be used if they are not explicitly provided
13206 inline static const Attributes defaults = {
13207 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "implementation", .value = Value(std::string("##unspecified"))},
13208 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "isForCompensation", .value = Value(std::string("false"))},
13209 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "startQuantity", .value = Value(std::string("1"))},
13210 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "completionQuantity", .value = Value(std::string("1"))}
13211 };
13212
13213 std::optional< std::reference_wrapper<Attribute> > implementation; ///< Attribute value can be expected to be of type 'std::string'
13214};
13215
13216} // namespace XML::bpmn
13217
13218#endif // XML_bpmn_tBusinessRuleTask_H
13219#ifndef XML_bpmn_businessRuleTask_H
13220#define XML_bpmn_businessRuleTask_H
13221#include <memory>
13222#include <optional>
13223#include <vector>
13224
13225
13226/**
13227 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
13228 */
13229namespace XML::bpmn {
13230
13231/**
13232 * Overview:
13233 * - Element name: businessRuleTask
13234 * - XML-Schema: xsd/Semantic.xsd
13235 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
13236 *
13237 * Members:
13238 * - implementation : tImplementation [0..1] (from: tBusinessRuleTask)
13239 * - ioSpecification : tInputOutputSpecification [0..1] (from: tActivity)
13240 * - property : tProperty [0..*] (from: tActivity)
13241 * - dataInputAssociation : tDataInputAssociation [0..*] (from: tActivity)
13242 * - dataOutputAssociation : tDataOutputAssociation [0..*] (from: tActivity)
13243 * - resourceRole : tResourceRole [0..*] (from: tActivity)
13244 * - loopCharacteristics : tLoopCharacteristics [0..*] (from: tActivity)
13245 * - isForCompensation : boolean [0..1] (from: tActivity)
13246 * - startQuantity : integer [0..1] (from: tActivity)
13247 * - completionQuantity : integer [0..1] (from: tActivity)
13248 * - default : IDREF [0..1] (from: tActivity)
13249 * - incoming : QName [0..*] (from: tFlowNode)
13250 * - outgoing : QName [0..*] (from: tFlowNode)
13251 * - auditing : tAuditing [0..1] (from: tFlowElement)
13252 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
13253 * - categoryValueRef : QName [0..*] (from: tFlowElement)
13254 * - name : string [0..1] (from: tFlowElement)
13255 * - documentation : tDocumentation [0..*] (from: tBaseElement)
13256 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
13257 * - id : ID [0..1] (from: tBaseElement)
13258 *
13259 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
13260 */
13262 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
13263private:
13264 static bool registerClass() {
13265 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:businessRuleTask"] = &createInstance<businessRuleTask>; // register function in factory
13266 return true;
13267 };
13268 inline static bool registered = registerClass();
13269protected:
13270 businessRuleTask(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
13271
13272public:
13273 /// default attributes to be used if they are not explicitly provided
13274 inline static const Attributes defaults = {
13275 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "implementation", .value = Value(std::string("##unspecified"))},
13276 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "isForCompensation", .value = Value(std::string("false"))},
13277 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "startQuantity", .value = Value(std::string("1"))},
13278 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "completionQuantity", .value = Value(std::string("1"))}
13279 };
13280
13281};
13282
13283} // namespace XML::bpmn
13284
13285#endif // XML_bpmn_businessRuleTask_H
13286#ifndef XML_bpmn_tManualTask_H
13287#define XML_bpmn_tManualTask_H
13288#include <memory>
13289#include <optional>
13290#include <vector>
13291
13292
13293/**
13294 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
13295 */
13296namespace XML::bpmn {
13297
13298/**
13299 * Overview:
13300 * - Element name: tManualTask
13301 * - XML-Schema: xsd/Semantic.xsd
13302 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
13303 *
13304 * Members:
13305 * - ioSpecification : tInputOutputSpecification [0..1] (from: tActivity)
13306 * - property : tProperty [0..*] (from: tActivity)
13307 * - dataInputAssociation : tDataInputAssociation [0..*] (from: tActivity)
13308 * - dataOutputAssociation : tDataOutputAssociation [0..*] (from: tActivity)
13309 * - resourceRole : tResourceRole [0..*] (from: tActivity)
13310 * - loopCharacteristics : tLoopCharacteristics [0..*] (from: tActivity)
13311 * - isForCompensation : boolean [0..1] (from: tActivity)
13312 * - startQuantity : integer [0..1] (from: tActivity)
13313 * - completionQuantity : integer [0..1] (from: tActivity)
13314 * - default : IDREF [0..1] (from: tActivity)
13315 * - incoming : QName [0..*] (from: tFlowNode)
13316 * - outgoing : QName [0..*] (from: tFlowNode)
13317 * - auditing : tAuditing [0..1] (from: tFlowElement)
13318 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
13319 * - categoryValueRef : QName [0..*] (from: tFlowElement)
13320 * - name : string [0..1] (from: tFlowElement)
13321 * - documentation : tDocumentation [0..*] (from: tBaseElement)
13322 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
13323 * - id : ID [0..1] (from: tBaseElement)
13324 *
13325 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
13326 */
13327class tManualTask : public tTask {
13328 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
13329private:
13330 static bool registerClass() {
13331 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tManualTask"] = &createInstance<tManualTask>; // register function in factory
13332 return true;
13333 };
13334 inline static bool registered = registerClass();
13335protected:
13336 tManualTask(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
13337
13338public:
13339 /// default attributes to be used if they are not explicitly provided
13340 inline static const Attributes defaults = {
13341 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "isForCompensation", .value = Value(std::string("false"))},
13342 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "startQuantity", .value = Value(std::string("1"))},
13343 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "completionQuantity", .value = Value(std::string("1"))}
13344 };
13345
13346};
13347
13348} // namespace XML::bpmn
13349
13350#endif // XML_bpmn_tManualTask_H
13351#ifndef XML_bpmn_manualTask_H
13352#define XML_bpmn_manualTask_H
13353#include <memory>
13354#include <optional>
13355#include <vector>
13356
13357
13358/**
13359 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
13360 */
13361namespace XML::bpmn {
13362
13363/**
13364 * Overview:
13365 * - Element name: manualTask
13366 * - XML-Schema: xsd/Semantic.xsd
13367 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
13368 *
13369 * Members:
13370 * - ioSpecification : tInputOutputSpecification [0..1] (from: tActivity)
13371 * - property : tProperty [0..*] (from: tActivity)
13372 * - dataInputAssociation : tDataInputAssociation [0..*] (from: tActivity)
13373 * - dataOutputAssociation : tDataOutputAssociation [0..*] (from: tActivity)
13374 * - resourceRole : tResourceRole [0..*] (from: tActivity)
13375 * - loopCharacteristics : tLoopCharacteristics [0..*] (from: tActivity)
13376 * - isForCompensation : boolean [0..1] (from: tActivity)
13377 * - startQuantity : integer [0..1] (from: tActivity)
13378 * - completionQuantity : integer [0..1] (from: tActivity)
13379 * - default : IDREF [0..1] (from: tActivity)
13380 * - incoming : QName [0..*] (from: tFlowNode)
13381 * - outgoing : QName [0..*] (from: tFlowNode)
13382 * - auditing : tAuditing [0..1] (from: tFlowElement)
13383 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
13384 * - categoryValueRef : QName [0..*] (from: tFlowElement)
13385 * - name : string [0..1] (from: tFlowElement)
13386 * - documentation : tDocumentation [0..*] (from: tBaseElement)
13387 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
13388 * - id : ID [0..1] (from: tBaseElement)
13389 *
13390 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
13391 */
13392class manualTask : public tManualTask {
13393 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
13394private:
13395 static bool registerClass() {
13396 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:manualTask"] = &createInstance<manualTask>; // register function in factory
13397 return true;
13398 };
13399 inline static bool registered = registerClass();
13400protected:
13401 manualTask(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
13402
13403public:
13404 /// default attributes to be used if they are not explicitly provided
13405 inline static const Attributes defaults = {
13406 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "isForCompensation", .value = Value(std::string("false"))},
13407 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "startQuantity", .value = Value(std::string("1"))},
13408 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "completionQuantity", .value = Value(std::string("1"))}
13409 };
13410
13411};
13412
13413} // namespace XML::bpmn
13414
13415#endif // XML_bpmn_manualTask_H
13416#ifndef XML_bpmn_tReceiveTask_H
13417#define XML_bpmn_tReceiveTask_H
13418#include <memory>
13419#include <optional>
13420#include <vector>
13421
13422
13423/**
13424 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
13425 */
13426namespace XML::bpmn {
13427
13428class tImplementation;
13429
13430/**
13431 * Overview:
13432 * - Element name: tReceiveTask
13433 * - XML-Schema: xsd/Semantic.xsd
13434 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
13435 *
13436 * Members:
13437 * - implementation : tImplementation [0..1]
13438 * - instantiate : boolean [0..1]
13439 * - messageRef : QName [0..1]
13440 * - operationRef : QName [0..1]
13441 * - ioSpecification : tInputOutputSpecification [0..1] (from: tActivity)
13442 * - property : tProperty [0..*] (from: tActivity)
13443 * - dataInputAssociation : tDataInputAssociation [0..*] (from: tActivity)
13444 * - dataOutputAssociation : tDataOutputAssociation [0..*] (from: tActivity)
13445 * - resourceRole : tResourceRole [0..*] (from: tActivity)
13446 * - loopCharacteristics : tLoopCharacteristics [0..*] (from: tActivity)
13447 * - isForCompensation : boolean [0..1] (from: tActivity)
13448 * - startQuantity : integer [0..1] (from: tActivity)
13449 * - completionQuantity : integer [0..1] (from: tActivity)
13450 * - default : IDREF [0..1] (from: tActivity)
13451 * - incoming : QName [0..*] (from: tFlowNode)
13452 * - outgoing : QName [0..*] (from: tFlowNode)
13453 * - auditing : tAuditing [0..1] (from: tFlowElement)
13454 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
13455 * - categoryValueRef : QName [0..*] (from: tFlowElement)
13456 * - name : string [0..1] (from: tFlowElement)
13457 * - documentation : tDocumentation [0..*] (from: tBaseElement)
13458 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
13459 * - id : ID [0..1] (from: tBaseElement)
13460 *
13461 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
13462 */
13463class tReceiveTask : public tTask {
13464 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
13465private:
13466 static bool registerClass() {
13467 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tReceiveTask"] = &createInstance<tReceiveTask>; // register function in factory
13468 return true;
13469 };
13470 inline static bool registered = registerClass();
13471protected:
13472 tReceiveTask(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
13473
13474public:
13475 /// default attributes to be used if they are not explicitly provided
13476 inline static const Attributes defaults = {
13477 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "implementation", .value = Value(std::string("##WebService"))},
13478 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "instantiate", .value = Value(std::string("false"))},
13479 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "isForCompensation", .value = Value(std::string("false"))},
13480 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "startQuantity", .value = Value(std::string("1"))},
13481 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "completionQuantity", .value = Value(std::string("1"))}
13482 };
13483
13484 std::optional< std::reference_wrapper<Attribute> > implementation; ///< Attribute value can be expected to be of type 'std::string'
13485 std::optional< std::reference_wrapper<Attribute> > instantiate; ///< Attribute value can be expected to be of type 'bool'
13486 std::optional< std::reference_wrapper<Attribute> > messageRef; ///< Attribute value can be expected to be of type 'std::string'
13487 std::optional< std::reference_wrapper<Attribute> > operationRef; ///< Attribute value can be expected to be of type 'std::string'
13488};
13489
13490} // namespace XML::bpmn
13491
13492#endif // XML_bpmn_tReceiveTask_H
13493#ifndef XML_bpmn_receiveTask_H
13494#define XML_bpmn_receiveTask_H
13495#include <memory>
13496#include <optional>
13497#include <vector>
13498
13499
13500/**
13501 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
13502 */
13503namespace XML::bpmn {
13504
13505/**
13506 * Overview:
13507 * - Element name: receiveTask
13508 * - XML-Schema: xsd/Semantic.xsd
13509 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
13510 *
13511 * Members:
13512 * - implementation : tImplementation [0..1] (from: tReceiveTask)
13513 * - instantiate : boolean [0..1] (from: tReceiveTask)
13514 * - messageRef : QName [0..1] (from: tReceiveTask)
13515 * - operationRef : QName [0..1] (from: tReceiveTask)
13516 * - ioSpecification : tInputOutputSpecification [0..1] (from: tActivity)
13517 * - property : tProperty [0..*] (from: tActivity)
13518 * - dataInputAssociation : tDataInputAssociation [0..*] (from: tActivity)
13519 * - dataOutputAssociation : tDataOutputAssociation [0..*] (from: tActivity)
13520 * - resourceRole : tResourceRole [0..*] (from: tActivity)
13521 * - loopCharacteristics : tLoopCharacteristics [0..*] (from: tActivity)
13522 * - isForCompensation : boolean [0..1] (from: tActivity)
13523 * - startQuantity : integer [0..1] (from: tActivity)
13524 * - completionQuantity : integer [0..1] (from: tActivity)
13525 * - default : IDREF [0..1] (from: tActivity)
13526 * - incoming : QName [0..*] (from: tFlowNode)
13527 * - outgoing : QName [0..*] (from: tFlowNode)
13528 * - auditing : tAuditing [0..1] (from: tFlowElement)
13529 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
13530 * - categoryValueRef : QName [0..*] (from: tFlowElement)
13531 * - name : string [0..1] (from: tFlowElement)
13532 * - documentation : tDocumentation [0..*] (from: tBaseElement)
13533 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
13534 * - id : ID [0..1] (from: tBaseElement)
13535 *
13536 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
13537 */
13539 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
13540private:
13541 static bool registerClass() {
13542 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:receiveTask"] = &createInstance<receiveTask>; // register function in factory
13543 return true;
13544 };
13545 inline static bool registered = registerClass();
13546protected:
13547 receiveTask(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
13548
13549public:
13550 /// default attributes to be used if they are not explicitly provided
13551 inline static const Attributes defaults = {
13552 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "implementation", .value = Value(std::string("##WebService"))},
13553 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "instantiate", .value = Value(std::string("false"))},
13554 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "isForCompensation", .value = Value(std::string("false"))},
13555 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "startQuantity", .value = Value(std::string("1"))},
13556 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "completionQuantity", .value = Value(std::string("1"))}
13557 };
13558
13559};
13560
13561} // namespace XML::bpmn
13562
13563#endif // XML_bpmn_receiveTask_H
13564#ifndef XML_bpmn_tScriptTask_H
13565#define XML_bpmn_tScriptTask_H
13566#include <memory>
13567#include <optional>
13568#include <vector>
13569
13570
13571/**
13572 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
13573 */
13574namespace XML::bpmn {
13575
13576class tScript;
13577
13578/**
13579 * Overview:
13580 * - Element name: tScriptTask
13581 * - XML-Schema: xsd/Semantic.xsd
13582 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
13583 *
13584 * Members:
13585 * - script : tScript [0..1]
13586 * - scriptFormat : string [0..1]
13587 * - ioSpecification : tInputOutputSpecification [0..1] (from: tActivity)
13588 * - property : tProperty [0..*] (from: tActivity)
13589 * - dataInputAssociation : tDataInputAssociation [0..*] (from: tActivity)
13590 * - dataOutputAssociation : tDataOutputAssociation [0..*] (from: tActivity)
13591 * - resourceRole : tResourceRole [0..*] (from: tActivity)
13592 * - loopCharacteristics : tLoopCharacteristics [0..*] (from: tActivity)
13593 * - isForCompensation : boolean [0..1] (from: tActivity)
13594 * - startQuantity : integer [0..1] (from: tActivity)
13595 * - completionQuantity : integer [0..1] (from: tActivity)
13596 * - default : IDREF [0..1] (from: tActivity)
13597 * - incoming : QName [0..*] (from: tFlowNode)
13598 * - outgoing : QName [0..*] (from: tFlowNode)
13599 * - auditing : tAuditing [0..1] (from: tFlowElement)
13600 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
13601 * - categoryValueRef : QName [0..*] (from: tFlowElement)
13602 * - name : string [0..1] (from: tFlowElement)
13603 * - documentation : tDocumentation [0..*] (from: tBaseElement)
13604 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
13605 * - id : ID [0..1] (from: tBaseElement)
13606 *
13607 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
13608 */
13609class tScriptTask : public tTask {
13610 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
13611private:
13612 static bool registerClass() {
13613 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tScriptTask"] = &createInstance<tScriptTask>; // register function in factory
13614 return true;
13615 };
13616 inline static bool registered = registerClass();
13617protected:
13618 tScriptTask(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
13619
13620public:
13621 /// default attributes to be used if they are not explicitly provided
13622 inline static const Attributes defaults = {
13623 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "isForCompensation", .value = Value(std::string("false"))},
13624 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "startQuantity", .value = Value(std::string("1"))},
13625 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "completionQuantity", .value = Value(std::string("1"))}
13626 };
13627
13628 std::optional< std::reference_wrapper<tScript> > script;
13629 std::optional< std::reference_wrapper<Attribute> > scriptFormat; ///< Attribute value can be expected to be of type 'std::string'
13630};
13631
13632} // namespace XML::bpmn
13633
13634#endif // XML_bpmn_tScriptTask_H
13635#ifndef XML_bpmn_scriptTask_H
13636#define XML_bpmn_scriptTask_H
13637#include <memory>
13638#include <optional>
13639#include <vector>
13640
13641
13642/**
13643 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
13644 */
13645namespace XML::bpmn {
13646
13647/**
13648 * Overview:
13649 * - Element name: scriptTask
13650 * - XML-Schema: xsd/Semantic.xsd
13651 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
13652 *
13653 * Members:
13654 * - script : tScript [0..1] (from: tScriptTask)
13655 * - scriptFormat : string [0..1] (from: tScriptTask)
13656 * - ioSpecification : tInputOutputSpecification [0..1] (from: tActivity)
13657 * - property : tProperty [0..*] (from: tActivity)
13658 * - dataInputAssociation : tDataInputAssociation [0..*] (from: tActivity)
13659 * - dataOutputAssociation : tDataOutputAssociation [0..*] (from: tActivity)
13660 * - resourceRole : tResourceRole [0..*] (from: tActivity)
13661 * - loopCharacteristics : tLoopCharacteristics [0..*] (from: tActivity)
13662 * - isForCompensation : boolean [0..1] (from: tActivity)
13663 * - startQuantity : integer [0..1] (from: tActivity)
13664 * - completionQuantity : integer [0..1] (from: tActivity)
13665 * - default : IDREF [0..1] (from: tActivity)
13666 * - incoming : QName [0..*] (from: tFlowNode)
13667 * - outgoing : QName [0..*] (from: tFlowNode)
13668 * - auditing : tAuditing [0..1] (from: tFlowElement)
13669 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
13670 * - categoryValueRef : QName [0..*] (from: tFlowElement)
13671 * - name : string [0..1] (from: tFlowElement)
13672 * - documentation : tDocumentation [0..*] (from: tBaseElement)
13673 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
13674 * - id : ID [0..1] (from: tBaseElement)
13675 *
13676 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
13677 */
13678class scriptTask : public tScriptTask {
13679 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
13680private:
13681 static bool registerClass() {
13682 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:scriptTask"] = &createInstance<scriptTask>; // register function in factory
13683 return true;
13684 };
13685 inline static bool registered = registerClass();
13686protected:
13687 scriptTask(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
13688
13689public:
13690 /// default attributes to be used if they are not explicitly provided
13691 inline static const Attributes defaults = {
13692 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "isForCompensation", .value = Value(std::string("false"))},
13693 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "startQuantity", .value = Value(std::string("1"))},
13694 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "completionQuantity", .value = Value(std::string("1"))}
13695 };
13696
13697};
13698
13699} // namespace XML::bpmn
13700
13701#endif // XML_bpmn_scriptTask_H
13702#ifndef XML_bpmn_tSendTask_H
13703#define XML_bpmn_tSendTask_H
13704#include <memory>
13705#include <optional>
13706#include <vector>
13707
13708
13709/**
13710 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
13711 */
13712namespace XML::bpmn {
13713
13714class tImplementation;
13715
13716/**
13717 * Overview:
13718 * - Element name: tSendTask
13719 * - XML-Schema: xsd/Semantic.xsd
13720 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
13721 *
13722 * Members:
13723 * - implementation : tImplementation [0..1]
13724 * - messageRef : QName [0..1]
13725 * - operationRef : QName [0..1]
13726 * - ioSpecification : tInputOutputSpecification [0..1] (from: tActivity)
13727 * - property : tProperty [0..*] (from: tActivity)
13728 * - dataInputAssociation : tDataInputAssociation [0..*] (from: tActivity)
13729 * - dataOutputAssociation : tDataOutputAssociation [0..*] (from: tActivity)
13730 * - resourceRole : tResourceRole [0..*] (from: tActivity)
13731 * - loopCharacteristics : tLoopCharacteristics [0..*] (from: tActivity)
13732 * - isForCompensation : boolean [0..1] (from: tActivity)
13733 * - startQuantity : integer [0..1] (from: tActivity)
13734 * - completionQuantity : integer [0..1] (from: tActivity)
13735 * - default : IDREF [0..1] (from: tActivity)
13736 * - incoming : QName [0..*] (from: tFlowNode)
13737 * - outgoing : QName [0..*] (from: tFlowNode)
13738 * - auditing : tAuditing [0..1] (from: tFlowElement)
13739 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
13740 * - categoryValueRef : QName [0..*] (from: tFlowElement)
13741 * - name : string [0..1] (from: tFlowElement)
13742 * - documentation : tDocumentation [0..*] (from: tBaseElement)
13743 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
13744 * - id : ID [0..1] (from: tBaseElement)
13745 *
13746 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
13747 */
13748class tSendTask : public tTask {
13749 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
13750private:
13751 static bool registerClass() {
13752 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tSendTask"] = &createInstance<tSendTask>; // register function in factory
13753 return true;
13754 };
13755 inline static bool registered = registerClass();
13756protected:
13757 tSendTask(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
13758
13759public:
13760 /// default attributes to be used if they are not explicitly provided
13761 inline static const Attributes defaults = {
13762 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "implementation", .value = Value(std::string("##WebService"))},
13763 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "isForCompensation", .value = Value(std::string("false"))},
13764 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "startQuantity", .value = Value(std::string("1"))},
13765 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "completionQuantity", .value = Value(std::string("1"))}
13766 };
13767
13768 std::optional< std::reference_wrapper<Attribute> > implementation; ///< Attribute value can be expected to be of type 'std::string'
13769 std::optional< std::reference_wrapper<Attribute> > messageRef; ///< Attribute value can be expected to be of type 'std::string'
13770 std::optional< std::reference_wrapper<Attribute> > operationRef; ///< Attribute value can be expected to be of type 'std::string'
13771};
13772
13773} // namespace XML::bpmn
13774
13775#endif // XML_bpmn_tSendTask_H
13776#ifndef XML_bpmn_sendTask_H
13777#define XML_bpmn_sendTask_H
13778#include <memory>
13779#include <optional>
13780#include <vector>
13781
13782
13783/**
13784 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
13785 */
13786namespace XML::bpmn {
13787
13788/**
13789 * Overview:
13790 * - Element name: sendTask
13791 * - XML-Schema: xsd/Semantic.xsd
13792 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
13793 *
13794 * Members:
13795 * - implementation : tImplementation [0..1] (from: tSendTask)
13796 * - messageRef : QName [0..1] (from: tSendTask)
13797 * - operationRef : QName [0..1] (from: tSendTask)
13798 * - ioSpecification : tInputOutputSpecification [0..1] (from: tActivity)
13799 * - property : tProperty [0..*] (from: tActivity)
13800 * - dataInputAssociation : tDataInputAssociation [0..*] (from: tActivity)
13801 * - dataOutputAssociation : tDataOutputAssociation [0..*] (from: tActivity)
13802 * - resourceRole : tResourceRole [0..*] (from: tActivity)
13803 * - loopCharacteristics : tLoopCharacteristics [0..*] (from: tActivity)
13804 * - isForCompensation : boolean [0..1] (from: tActivity)
13805 * - startQuantity : integer [0..1] (from: tActivity)
13806 * - completionQuantity : integer [0..1] (from: tActivity)
13807 * - default : IDREF [0..1] (from: tActivity)
13808 * - incoming : QName [0..*] (from: tFlowNode)
13809 * - outgoing : QName [0..*] (from: tFlowNode)
13810 * - auditing : tAuditing [0..1] (from: tFlowElement)
13811 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
13812 * - categoryValueRef : QName [0..*] (from: tFlowElement)
13813 * - name : string [0..1] (from: tFlowElement)
13814 * - documentation : tDocumentation [0..*] (from: tBaseElement)
13815 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
13816 * - id : ID [0..1] (from: tBaseElement)
13817 *
13818 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
13819 */
13820class sendTask : public tSendTask {
13821 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
13822private:
13823 static bool registerClass() {
13824 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:sendTask"] = &createInstance<sendTask>; // register function in factory
13825 return true;
13826 };
13827 inline static bool registered = registerClass();
13828protected:
13829 sendTask(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
13830
13831public:
13832 /// default attributes to be used if they are not explicitly provided
13833 inline static const Attributes defaults = {
13834 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "implementation", .value = Value(std::string("##WebService"))},
13835 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "isForCompensation", .value = Value(std::string("false"))},
13836 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "startQuantity", .value = Value(std::string("1"))},
13837 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "completionQuantity", .value = Value(std::string("1"))}
13838 };
13839
13840};
13841
13842} // namespace XML::bpmn
13843
13844#endif // XML_bpmn_sendTask_H
13845#ifndef XML_bpmn_tServiceTask_H
13846#define XML_bpmn_tServiceTask_H
13847#include <memory>
13848#include <optional>
13849#include <vector>
13850
13851
13852/**
13853 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
13854 */
13855namespace XML::bpmn {
13856
13857class tImplementation;
13858
13859/**
13860 * Overview:
13861 * - Element name: tServiceTask
13862 * - XML-Schema: xsd/Semantic.xsd
13863 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
13864 *
13865 * Members:
13866 * - implementation : tImplementation [0..1]
13867 * - operationRef : QName [0..1]
13868 * - ioSpecification : tInputOutputSpecification [0..1] (from: tActivity)
13869 * - property : tProperty [0..*] (from: tActivity)
13870 * - dataInputAssociation : tDataInputAssociation [0..*] (from: tActivity)
13871 * - dataOutputAssociation : tDataOutputAssociation [0..*] (from: tActivity)
13872 * - resourceRole : tResourceRole [0..*] (from: tActivity)
13873 * - loopCharacteristics : tLoopCharacteristics [0..*] (from: tActivity)
13874 * - isForCompensation : boolean [0..1] (from: tActivity)
13875 * - startQuantity : integer [0..1] (from: tActivity)
13876 * - completionQuantity : integer [0..1] (from: tActivity)
13877 * - default : IDREF [0..1] (from: tActivity)
13878 * - incoming : QName [0..*] (from: tFlowNode)
13879 * - outgoing : QName [0..*] (from: tFlowNode)
13880 * - auditing : tAuditing [0..1] (from: tFlowElement)
13881 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
13882 * - categoryValueRef : QName [0..*] (from: tFlowElement)
13883 * - name : string [0..1] (from: tFlowElement)
13884 * - documentation : tDocumentation [0..*] (from: tBaseElement)
13885 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
13886 * - id : ID [0..1] (from: tBaseElement)
13887 *
13888 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
13889 */
13890class tServiceTask : public tTask {
13891 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
13892private:
13893 static bool registerClass() {
13894 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tServiceTask"] = &createInstance<tServiceTask>; // register function in factory
13895 return true;
13896 };
13897 inline static bool registered = registerClass();
13898protected:
13899 tServiceTask(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
13900
13901public:
13902 /// default attributes to be used if they are not explicitly provided
13903 inline static const Attributes defaults = {
13904 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "implementation", .value = Value(std::string("##WebService"))},
13905 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "isForCompensation", .value = Value(std::string("false"))},
13906 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "startQuantity", .value = Value(std::string("1"))},
13907 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "completionQuantity", .value = Value(std::string("1"))}
13908 };
13909
13910 std::optional< std::reference_wrapper<Attribute> > implementation; ///< Attribute value can be expected to be of type 'std::string'
13911 std::optional< std::reference_wrapper<Attribute> > operationRef; ///< Attribute value can be expected to be of type 'std::string'
13912};
13913
13914} // namespace XML::bpmn
13915
13916#endif // XML_bpmn_tServiceTask_H
13917#ifndef XML_bpmn_serviceTask_H
13918#define XML_bpmn_serviceTask_H
13919#include <memory>
13920#include <optional>
13921#include <vector>
13922
13923
13924/**
13925 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
13926 */
13927namespace XML::bpmn {
13928
13929/**
13930 * Overview:
13931 * - Element name: serviceTask
13932 * - XML-Schema: xsd/Semantic.xsd
13933 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
13934 *
13935 * Members:
13936 * - implementation : tImplementation [0..1] (from: tServiceTask)
13937 * - operationRef : QName [0..1] (from: tServiceTask)
13938 * - ioSpecification : tInputOutputSpecification [0..1] (from: tActivity)
13939 * - property : tProperty [0..*] (from: tActivity)
13940 * - dataInputAssociation : tDataInputAssociation [0..*] (from: tActivity)
13941 * - dataOutputAssociation : tDataOutputAssociation [0..*] (from: tActivity)
13942 * - resourceRole : tResourceRole [0..*] (from: tActivity)
13943 * - loopCharacteristics : tLoopCharacteristics [0..*] (from: tActivity)
13944 * - isForCompensation : boolean [0..1] (from: tActivity)
13945 * - startQuantity : integer [0..1] (from: tActivity)
13946 * - completionQuantity : integer [0..1] (from: tActivity)
13947 * - default : IDREF [0..1] (from: tActivity)
13948 * - incoming : QName [0..*] (from: tFlowNode)
13949 * - outgoing : QName [0..*] (from: tFlowNode)
13950 * - auditing : tAuditing [0..1] (from: tFlowElement)
13951 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
13952 * - categoryValueRef : QName [0..*] (from: tFlowElement)
13953 * - name : string [0..1] (from: tFlowElement)
13954 * - documentation : tDocumentation [0..*] (from: tBaseElement)
13955 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
13956 * - id : ID [0..1] (from: tBaseElement)
13957 *
13958 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
13959 */
13961 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
13962private:
13963 static bool registerClass() {
13964 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:serviceTask"] = &createInstance<serviceTask>; // register function in factory
13965 return true;
13966 };
13967 inline static bool registered = registerClass();
13968protected:
13969 serviceTask(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
13970
13971public:
13972 /// default attributes to be used if they are not explicitly provided
13973 inline static const Attributes defaults = {
13974 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "implementation", .value = Value(std::string("##WebService"))},
13975 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "isForCompensation", .value = Value(std::string("false"))},
13976 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "startQuantity", .value = Value(std::string("1"))},
13977 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "completionQuantity", .value = Value(std::string("1"))}
13978 };
13979
13980};
13981
13982} // namespace XML::bpmn
13983
13984#endif // XML_bpmn_serviceTask_H
13985#ifndef XML_bpmn_tTerminateEventDefinition_H
13986#define XML_bpmn_tTerminateEventDefinition_H
13987#include <memory>
13988#include <optional>
13989#include <vector>
13990
13991
13992/**
13993 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
13994 */
13995namespace XML::bpmn {
13996
13997/**
13998 * Overview:
13999 * - Element name: tTerminateEventDefinition
14000 * - XML-Schema: xsd/Semantic.xsd
14001 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
14002 *
14003 * Members:
14004 * - documentation : tDocumentation [0..*] (from: tBaseElement)
14005 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
14006 * - id : ID [0..1] (from: tBaseElement)
14007 *
14008 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
14009 */
14011 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
14012private:
14013 static bool registerClass() {
14014 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tTerminateEventDefinition"] = &createInstance<tTerminateEventDefinition>; // register function in factory
14015 return true;
14016 };
14017 inline static bool registered = registerClass();
14018protected:
14019 tTerminateEventDefinition(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
14020
14021public:
14022 /// default attributes to be used if they are not explicitly provided
14023 inline static const Attributes defaults = {
14024 };
14025
14026};
14027
14028} // namespace XML::bpmn
14029
14030#endif // XML_bpmn_tTerminateEventDefinition_H
14031#ifndef XML_bpmn_tText_H
14032#define XML_bpmn_tText_H
14033#include <memory>
14034#include <optional>
14035#include <vector>
14036
14037
14038/**
14039 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
14040 */
14041namespace XML::bpmn {
14042
14043/**
14044 * Overview:
14045 * - Element name: tText
14046 * - XML-Schema: xsd/Semantic.xsd
14047 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
14048 *
14049 * Members:
14050 *
14051 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
14052 */
14053class tText : public XMLObject {
14054 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
14055private:
14056 static bool registerClass() {
14057 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tText"] = &createInstance<tText>; // register function in factory
14058 return true;
14059 };
14060 inline static bool registered = registerClass();
14061protected:
14062 tText(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
14063
14064 friend class tTextAnnotation;
14065
14066public:
14067 /// default attributes to be used if they are not explicitly provided
14068 inline static const Attributes defaults = {
14069 };
14070
14071};
14072
14073} // namespace XML::bpmn
14074
14075#endif // XML_bpmn_tText_H
14076#ifndef XML_bpmn_tTextAnnotation_H
14077#define XML_bpmn_tTextAnnotation_H
14078#include <memory>
14079#include <optional>
14080#include <vector>
14081
14082
14083/**
14084 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
14085 */
14086namespace XML::bpmn {
14087
14088class tText;
14089
14090/**
14091 * Overview:
14092 * - Element name: tTextAnnotation
14093 * - XML-Schema: xsd/Semantic.xsd
14094 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
14095 *
14096 * Members:
14097 * - text : tText [0..1]
14098 * - textFormat : string [0..1]
14099 * - documentation : tDocumentation [0..*] (from: tBaseElement)
14100 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
14101 * - id : ID [0..1] (from: tBaseElement)
14102 *
14103 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
14104 */
14106 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
14107private:
14108 static bool registerClass() {
14109 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tTextAnnotation"] = &createInstance<tTextAnnotation>; // register function in factory
14110 return true;
14111 };
14112 inline static bool registered = registerClass();
14113protected:
14114 tTextAnnotation(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
14115
14116public:
14117 /// default attributes to be used if they are not explicitly provided
14118 inline static const Attributes defaults = {
14119 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "textFormat", .value = Value(std::string("text/plain"))}
14120 };
14121
14122 std::optional< std::reference_wrapper<tText> > text;
14123 std::optional< std::reference_wrapper<Attribute> > textFormat; ///< Attribute value can be expected to be of type 'std::string'
14124};
14125
14126} // namespace XML::bpmn
14127
14128#endif // XML_bpmn_tTextAnnotation_H
14129#ifndef XML_bpmn_tThrowEvent_H
14130#define XML_bpmn_tThrowEvent_H
14131#include <memory>
14132#include <optional>
14133#include <vector>
14134
14135
14136/**
14137 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
14138 */
14139namespace XML::bpmn {
14140
14141class tDataInput;
14142class tDataInputAssociation;
14143class tInputSet;
14144class tEventDefinition;
14145
14146/**
14147 * Overview:
14148 * - Element name: tThrowEvent
14149 * - XML-Schema: xsd/Semantic.xsd
14150 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
14151 *
14152 * Members:
14153 * - dataInput : tDataInput [0..*]
14154 * - dataInputAssociation : tDataInputAssociation [0..*]
14155 * - inputSet : tInputSet [0..1]
14156 * - eventDefinition : tEventDefinition [0..*]
14157 * - eventDefinitionRef : QName [0..*]
14158 * - property : tProperty [0..*] (from: tEvent)
14159 * - incoming : QName [0..*] (from: tFlowNode)
14160 * - outgoing : QName [0..*] (from: tFlowNode)
14161 * - auditing : tAuditing [0..1] (from: tFlowElement)
14162 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
14163 * - categoryValueRef : QName [0..*] (from: tFlowElement)
14164 * - name : string [0..1] (from: tFlowElement)
14165 * - documentation : tDocumentation [0..*] (from: tBaseElement)
14166 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
14167 * - id : ID [0..1] (from: tBaseElement)
14168 *
14169 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
14170 */
14171class tThrowEvent : public tEvent {
14172 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
14173private:
14174 static bool registerClass() {
14175 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tThrowEvent"] = &createInstance<tThrowEvent>; // register function in factory
14176 return true;
14177 };
14178 inline static bool registered = registerClass();
14179protected:
14180 tThrowEvent(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
14181
14182public:
14183 /// default attributes to be used if they are not explicitly provided
14184 inline static const Attributes defaults = {
14185 };
14186
14187 std::vector< std::reference_wrapper<tDataInput> > dataInput;
14188 std::vector< std::reference_wrapper<tDataInputAssociation> > dataInputAssociation;
14189 std::optional< std::reference_wrapper<tInputSet> > inputSet;
14190 std::vector< std::reference_wrapper<tEventDefinition> > eventDefinition;
14191 std::vector< std::reference_wrapper<XMLObject> > eventDefinitionRef;
14192};
14193
14194} // namespace XML::bpmn
14195
14196#endif // XML_bpmn_tThrowEvent_H
14197#ifndef XML_bpmn_tEndEvent_H
14198#define XML_bpmn_tEndEvent_H
14199#include <memory>
14200#include <optional>
14201#include <vector>
14202
14203
14204/**
14205 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
14206 */
14207namespace XML::bpmn {
14208
14209/**
14210 * Overview:
14211 * - Element name: tEndEvent
14212 * - XML-Schema: xsd/Semantic.xsd
14213 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
14214 *
14215 * Members:
14216 * - dataInput : tDataInput [0..*] (from: tThrowEvent)
14217 * - dataInputAssociation : tDataInputAssociation [0..*] (from: tThrowEvent)
14218 * - inputSet : tInputSet [0..1] (from: tThrowEvent)
14219 * - eventDefinition : tEventDefinition [0..*] (from: tThrowEvent)
14220 * - eventDefinitionRef : QName [0..*] (from: tThrowEvent)
14221 * - property : tProperty [0..*] (from: tEvent)
14222 * - incoming : QName [0..*] (from: tFlowNode)
14223 * - outgoing : QName [0..*] (from: tFlowNode)
14224 * - auditing : tAuditing [0..1] (from: tFlowElement)
14225 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
14226 * - categoryValueRef : QName [0..*] (from: tFlowElement)
14227 * - name : string [0..1] (from: tFlowElement)
14228 * - documentation : tDocumentation [0..*] (from: tBaseElement)
14229 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
14230 * - id : ID [0..1] (from: tBaseElement)
14231 *
14232 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
14233 */
14234class tEndEvent : public tThrowEvent {
14235 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
14236private:
14237 static bool registerClass() {
14238 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tEndEvent"] = &createInstance<tEndEvent>; // register function in factory
14239 return true;
14240 };
14241 inline static bool registered = registerClass();
14242protected:
14243 tEndEvent(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
14244
14245public:
14246 /// default attributes to be used if they are not explicitly provided
14247 inline static const Attributes defaults = {
14248 };
14249
14250};
14251
14252} // namespace XML::bpmn
14253
14254#endif // XML_bpmn_tEndEvent_H
14255#ifndef XML_bpmn_endEvent_H
14256#define XML_bpmn_endEvent_H
14257#include <memory>
14258#include <optional>
14259#include <vector>
14260
14261
14262/**
14263 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
14264 */
14265namespace XML::bpmn {
14266
14267/**
14268 * Overview:
14269 * - Element name: endEvent
14270 * - XML-Schema: xsd/Semantic.xsd
14271 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
14272 *
14273 * Members:
14274 * - dataInput : tDataInput [0..*] (from: tThrowEvent)
14275 * - dataInputAssociation : tDataInputAssociation [0..*] (from: tThrowEvent)
14276 * - inputSet : tInputSet [0..1] (from: tThrowEvent)
14277 * - eventDefinition : tEventDefinition [0..*] (from: tThrowEvent)
14278 * - eventDefinitionRef : QName [0..*] (from: tThrowEvent)
14279 * - property : tProperty [0..*] (from: tEvent)
14280 * - incoming : QName [0..*] (from: tFlowNode)
14281 * - outgoing : QName [0..*] (from: tFlowNode)
14282 * - auditing : tAuditing [0..1] (from: tFlowElement)
14283 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
14284 * - categoryValueRef : QName [0..*] (from: tFlowElement)
14285 * - name : string [0..1] (from: tFlowElement)
14286 * - documentation : tDocumentation [0..*] (from: tBaseElement)
14287 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
14288 * - id : ID [0..1] (from: tBaseElement)
14289 *
14290 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
14291 */
14292class endEvent : public tEndEvent {
14293 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
14294private:
14295 static bool registerClass() {
14296 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:endEvent"] = &createInstance<endEvent>; // register function in factory
14297 return true;
14298 };
14299 inline static bool registered = registerClass();
14300protected:
14301 endEvent(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
14302
14303public:
14304 /// default attributes to be used if they are not explicitly provided
14305 inline static const Attributes defaults = {
14306 };
14307
14308};
14309
14310} // namespace XML::bpmn
14311
14312#endif // XML_bpmn_endEvent_H
14313#ifndef XML_bpmn_tImplicitThrowEvent_H
14314#define XML_bpmn_tImplicitThrowEvent_H
14315#include <memory>
14316#include <optional>
14317#include <vector>
14318
14319
14320/**
14321 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
14322 */
14323namespace XML::bpmn {
14324
14325/**
14326 * Overview:
14327 * - Element name: tImplicitThrowEvent
14328 * - XML-Schema: xsd/Semantic.xsd
14329 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
14330 *
14331 * Members:
14332 * - dataInput : tDataInput [0..*] (from: tThrowEvent)
14333 * - dataInputAssociation : tDataInputAssociation [0..*] (from: tThrowEvent)
14334 * - inputSet : tInputSet [0..1] (from: tThrowEvent)
14335 * - eventDefinition : tEventDefinition [0..*] (from: tThrowEvent)
14336 * - eventDefinitionRef : QName [0..*] (from: tThrowEvent)
14337 * - property : tProperty [0..*] (from: tEvent)
14338 * - incoming : QName [0..*] (from: tFlowNode)
14339 * - outgoing : QName [0..*] (from: tFlowNode)
14340 * - auditing : tAuditing [0..1] (from: tFlowElement)
14341 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
14342 * - categoryValueRef : QName [0..*] (from: tFlowElement)
14343 * - name : string [0..1] (from: tFlowElement)
14344 * - documentation : tDocumentation [0..*] (from: tBaseElement)
14345 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
14346 * - id : ID [0..1] (from: tBaseElement)
14347 *
14348 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
14349 */
14351 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
14352private:
14353 static bool registerClass() {
14354 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tImplicitThrowEvent"] = &createInstance<tImplicitThrowEvent>; // register function in factory
14355 return true;
14356 };
14357 inline static bool registered = registerClass();
14358protected:
14359 tImplicitThrowEvent(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
14360
14362
14363public:
14364 /// default attributes to be used if they are not explicitly provided
14365 inline static const Attributes defaults = {
14366 };
14367
14368};
14369
14370} // namespace XML::bpmn
14371
14372#endif // XML_bpmn_tImplicitThrowEvent_H
14373#ifndef XML_bpmn_implicitThrowEvent_H
14374#define XML_bpmn_implicitThrowEvent_H
14375#include <memory>
14376#include <optional>
14377#include <vector>
14378
14379
14380/**
14381 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
14382 */
14383namespace XML::bpmn {
14384
14385/**
14386 * Overview:
14387 * - Element name: implicitThrowEvent
14388 * - XML-Schema: xsd/Semantic.xsd
14389 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
14390 *
14391 * Members:
14392 * - dataInput : tDataInput [0..*] (from: tThrowEvent)
14393 * - dataInputAssociation : tDataInputAssociation [0..*] (from: tThrowEvent)
14394 * - inputSet : tInputSet [0..1] (from: tThrowEvent)
14395 * - eventDefinition : tEventDefinition [0..*] (from: tThrowEvent)
14396 * - eventDefinitionRef : QName [0..*] (from: tThrowEvent)
14397 * - property : tProperty [0..*] (from: tEvent)
14398 * - incoming : QName [0..*] (from: tFlowNode)
14399 * - outgoing : QName [0..*] (from: tFlowNode)
14400 * - auditing : tAuditing [0..1] (from: tFlowElement)
14401 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
14402 * - categoryValueRef : QName [0..*] (from: tFlowElement)
14403 * - name : string [0..1] (from: tFlowElement)
14404 * - documentation : tDocumentation [0..*] (from: tBaseElement)
14405 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
14406 * - id : ID [0..1] (from: tBaseElement)
14407 *
14408 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
14409 */
14411 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
14412private:
14413 static bool registerClass() {
14414 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:implicitThrowEvent"] = &createInstance<implicitThrowEvent>; // register function in factory
14415 return true;
14416 };
14417 inline static bool registered = registerClass();
14418protected:
14419 implicitThrowEvent(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
14420
14421public:
14422 /// default attributes to be used if they are not explicitly provided
14423 inline static const Attributes defaults = {
14424 };
14425
14426};
14427
14428} // namespace XML::bpmn
14429
14430#endif // XML_bpmn_implicitThrowEvent_H
14431#ifndef XML_bpmn_tIntermediateThrowEvent_H
14432#define XML_bpmn_tIntermediateThrowEvent_H
14433#include <memory>
14434#include <optional>
14435#include <vector>
14436
14437
14438/**
14439 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
14440 */
14441namespace XML::bpmn {
14442
14443/**
14444 * Overview:
14445 * - Element name: tIntermediateThrowEvent
14446 * - XML-Schema: xsd/Semantic.xsd
14447 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
14448 *
14449 * Members:
14450 * - dataInput : tDataInput [0..*] (from: tThrowEvent)
14451 * - dataInputAssociation : tDataInputAssociation [0..*] (from: tThrowEvent)
14452 * - inputSet : tInputSet [0..1] (from: tThrowEvent)
14453 * - eventDefinition : tEventDefinition [0..*] (from: tThrowEvent)
14454 * - eventDefinitionRef : QName [0..*] (from: tThrowEvent)
14455 * - property : tProperty [0..*] (from: tEvent)
14456 * - incoming : QName [0..*] (from: tFlowNode)
14457 * - outgoing : QName [0..*] (from: tFlowNode)
14458 * - auditing : tAuditing [0..1] (from: tFlowElement)
14459 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
14460 * - categoryValueRef : QName [0..*] (from: tFlowElement)
14461 * - name : string [0..1] (from: tFlowElement)
14462 * - documentation : tDocumentation [0..*] (from: tBaseElement)
14463 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
14464 * - id : ID [0..1] (from: tBaseElement)
14465 *
14466 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
14467 */
14469 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
14470private:
14471 static bool registerClass() {
14472 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tIntermediateThrowEvent"] = &createInstance<tIntermediateThrowEvent>; // register function in factory
14473 return true;
14474 };
14475 inline static bool registered = registerClass();
14476protected:
14477 tIntermediateThrowEvent(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
14478
14479public:
14480 /// default attributes to be used if they are not explicitly provided
14481 inline static const Attributes defaults = {
14482 };
14483
14484};
14485
14486} // namespace XML::bpmn
14487
14488#endif // XML_bpmn_tIntermediateThrowEvent_H
14489#ifndef XML_bpmn_intermediateThrowEvent_H
14490#define XML_bpmn_intermediateThrowEvent_H
14491#include <memory>
14492#include <optional>
14493#include <vector>
14494
14495
14496/**
14497 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
14498 */
14499namespace XML::bpmn {
14500
14501/**
14502 * Overview:
14503 * - Element name: intermediateThrowEvent
14504 * - XML-Schema: xsd/Semantic.xsd
14505 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
14506 *
14507 * Members:
14508 * - dataInput : tDataInput [0..*] (from: tThrowEvent)
14509 * - dataInputAssociation : tDataInputAssociation [0..*] (from: tThrowEvent)
14510 * - inputSet : tInputSet [0..1] (from: tThrowEvent)
14511 * - eventDefinition : tEventDefinition [0..*] (from: tThrowEvent)
14512 * - eventDefinitionRef : QName [0..*] (from: tThrowEvent)
14513 * - property : tProperty [0..*] (from: tEvent)
14514 * - incoming : QName [0..*] (from: tFlowNode)
14515 * - outgoing : QName [0..*] (from: tFlowNode)
14516 * - auditing : tAuditing [0..1] (from: tFlowElement)
14517 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
14518 * - categoryValueRef : QName [0..*] (from: tFlowElement)
14519 * - name : string [0..1] (from: tFlowElement)
14520 * - documentation : tDocumentation [0..*] (from: tBaseElement)
14521 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
14522 * - id : ID [0..1] (from: tBaseElement)
14523 *
14524 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
14525 */
14527 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
14528private:
14529 static bool registerClass() {
14530 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:intermediateThrowEvent"] = &createInstance<intermediateThrowEvent>; // register function in factory
14531 return true;
14532 };
14533 inline static bool registered = registerClass();
14534protected:
14535 intermediateThrowEvent(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
14536
14537public:
14538 /// default attributes to be used if they are not explicitly provided
14539 inline static const Attributes defaults = {
14540 };
14541
14542};
14543
14544} // namespace XML::bpmn
14545
14546#endif // XML_bpmn_intermediateThrowEvent_H
14547#ifndef XML_bpmn_tTimerEventDefinition_H
14548#define XML_bpmn_tTimerEventDefinition_H
14549#include <memory>
14550#include <optional>
14551#include <vector>
14552
14553
14554/**
14555 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
14556 */
14557namespace XML::bpmn {
14558
14559class tExpression;
14560class tExpression;
14561class tExpression;
14562
14563/**
14564 * Overview:
14565 * - Element name: tTimerEventDefinition
14566 * - XML-Schema: xsd/Semantic.xsd
14567 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
14568 *
14569 * Members:
14570 * - timeDate : tExpression [0..1]
14571 * - timeDuration : tExpression [0..1]
14572 * - timeCycle : tExpression [0..1]
14573 * - documentation : tDocumentation [0..*] (from: tBaseElement)
14574 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
14575 * - id : ID [0..1] (from: tBaseElement)
14576 *
14577 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
14578 */
14580 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
14581private:
14582 static bool registerClass() {
14583 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tTimerEventDefinition"] = &createInstance<tTimerEventDefinition>; // register function in factory
14584 return true;
14585 };
14586 inline static bool registered = registerClass();
14587protected:
14588 tTimerEventDefinition(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
14589
14590public:
14591 /// default attributes to be used if they are not explicitly provided
14592 inline static const Attributes defaults = {
14593 };
14594
14595 std::optional< std::reference_wrapper<tExpression> > timeDate;
14596 std::optional< std::reference_wrapper<tExpression> > timeDuration;
14597 std::optional< std::reference_wrapper<tExpression> > timeCycle;
14598};
14599
14600} // namespace XML::bpmn
14601
14602#endif // XML_bpmn_tTimerEventDefinition_H
14603#ifndef XML_bpmn_tTransaction_H
14604#define XML_bpmn_tTransaction_H
14605#include <memory>
14606#include <optional>
14607#include <vector>
14608
14609
14610/**
14611 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
14612 */
14613namespace XML::bpmn {
14614
14615class tTransactionMethod;
14616
14617/**
14618 * Overview:
14619 * - Element name: tTransaction
14620 * - XML-Schema: xsd/Semantic.xsd
14621 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
14622 *
14623 * Members:
14624 * - method : tTransactionMethod [0..1]
14625 * - laneSet : tLaneSet [0..*] (from: tSubProcess)
14626 * - flowElement : tFlowElement [0..*] (from: tSubProcess)
14627 * - artifact : tArtifact [0..*] (from: tSubProcess)
14628 * - triggeredByEvent : boolean [0..1] (from: tSubProcess)
14629 * - ioSpecification : tInputOutputSpecification [0..1] (from: tActivity)
14630 * - property : tProperty [0..*] (from: tActivity)
14631 * - dataInputAssociation : tDataInputAssociation [0..*] (from: tActivity)
14632 * - dataOutputAssociation : tDataOutputAssociation [0..*] (from: tActivity)
14633 * - resourceRole : tResourceRole [0..*] (from: tActivity)
14634 * - loopCharacteristics : tLoopCharacteristics [0..*] (from: tActivity)
14635 * - isForCompensation : boolean [0..1] (from: tActivity)
14636 * - startQuantity : integer [0..1] (from: tActivity)
14637 * - completionQuantity : integer [0..1] (from: tActivity)
14638 * - default : IDREF [0..1] (from: tActivity)
14639 * - incoming : QName [0..*] (from: tFlowNode)
14640 * - outgoing : QName [0..*] (from: tFlowNode)
14641 * - auditing : tAuditing [0..1] (from: tFlowElement)
14642 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
14643 * - categoryValueRef : QName [0..*] (from: tFlowElement)
14644 * - name : string [0..1] (from: tFlowElement)
14645 * - documentation : tDocumentation [0..*] (from: tBaseElement)
14646 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
14647 * - id : ID [0..1] (from: tBaseElement)
14648 *
14649 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
14650 */
14652 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
14653private:
14654 static bool registerClass() {
14655 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tTransaction"] = &createInstance<tTransaction>; // register function in factory
14656 return true;
14657 };
14658 inline static bool registered = registerClass();
14659protected:
14660 tTransaction(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
14661
14662public:
14663 /// default attributes to be used if they are not explicitly provided
14664 inline static const Attributes defaults = {
14665 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "method", .value = Value(std::string("##Compensate"))},
14666 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "triggeredByEvent", .value = Value(std::string("false"))},
14667 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "isForCompensation", .value = Value(std::string("false"))},
14668 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "startQuantity", .value = Value(std::string("1"))},
14669 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "completionQuantity", .value = Value(std::string("1"))}
14670 };
14671
14672 std::optional< std::reference_wrapper<Attribute> > method; ///< Attribute value can be expected to be of type 'std::string'
14673};
14674
14675} // namespace XML::bpmn
14676
14677#endif // XML_bpmn_tTransaction_H
14678#ifndef XML_bpmn_tUserTask_H
14679#define XML_bpmn_tUserTask_H
14680#include <memory>
14681#include <optional>
14682#include <vector>
14683
14684
14685/**
14686 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
14687 */
14688namespace XML::bpmn {
14689
14690class tRendering;
14691class tImplementation;
14692
14693/**
14694 * Overview:
14695 * - Element name: tUserTask
14696 * - XML-Schema: xsd/Semantic.xsd
14697 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
14698 *
14699 * Members:
14700 * - rendering : tRendering [0..*]
14701 * - implementation : tImplementation [0..1]
14702 * - ioSpecification : tInputOutputSpecification [0..1] (from: tActivity)
14703 * - property : tProperty [0..*] (from: tActivity)
14704 * - dataInputAssociation : tDataInputAssociation [0..*] (from: tActivity)
14705 * - dataOutputAssociation : tDataOutputAssociation [0..*] (from: tActivity)
14706 * - resourceRole : tResourceRole [0..*] (from: tActivity)
14707 * - loopCharacteristics : tLoopCharacteristics [0..*] (from: tActivity)
14708 * - isForCompensation : boolean [0..1] (from: tActivity)
14709 * - startQuantity : integer [0..1] (from: tActivity)
14710 * - completionQuantity : integer [0..1] (from: tActivity)
14711 * - default : IDREF [0..1] (from: tActivity)
14712 * - incoming : QName [0..*] (from: tFlowNode)
14713 * - outgoing : QName [0..*] (from: tFlowNode)
14714 * - auditing : tAuditing [0..1] (from: tFlowElement)
14715 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
14716 * - categoryValueRef : QName [0..*] (from: tFlowElement)
14717 * - name : string [0..1] (from: tFlowElement)
14718 * - documentation : tDocumentation [0..*] (from: tBaseElement)
14719 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
14720 * - id : ID [0..1] (from: tBaseElement)
14721 *
14722 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
14723 */
14724class tUserTask : public tTask {
14725 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
14726private:
14727 static bool registerClass() {
14728 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:tUserTask"] = &createInstance<tUserTask>; // register function in factory
14729 return true;
14730 };
14731 inline static bool registered = registerClass();
14732protected:
14733 tUserTask(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
14734
14735public:
14736 /// default attributes to be used if they are not explicitly provided
14737 inline static const Attributes defaults = {
14738 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "implementation", .value = Value(std::string("##unspecified"))},
14739 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "isForCompensation", .value = Value(std::string("false"))},
14740 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "startQuantity", .value = Value(std::string("1"))},
14741 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "completionQuantity", .value = Value(std::string("1"))}
14742 };
14743
14744 std::vector< std::reference_wrapper<tRendering> > rendering;
14745 std::optional< std::reference_wrapper<Attribute> > implementation; ///< Attribute value can be expected to be of type 'std::string'
14746};
14747
14748} // namespace XML::bpmn
14749
14750#endif // XML_bpmn_tUserTask_H
14751#ifndef XML_bpmn_task_H
14752#define XML_bpmn_task_H
14753#include <memory>
14754#include <optional>
14755#include <vector>
14756
14757
14758/**
14759 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
14760 */
14761namespace XML::bpmn {
14762
14763/**
14764 * Overview:
14765 * - Element name: task
14766 * - XML-Schema: xsd/Semantic.xsd
14767 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
14768 *
14769 * Members:
14770 * - ioSpecification : tInputOutputSpecification [0..1] (from: tActivity)
14771 * - property : tProperty [0..*] (from: tActivity)
14772 * - dataInputAssociation : tDataInputAssociation [0..*] (from: tActivity)
14773 * - dataOutputAssociation : tDataOutputAssociation [0..*] (from: tActivity)
14774 * - resourceRole : tResourceRole [0..*] (from: tActivity)
14775 * - loopCharacteristics : tLoopCharacteristics [0..*] (from: tActivity)
14776 * - isForCompensation : boolean [0..1] (from: tActivity)
14777 * - startQuantity : integer [0..1] (from: tActivity)
14778 * - completionQuantity : integer [0..1] (from: tActivity)
14779 * - default : IDREF [0..1] (from: tActivity)
14780 * - incoming : QName [0..*] (from: tFlowNode)
14781 * - outgoing : QName [0..*] (from: tFlowNode)
14782 * - auditing : tAuditing [0..1] (from: tFlowElement)
14783 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
14784 * - categoryValueRef : QName [0..*] (from: tFlowElement)
14785 * - name : string [0..1] (from: tFlowElement)
14786 * - documentation : tDocumentation [0..*] (from: tBaseElement)
14787 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
14788 * - id : ID [0..1] (from: tBaseElement)
14789 *
14790 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
14791 */
14792class task : public tTask {
14793 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
14794private:
14795 static bool registerClass() {
14796 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:task"] = &createInstance<task>; // register function in factory
14797 return true;
14798 };
14799 inline static bool registered = registerClass();
14800protected:
14801 task(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
14802
14803public:
14804 /// default attributes to be used if they are not explicitly provided
14805 inline static const Attributes defaults = {
14806 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "isForCompensation", .value = Value(std::string("false"))},
14807 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "startQuantity", .value = Value(std::string("1"))},
14808 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "completionQuantity", .value = Value(std::string("1"))}
14809 };
14810
14811};
14812
14813} // namespace XML::bpmn
14814
14815#endif // XML_bpmn_task_H
14816#ifndef XML_bpmn_terminateEventDefinition_H
14817#define XML_bpmn_terminateEventDefinition_H
14818#include <memory>
14819#include <optional>
14820#include <vector>
14821
14822
14823/**
14824 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
14825 */
14826namespace XML::bpmn {
14827
14828/**
14829 * Overview:
14830 * - Element name: terminateEventDefinition
14831 * - XML-Schema: xsd/Semantic.xsd
14832 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
14833 *
14834 * Members:
14835 * - documentation : tDocumentation [0..*] (from: tBaseElement)
14836 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
14837 * - id : ID [0..1] (from: tBaseElement)
14838 *
14839 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
14840 */
14842 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
14843private:
14844 static bool registerClass() {
14845 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:terminateEventDefinition"] = &createInstance<terminateEventDefinition>; // register function in factory
14846 return true;
14847 };
14848 inline static bool registered = registerClass();
14849protected:
14850 terminateEventDefinition(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
14851
14852public:
14853 /// default attributes to be used if they are not explicitly provided
14854 inline static const Attributes defaults = {
14855 };
14856
14857};
14858
14859} // namespace XML::bpmn
14860
14861#endif // XML_bpmn_terminateEventDefinition_H
14862#ifndef XML_bpmn_text_H
14863#define XML_bpmn_text_H
14864#include <memory>
14865#include <optional>
14866#include <vector>
14867
14868
14869/**
14870 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
14871 */
14872namespace XML::bpmn {
14873
14874/**
14875 * Overview:
14876 * - Element name: text
14877 * - XML-Schema: xsd/Semantic.xsd
14878 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
14879 *
14880 * Members:
14881 *
14882 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
14883 */
14884class text : public tText {
14885 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
14886private:
14887 static bool registerClass() {
14888 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:text"] = &createInstance<text>; // register function in factory
14889 return true;
14890 };
14891 inline static bool registered = registerClass();
14892protected:
14893 text(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
14894
14895public:
14896 /// default attributes to be used if they are not explicitly provided
14897 inline static const Attributes defaults = {
14898 };
14899
14900};
14901
14902} // namespace XML::bpmn
14903
14904#endif // XML_bpmn_text_H
14905#ifndef XML_bpmn_textAnnotation_H
14906#define XML_bpmn_textAnnotation_H
14907#include <memory>
14908#include <optional>
14909#include <vector>
14910
14911
14912/**
14913 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
14914 */
14915namespace XML::bpmn {
14916
14917/**
14918 * Overview:
14919 * - Element name: textAnnotation
14920 * - XML-Schema: xsd/Semantic.xsd
14921 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
14922 *
14923 * Members:
14924 * - text : tText [0..1] (from: tTextAnnotation)
14925 * - textFormat : string [0..1] (from: tTextAnnotation)
14926 * - documentation : tDocumentation [0..*] (from: tBaseElement)
14927 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
14928 * - id : ID [0..1] (from: tBaseElement)
14929 *
14930 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
14931 */
14933 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
14934private:
14935 static bool registerClass() {
14936 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:textAnnotation"] = &createInstance<textAnnotation>; // register function in factory
14937 return true;
14938 };
14939 inline static bool registered = registerClass();
14940protected:
14941 textAnnotation(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
14942
14943public:
14944 /// default attributes to be used if they are not explicitly provided
14945 inline static const Attributes defaults = {
14946 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "textFormat", .value = Value(std::string("text/plain"))}
14947 };
14948
14949};
14950
14951} // namespace XML::bpmn
14952
14953#endif // XML_bpmn_textAnnotation_H
14954#ifndef XML_bpmn_throwEvent_H
14955#define XML_bpmn_throwEvent_H
14956#include <memory>
14957#include <optional>
14958#include <vector>
14959
14960
14961/**
14962 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
14963 */
14964namespace XML::bpmn {
14965
14966/**
14967 * Overview:
14968 * - Element name: throwEvent
14969 * - XML-Schema: xsd/Semantic.xsd
14970 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
14971 *
14972 * Members:
14973 * - dataInput : tDataInput [0..*] (from: tThrowEvent)
14974 * - dataInputAssociation : tDataInputAssociation [0..*] (from: tThrowEvent)
14975 * - inputSet : tInputSet [0..1] (from: tThrowEvent)
14976 * - eventDefinition : tEventDefinition [0..*] (from: tThrowEvent)
14977 * - eventDefinitionRef : QName [0..*] (from: tThrowEvent)
14978 * - property : tProperty [0..*] (from: tEvent)
14979 * - incoming : QName [0..*] (from: tFlowNode)
14980 * - outgoing : QName [0..*] (from: tFlowNode)
14981 * - auditing : tAuditing [0..1] (from: tFlowElement)
14982 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
14983 * - categoryValueRef : QName [0..*] (from: tFlowElement)
14984 * - name : string [0..1] (from: tFlowElement)
14985 * - documentation : tDocumentation [0..*] (from: tBaseElement)
14986 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
14987 * - id : ID [0..1] (from: tBaseElement)
14988 *
14989 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
14990 */
14991class throwEvent : public tThrowEvent {
14992 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
14993private:
14994 static bool registerClass() {
14995 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:throwEvent"] = &createInstance<throwEvent>; // register function in factory
14996 return true;
14997 };
14998 inline static bool registered = registerClass();
14999protected:
15000 throwEvent(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
15001
15002public:
15003 /// default attributes to be used if they are not explicitly provided
15004 inline static const Attributes defaults = {
15005 };
15006
15007};
15008
15009} // namespace XML::bpmn
15010
15011#endif // XML_bpmn_throwEvent_H
15012#ifndef XML_bpmn_timerEventDefinition_H
15013#define XML_bpmn_timerEventDefinition_H
15014#include <memory>
15015#include <optional>
15016#include <vector>
15017
15018
15019/**
15020 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
15021 */
15022namespace XML::bpmn {
15023
15024/**
15025 * Overview:
15026 * - Element name: timerEventDefinition
15027 * - XML-Schema: xsd/Semantic.xsd
15028 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
15029 *
15030 * Members:
15031 * - timeDate : tExpression [0..1] (from: tTimerEventDefinition)
15032 * - timeDuration : tExpression [0..1] (from: tTimerEventDefinition)
15033 * - timeCycle : tExpression [0..1] (from: tTimerEventDefinition)
15034 * - documentation : tDocumentation [0..*] (from: tBaseElement)
15035 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
15036 * - id : ID [0..1] (from: tBaseElement)
15037 *
15038 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
15039 */
15041 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
15042private:
15043 static bool registerClass() {
15044 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:timerEventDefinition"] = &createInstance<timerEventDefinition>; // register function in factory
15045 return true;
15046 };
15047 inline static bool registered = registerClass();
15048protected:
15049 timerEventDefinition(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
15050
15051public:
15052 /// default attributes to be used if they are not explicitly provided
15053 inline static const Attributes defaults = {
15054 };
15055
15056};
15057
15058} // namespace XML::bpmn
15059
15060#endif // XML_bpmn_timerEventDefinition_H
15061#ifndef XML_bpmn_transaction_H
15062#define XML_bpmn_transaction_H
15063#include <memory>
15064#include <optional>
15065#include <vector>
15066
15067
15068/**
15069 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
15070 */
15071namespace XML::bpmn {
15072
15073/**
15074 * Overview:
15075 * - Element name: transaction
15076 * - XML-Schema: xsd/Semantic.xsd
15077 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
15078 *
15079 * Members:
15080 * - method : tTransactionMethod [0..1] (from: tTransaction)
15081 * - laneSet : tLaneSet [0..*] (from: tSubProcess)
15082 * - flowElement : tFlowElement [0..*] (from: tSubProcess)
15083 * - artifact : tArtifact [0..*] (from: tSubProcess)
15084 * - triggeredByEvent : boolean [0..1] (from: tSubProcess)
15085 * - ioSpecification : tInputOutputSpecification [0..1] (from: tActivity)
15086 * - property : tProperty [0..*] (from: tActivity)
15087 * - dataInputAssociation : tDataInputAssociation [0..*] (from: tActivity)
15088 * - dataOutputAssociation : tDataOutputAssociation [0..*] (from: tActivity)
15089 * - resourceRole : tResourceRole [0..*] (from: tActivity)
15090 * - loopCharacteristics : tLoopCharacteristics [0..*] (from: tActivity)
15091 * - isForCompensation : boolean [0..1] (from: tActivity)
15092 * - startQuantity : integer [0..1] (from: tActivity)
15093 * - completionQuantity : integer [0..1] (from: tActivity)
15094 * - default : IDREF [0..1] (from: tActivity)
15095 * - incoming : QName [0..*] (from: tFlowNode)
15096 * - outgoing : QName [0..*] (from: tFlowNode)
15097 * - auditing : tAuditing [0..1] (from: tFlowElement)
15098 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
15099 * - categoryValueRef : QName [0..*] (from: tFlowElement)
15100 * - name : string [0..1] (from: tFlowElement)
15101 * - documentation : tDocumentation [0..*] (from: tBaseElement)
15102 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
15103 * - id : ID [0..1] (from: tBaseElement)
15104 *
15105 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
15106 */
15108 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
15109private:
15110 static bool registerClass() {
15111 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:transaction"] = &createInstance<transaction>; // register function in factory
15112 return true;
15113 };
15114 inline static bool registered = registerClass();
15115protected:
15116 transaction(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
15117
15118public:
15119 /// default attributes to be used if they are not explicitly provided
15120 inline static const Attributes defaults = {
15121 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "method", .value = Value(std::string("##Compensate"))},
15122 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "triggeredByEvent", .value = Value(std::string("false"))},
15123 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "isForCompensation", .value = Value(std::string("false"))},
15124 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "startQuantity", .value = Value(std::string("1"))},
15125 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "completionQuantity", .value = Value(std::string("1"))}
15126 };
15127
15128};
15129
15130} // namespace XML::bpmn
15131
15132#endif // XML_bpmn_transaction_H
15133#ifndef XML_bpmn_userTask_H
15134#define XML_bpmn_userTask_H
15135#include <memory>
15136#include <optional>
15137#include <vector>
15138
15139
15140/**
15141 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
15142 */
15143namespace XML::bpmn {
15144
15145/**
15146 * Overview:
15147 * - Element name: userTask
15148 * - XML-Schema: xsd/Semantic.xsd
15149 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/MODEL
15150 *
15151 * Members:
15152 * - rendering : tRendering [0..*] (from: tUserTask)
15153 * - implementation : tImplementation [0..1] (from: tUserTask)
15154 * - ioSpecification : tInputOutputSpecification [0..1] (from: tActivity)
15155 * - property : tProperty [0..*] (from: tActivity)
15156 * - dataInputAssociation : tDataInputAssociation [0..*] (from: tActivity)
15157 * - dataOutputAssociation : tDataOutputAssociation [0..*] (from: tActivity)
15158 * - resourceRole : tResourceRole [0..*] (from: tActivity)
15159 * - loopCharacteristics : tLoopCharacteristics [0..*] (from: tActivity)
15160 * - isForCompensation : boolean [0..1] (from: tActivity)
15161 * - startQuantity : integer [0..1] (from: tActivity)
15162 * - completionQuantity : integer [0..1] (from: tActivity)
15163 * - default : IDREF [0..1] (from: tActivity)
15164 * - incoming : QName [0..*] (from: tFlowNode)
15165 * - outgoing : QName [0..*] (from: tFlowNode)
15166 * - auditing : tAuditing [0..1] (from: tFlowElement)
15167 * - monitoring : tMonitoring [0..1] (from: tFlowElement)
15168 * - categoryValueRef : QName [0..*] (from: tFlowElement)
15169 * - name : string [0..1] (from: tFlowElement)
15170 * - documentation : tDocumentation [0..*] (from: tBaseElement)
15171 * - extensionElements : tExtensionElements [0..1] (from: tBaseElement)
15172 * - id : ID [0..1] (from: tBaseElement)
15173 *
15174 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
15175 */
15176class userTask : public tUserTask {
15177 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
15178private:
15179 static bool registerClass() {
15180 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/MODEL:userTask"] = &createInstance<userTask>; // register function in factory
15181 return true;
15182 };
15183 inline static bool registered = registerClass();
15184protected:
15185 userTask(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
15186
15187public:
15188 /// default attributes to be used if they are not explicitly provided
15189 inline static const Attributes defaults = {
15190 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "implementation", .value = Value(std::string("##unspecified"))},
15191 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "isForCompensation", .value = Value(std::string("false"))},
15192 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "startQuantity", .value = Value(std::string("1"))},
15193 { .xmlns = "http://www.omg.org/spec/BPMN/20100524/MODEL", .prefix = "" , .name = "completionQuantity", .value = Value(std::string("1"))}
15194 };
15195
15196};
15197
15198} // namespace XML::bpmn
15199
15200#endif // XML_bpmn_userTask_H
15201#ifndef XML_bpmn_Bounds_H
15202#define XML_bpmn_Bounds_H
15203#include <memory>
15204#include <optional>
15205#include <vector>
15206
15207
15208/**
15209 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
15210 */
15211namespace XML::bpmn {
15212
15213/**
15214 * Overview:
15215 * - Element name: Bounds
15216 * - XML-Schema: xsd/DC.xsd
15217 * - XML-Namespace: http://www.omg.org/spec/DD/20100524/DC
15218 *
15219 * Members:
15220 * - x : double [1..1]
15221 * - y : double [1..1]
15222 * - width : double [1..1]
15223 * - height : double [1..1]
15224 *
15225 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
15226 */
15227class Bounds : public XMLObject {
15228 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
15229private:
15230 static bool registerClass() {
15231 XMLObject::factory["http://www.omg.org/spec/DD/20100524/DC:Bounds"] = &createInstance<Bounds>; // register function in factory
15232 return true;
15233 };
15234 inline static bool registered = registerClass();
15235protected:
15236 Bounds(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
15237
15238 friend class Label;
15239 friend class Shape;
15240
15241public:
15242 /// default attributes to be used if they are not explicitly provided
15243 inline static const Attributes defaults = {
15244 };
15245
15246 Attribute& x; ///< Attribute value can be expected to be of type 'double'
15247 Attribute& y; ///< Attribute value can be expected to be of type 'double'
15248 Attribute& width; ///< Attribute value can be expected to be of type 'double'
15249 Attribute& height; ///< Attribute value can be expected to be of type 'double'
15250};
15251
15252} // namespace XML::bpmn
15253
15254#endif // XML_bpmn_Bounds_H
15255#ifndef XML_bpmn_Font_H
15256#define XML_bpmn_Font_H
15257#include <memory>
15258#include <optional>
15259#include <vector>
15260
15261
15262/**
15263 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
15264 */
15265namespace XML::bpmn {
15266
15267/**
15268 * Overview:
15269 * - Element name: Font
15270 * - XML-Schema: xsd/DC.xsd
15271 * - XML-Namespace: http://www.omg.org/spec/DD/20100524/DC
15272 *
15273 * Members:
15274 * - name : string [0..1]
15275 * - size : double [0..1]
15276 * - isBold : boolean [0..1]
15277 * - isItalic : boolean [0..1]
15278 * - isUnderline : boolean [0..1]
15279 * - isStrikeThrough : boolean [0..1]
15280 *
15281 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
15282 */
15283class Font : public XMLObject {
15284 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
15285private:
15286 static bool registerClass() {
15287 XMLObject::factory["http://www.omg.org/spec/DD/20100524/DC:Font"] = &createInstance<Font>; // register function in factory
15288 return true;
15289 };
15290 inline static bool registered = registerClass();
15291protected:
15292 Font(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
15293
15294 friend class BPMNLabelStyle;
15295
15296public:
15297 /// default attributes to be used if they are not explicitly provided
15298 inline static const Attributes defaults = {
15299 };
15300
15301 std::optional< std::reference_wrapper<Attribute> > name; ///< Attribute value can be expected to be of type 'std::string'
15302 std::optional< std::reference_wrapper<Attribute> > size; ///< Attribute value can be expected to be of type 'double'
15303 std::optional< std::reference_wrapper<Attribute> > isBold; ///< Attribute value can be expected to be of type 'bool'
15304 std::optional< std::reference_wrapper<Attribute> > isItalic; ///< Attribute value can be expected to be of type 'bool'
15305 std::optional< std::reference_wrapper<Attribute> > isUnderline; ///< Attribute value can be expected to be of type 'bool'
15306 std::optional< std::reference_wrapper<Attribute> > isStrikeThrough; ///< Attribute value can be expected to be of type 'bool'
15307};
15308
15309} // namespace XML::bpmn
15310
15311#endif // XML_bpmn_Font_H
15312#ifndef XML_bpmn_Point_H
15313#define XML_bpmn_Point_H
15314#include <memory>
15315#include <optional>
15316#include <vector>
15317
15318
15319/**
15320 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
15321 */
15322namespace XML::bpmn {
15323
15324/**
15325 * Overview:
15326 * - Element name: Point
15327 * - XML-Schema: xsd/DC.xsd
15328 * - XML-Namespace: http://www.omg.org/spec/DD/20100524/DC
15329 *
15330 * Members:
15331 * - x : double [1..1]
15332 * - y : double [1..1]
15333 *
15334 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
15335 */
15336class Point : public XMLObject {
15337 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
15338private:
15339 static bool registerClass() {
15340 XMLObject::factory["http://www.omg.org/spec/DD/20100524/DC:Point"] = &createInstance<Point>; // register function in factory
15341 return true;
15342 };
15343 inline static bool registered = registerClass();
15344protected:
15345 Point(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
15346
15347 friend class Edge;
15348
15349public:
15350 /// default attributes to be used if they are not explicitly provided
15351 inline static const Attributes defaults = {
15352 };
15353
15354 Attribute& x; ///< Attribute value can be expected to be of type 'double'
15355 Attribute& y; ///< Attribute value can be expected to be of type 'double'
15356};
15357
15358} // namespace XML::bpmn
15359
15360#endif // XML_bpmn_Point_H
15361#ifndef XML_bpmn_Diagram_H
15362#define XML_bpmn_Diagram_H
15363#include <memory>
15364#include <optional>
15365#include <vector>
15366
15367
15368/**
15369 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
15370 */
15371namespace XML::bpmn {
15372
15373/**
15374 * Overview:
15375 * - Element name: Diagram
15376 * - XML-Schema: xsd/DI.xsd
15377 * - XML-Namespace: http://www.omg.org/spec/DD/20100524/DI
15378 *
15379 * Members:
15380 * - name : string [0..1]
15381 * - documentation : string [0..1]
15382 * - resolution : double [0..1]
15383 * - id : ID [0..1]
15384 *
15385 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
15386 */
15387class Diagram : public XMLObject {
15388 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
15389private:
15390 static bool registerClass() {
15391 XMLObject::factory["http://www.omg.org/spec/DD/20100524/DI:Diagram"] = &createInstance<Diagram>; // register function in factory
15392 return true;
15393 };
15394 inline static bool registered = registerClass();
15395protected:
15396 Diagram(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
15397
15398public:
15399 /// default attributes to be used if they are not explicitly provided
15400 inline static const Attributes defaults = {
15401 };
15402
15403 std::optional< std::reference_wrapper<Attribute> > name; ///< Attribute value can be expected to be of type 'std::string'
15404 std::optional< std::reference_wrapper<Attribute> > documentation; ///< Attribute value can be expected to be of type 'std::string'
15405 std::optional< std::reference_wrapper<Attribute> > resolution; ///< Attribute value can be expected to be of type 'double'
15406 std::optional< std::reference_wrapper<Attribute> > id; ///< Attribute value can be expected to be of type 'std::string'
15407};
15408
15409} // namespace XML::bpmn
15410
15411#endif // XML_bpmn_Diagram_H
15412#ifndef XML_bpmn_BPMNDiagram_H
15413#define XML_bpmn_BPMNDiagram_H
15414#include <memory>
15415#include <optional>
15416#include <vector>
15417
15418
15419/**
15420 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
15421 */
15422namespace XML::bpmn {
15423
15424class BPMNPlane;
15425class BPMNLabelStyle;
15426
15427/**
15428 * Overview:
15429 * - Element name: BPMNDiagram
15430 * - XML-Schema: xsd/BPMNDI.xsd
15431 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/DI
15432 *
15433 * Members:
15434 * - bpmndi_BPMNPlane : BPMNPlane [0..*]
15435 * - bpmndi_BPMNLabelStyle : BPMNLabelStyle [0..*]
15436 * - name : string [0..1] (from: Diagram)
15437 * - documentation : string [0..1] (from: Diagram)
15438 * - resolution : double [0..1] (from: Diagram)
15439 * - id : ID [0..1] (from: Diagram)
15440 *
15441 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
15442 */
15443class BPMNDiagram : public Diagram {
15444 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
15445private:
15446 static bool registerClass() {
15447 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/DI:BPMNDiagram"] = &createInstance<BPMNDiagram>; // register function in factory
15448 return true;
15449 };
15450 inline static bool registered = registerClass();
15451protected:
15452 BPMNDiagram(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
15453
15454 friend class tDefinitions;
15455
15456public:
15457 /// default attributes to be used if they are not explicitly provided
15458 inline static const Attributes defaults = {
15459 };
15460
15461 std::vector< std::reference_wrapper<BPMNPlane> > bpmndi_BPMNPlane;
15462 std::vector< std::reference_wrapper<BPMNLabelStyle> > bpmndi_BPMNLabelStyle;
15463};
15464
15465} // namespace XML::bpmn
15466
15467#endif // XML_bpmn_BPMNDiagram_H
15468#ifndef XML_bpmn_DiagramElement_H
15469#define XML_bpmn_DiagramElement_H
15470#include <memory>
15471#include <optional>
15472#include <vector>
15473
15474
15475/**
15476 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
15477 */
15478namespace XML::bpmn {
15479
15480class DiagramElement_extension;
15481
15482/**
15483 * Overview:
15484 * - Element name: DiagramElement
15485 * - XML-Schema: xsd/DI.xsd
15486 * - XML-Namespace: http://www.omg.org/spec/DD/20100524/DI
15487 *
15488 * Members:
15489 * - extension : DiagramElement_extension [0..*]
15490 * - id : ID [0..1]
15491 *
15492 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
15493 */
15495 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
15496private:
15497 static bool registerClass() {
15498 XMLObject::factory["http://www.omg.org/spec/DD/20100524/DI:DiagramElement"] = &createInstance<DiagramElement>; // register function in factory
15499 return true;
15500 };
15501 inline static bool registered = registerClass();
15502protected:
15503 DiagramElement(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
15504
15505 friend class Plane;
15506
15507public:
15508 /// default attributes to be used if they are not explicitly provided
15509 inline static const Attributes defaults = {
15510 };
15511
15512 std::vector< std::reference_wrapper<DiagramElement_extension> > extension;
15513 std::optional< std::reference_wrapper<Attribute> > id; ///< Attribute value can be expected to be of type 'std::string'
15514};
15515
15516} // namespace XML::bpmn
15517
15518#endif // XML_bpmn_DiagramElement_H
15519#ifndef XML_bpmn_DiagramElement_extension_H
15520#define XML_bpmn_DiagramElement_extension_H
15521#include <memory>
15522#include <optional>
15523#include <vector>
15524
15525
15526/**
15527 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
15528 */
15529namespace XML::bpmn {
15530
15531/**
15532 * Overview:
15533 * - Element name: DiagramElement_extension
15534 * - XML-Schema: xsd/DI.xsd
15535 * - XML-Namespace: http://www.omg.org/spec/DD/20100524/DI
15536 *
15537 * Members:
15538 *
15539 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
15540 */
15542 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
15543private:
15544 static bool registerClass() {
15545 XMLObject::factory["http://www.omg.org/spec/DD/20100524/DI:DiagramElement_extension"] = &createInstance<DiagramElement_extension>; // register function in factory
15546 return true;
15547 };
15548 inline static bool registered = registerClass();
15549protected:
15550 DiagramElement_extension(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
15551
15552 friend class DiagramElement;
15553
15554public:
15555 /// default attributes to be used if they are not explicitly provided
15556 inline static const Attributes defaults = {
15557 };
15558
15559};
15560
15561} // namespace XML::bpmn
15562
15563#endif // XML_bpmn_DiagramElement_extension_H
15564#ifndef XML_bpmn_Edge_H
15565#define XML_bpmn_Edge_H
15566#include <memory>
15567#include <optional>
15568#include <vector>
15569
15570
15571/**
15572 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
15573 */
15574namespace XML::bpmn {
15575
15576class Point;
15577
15578/**
15579 * Overview:
15580 * - Element name: Edge
15581 * - XML-Schema: xsd/DI.xsd
15582 * - XML-Namespace: http://www.omg.org/spec/DD/20100524/DI
15583 *
15584 * Members:
15585 * - waypoint : Point [2..*]
15586 * - extension : DiagramElement_extension [0..*] (from: DiagramElement)
15587 * - id : ID [0..1] (from: DiagramElement)
15588 *
15589 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
15590 */
15591class Edge : public DiagramElement {
15592 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
15593private:
15594 static bool registerClass() {
15595 XMLObject::factory["http://www.omg.org/spec/DD/20100524/DI:Edge"] = &createInstance<Edge>; // register function in factory
15596 return true;
15597 };
15598 inline static bool registered = registerClass();
15599protected:
15600 Edge(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
15601
15602public:
15603 /// default attributes to be used if they are not explicitly provided
15604 inline static const Attributes defaults = {
15605 };
15606
15607 std::vector< std::reference_wrapper<Point> > waypoint;
15608};
15609
15610} // namespace XML::bpmn
15611
15612#endif // XML_bpmn_Edge_H
15613#ifndef XML_bpmn_LabeledEdge_H
15614#define XML_bpmn_LabeledEdge_H
15615#include <memory>
15616#include <optional>
15617#include <vector>
15618
15619
15620/**
15621 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
15622 */
15623namespace XML::bpmn {
15624
15625/**
15626 * Overview:
15627 * - Element name: LabeledEdge
15628 * - XML-Schema: xsd/DI.xsd
15629 * - XML-Namespace: http://www.omg.org/spec/DD/20100524/DI
15630 *
15631 * Members:
15632 * - waypoint : Point [2..*] (from: Edge)
15633 * - extension : DiagramElement_extension [0..*] (from: DiagramElement)
15634 * - id : ID [0..1] (from: DiagramElement)
15635 *
15636 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
15637 */
15638class LabeledEdge : public Edge {
15639 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
15640private:
15641 static bool registerClass() {
15642 XMLObject::factory["http://www.omg.org/spec/DD/20100524/DI:LabeledEdge"] = &createInstance<LabeledEdge>; // register function in factory
15643 return true;
15644 };
15645 inline static bool registered = registerClass();
15646protected:
15647 LabeledEdge(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
15648
15649public:
15650 /// default attributes to be used if they are not explicitly provided
15651 inline static const Attributes defaults = {
15652 };
15653
15654};
15655
15656} // namespace XML::bpmn
15657
15658#endif // XML_bpmn_LabeledEdge_H
15659#ifndef XML_bpmn_BPMNEdge_H
15660#define XML_bpmn_BPMNEdge_H
15661#include <memory>
15662#include <optional>
15663#include <vector>
15664
15665
15666/**
15667 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
15668 */
15669namespace XML::bpmn {
15670
15671class BPMNLabel;
15672class MessageVisibleKind;
15673
15674/**
15675 * Overview:
15676 * - Element name: BPMNEdge
15677 * - XML-Schema: xsd/BPMNDI.xsd
15678 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/DI
15679 *
15680 * Members:
15681 * - bpmndi_BPMNLabel : BPMNLabel [0..*]
15682 * - bpmnElement : QName [0..1]
15683 * - sourceElement : QName [0..1]
15684 * - targetElement : QName [0..1]
15685 * - messageVisibleKind : MessageVisibleKind [0..1]
15686 * - waypoint : Point [2..*] (from: Edge)
15687 * - extension : DiagramElement_extension [0..*] (from: DiagramElement)
15688 * - id : ID [0..1] (from: DiagramElement)
15689 *
15690 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
15691 */
15692class BPMNEdge : public LabeledEdge {
15693 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
15694private:
15695 static bool registerClass() {
15696 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/DI:BPMNEdge"] = &createInstance<BPMNEdge>; // register function in factory
15697 return true;
15698 };
15699 inline static bool registered = registerClass();
15700protected:
15701 BPMNEdge(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
15702
15703public:
15704 /// default attributes to be used if they are not explicitly provided
15705 inline static const Attributes defaults = {
15706 };
15707
15708 std::vector< std::reference_wrapper<BPMNLabel> > bpmndi_BPMNLabel;
15709 std::optional< std::reference_wrapper<Attribute> > bpmnElement; ///< Attribute value can be expected to be of type 'std::string'
15710 std::optional< std::reference_wrapper<Attribute> > sourceElement; ///< Attribute value can be expected to be of type 'std::string'
15711 std::optional< std::reference_wrapper<Attribute> > targetElement; ///< Attribute value can be expected to be of type 'std::string'
15712 std::optional< std::reference_wrapper<Attribute> > messageVisibleKind; ///< Attribute value can be expected to be of type 'std::string'
15713};
15714
15715} // namespace XML::bpmn
15716
15717#endif // XML_bpmn_BPMNEdge_H
15718#ifndef XML_bpmn_Node_H
15719#define XML_bpmn_Node_H
15720#include <memory>
15721#include <optional>
15722#include <vector>
15723
15724
15725/**
15726 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
15727 */
15728namespace XML::bpmn {
15729
15730/**
15731 * Overview:
15732 * - Element name: Node
15733 * - XML-Schema: xsd/DI.xsd
15734 * - XML-Namespace: http://www.omg.org/spec/DD/20100524/DI
15735 *
15736 * Members:
15737 * - extension : DiagramElement_extension [0..*] (from: DiagramElement)
15738 * - id : ID [0..1] (from: DiagramElement)
15739 *
15740 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
15741 */
15742class Node : public DiagramElement {
15743 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
15744private:
15745 static bool registerClass() {
15746 XMLObject::factory["http://www.omg.org/spec/DD/20100524/DI:Node"] = &createInstance<Node>; // register function in factory
15747 return true;
15748 };
15749 inline static bool registered = registerClass();
15750protected:
15751 Node(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
15752
15753public:
15754 /// default attributes to be used if they are not explicitly provided
15755 inline static const Attributes defaults = {
15756 };
15757
15758};
15759
15760} // namespace XML::bpmn
15761
15762#endif // XML_bpmn_Node_H
15763#ifndef XML_bpmn_Label_H
15764#define XML_bpmn_Label_H
15765#include <memory>
15766#include <optional>
15767#include <vector>
15768
15769
15770/**
15771 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
15772 */
15773namespace XML::bpmn {
15774
15775class Bounds;
15776
15777/**
15778 * Overview:
15779 * - Element name: Label
15780 * - XML-Schema: xsd/DI.xsd
15781 * - XML-Namespace: http://www.omg.org/spec/DD/20100524/DI
15782 *
15783 * Members:
15784 * - dc_Bounds : Bounds [0..*]
15785 * - extension : DiagramElement_extension [0..*] (from: DiagramElement)
15786 * - id : ID [0..1] (from: DiagramElement)
15787 *
15788 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
15789 */
15790class Label : public Node {
15791 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
15792private:
15793 static bool registerClass() {
15794 XMLObject::factory["http://www.omg.org/spec/DD/20100524/DI:Label"] = &createInstance<Label>; // register function in factory
15795 return true;
15796 };
15797 inline static bool registered = registerClass();
15798protected:
15799 Label(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
15800
15801public:
15802 /// default attributes to be used if they are not explicitly provided
15803 inline static const Attributes defaults = {
15804 };
15805
15806 std::vector< std::reference_wrapper<Bounds> > dc_Bounds;
15807};
15808
15809} // namespace XML::bpmn
15810
15811#endif // XML_bpmn_Label_H
15812#ifndef XML_bpmn_BPMNLabel_H
15813#define XML_bpmn_BPMNLabel_H
15814#include <memory>
15815#include <optional>
15816#include <vector>
15817
15818
15819/**
15820 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
15821 */
15822namespace XML::bpmn {
15823
15824/**
15825 * Overview:
15826 * - Element name: BPMNLabel
15827 * - XML-Schema: xsd/BPMNDI.xsd
15828 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/DI
15829 *
15830 * Members:
15831 * - labelStyle : QName [0..1]
15832 * - dc_Bounds : Bounds [0..*] (from: Label)
15833 * - extension : DiagramElement_extension [0..*] (from: DiagramElement)
15834 * - id : ID [0..1] (from: DiagramElement)
15835 *
15836 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
15837 */
15838class BPMNLabel : public Label {
15839 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
15840private:
15841 static bool registerClass() {
15842 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/DI:BPMNLabel"] = &createInstance<BPMNLabel>; // register function in factory
15843 return true;
15844 };
15845 inline static bool registered = registerClass();
15846protected:
15847 BPMNLabel(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
15848
15849 friend class BPMNEdge;
15850 friend class BPMNShape;
15851
15852public:
15853 /// default attributes to be used if they are not explicitly provided
15854 inline static const Attributes defaults = {
15855 };
15856
15857 std::optional< std::reference_wrapper<Attribute> > labelStyle; ///< Attribute value can be expected to be of type 'std::string'
15858};
15859
15860} // namespace XML::bpmn
15861
15862#endif // XML_bpmn_BPMNLabel_H
15863#ifndef XML_bpmn_Plane_H
15864#define XML_bpmn_Plane_H
15865#include <memory>
15866#include <optional>
15867#include <vector>
15868
15869
15870/**
15871 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
15872 */
15873namespace XML::bpmn {
15874
15875class DiagramElement;
15876
15877/**
15878 * Overview:
15879 * - Element name: Plane
15880 * - XML-Schema: xsd/DI.xsd
15881 * - XML-Namespace: http://www.omg.org/spec/DD/20100524/DI
15882 *
15883 * Members:
15884 * - di_DiagramElement : DiagramElement [0..*]
15885 * - extension : DiagramElement_extension [0..*] (from: DiagramElement)
15886 * - id : ID [0..1] (from: DiagramElement)
15887 *
15888 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
15889 */
15890class Plane : public Node {
15891 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
15892private:
15893 static bool registerClass() {
15894 XMLObject::factory["http://www.omg.org/spec/DD/20100524/DI:Plane"] = &createInstance<Plane>; // register function in factory
15895 return true;
15896 };
15897 inline static bool registered = registerClass();
15898protected:
15899 Plane(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
15900
15901public:
15902 /// default attributes to be used if they are not explicitly provided
15903 inline static const Attributes defaults = {
15904 };
15905
15906 std::vector< std::reference_wrapper<DiagramElement> > di_DiagramElement;
15907};
15908
15909} // namespace XML::bpmn
15910
15911#endif // XML_bpmn_Plane_H
15912#ifndef XML_bpmn_BPMNPlane_H
15913#define XML_bpmn_BPMNPlane_H
15914#include <memory>
15915#include <optional>
15916#include <vector>
15917
15918
15919/**
15920 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
15921 */
15922namespace XML::bpmn {
15923
15924/**
15925 * Overview:
15926 * - Element name: BPMNPlane
15927 * - XML-Schema: xsd/BPMNDI.xsd
15928 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/DI
15929 *
15930 * Members:
15931 * - bpmnElement : QName [0..1]
15932 * - di_DiagramElement : DiagramElement [0..*] (from: Plane)
15933 * - extension : DiagramElement_extension [0..*] (from: DiagramElement)
15934 * - id : ID [0..1] (from: DiagramElement)
15935 *
15936 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
15937 */
15938class BPMNPlane : public Plane {
15939 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
15940private:
15941 static bool registerClass() {
15942 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/DI:BPMNPlane"] = &createInstance<BPMNPlane>; // register function in factory
15943 return true;
15944 };
15945 inline static bool registered = registerClass();
15946protected:
15947 BPMNPlane(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
15948
15949 friend class BPMNDiagram;
15950
15951public:
15952 /// default attributes to be used if they are not explicitly provided
15953 inline static const Attributes defaults = {
15954 };
15955
15956 std::optional< std::reference_wrapper<Attribute> > bpmnElement; ///< Attribute value can be expected to be of type 'std::string'
15957};
15958
15959} // namespace XML::bpmn
15960
15961#endif // XML_bpmn_BPMNPlane_H
15962#ifndef XML_bpmn_Shape_H
15963#define XML_bpmn_Shape_H
15964#include <memory>
15965#include <optional>
15966#include <vector>
15967
15968
15969/**
15970 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
15971 */
15972namespace XML::bpmn {
15973
15974class Bounds;
15975
15976/**
15977 * Overview:
15978 * - Element name: Shape
15979 * - XML-Schema: xsd/DI.xsd
15980 * - XML-Namespace: http://www.omg.org/spec/DD/20100524/DI
15981 *
15982 * Members:
15983 * - dc_Bounds : Bounds [0..*]
15984 * - extension : DiagramElement_extension [0..*] (from: DiagramElement)
15985 * - id : ID [0..1] (from: DiagramElement)
15986 *
15987 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
15988 */
15989class Shape : public Node {
15990 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
15991private:
15992 static bool registerClass() {
15993 XMLObject::factory["http://www.omg.org/spec/DD/20100524/DI:Shape"] = &createInstance<Shape>; // register function in factory
15994 return true;
15995 };
15996 inline static bool registered = registerClass();
15997protected:
15998 Shape(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
15999
16000public:
16001 /// default attributes to be used if they are not explicitly provided
16002 inline static const Attributes defaults = {
16003 };
16004
16005 std::vector< std::reference_wrapper<Bounds> > dc_Bounds;
16006};
16007
16008} // namespace XML::bpmn
16009
16010#endif // XML_bpmn_Shape_H
16011#ifndef XML_bpmn_LabeledShape_H
16012#define XML_bpmn_LabeledShape_H
16013#include <memory>
16014#include <optional>
16015#include <vector>
16016
16017
16018/**
16019 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
16020 */
16021namespace XML::bpmn {
16022
16023/**
16024 * Overview:
16025 * - Element name: LabeledShape
16026 * - XML-Schema: xsd/DI.xsd
16027 * - XML-Namespace: http://www.omg.org/spec/DD/20100524/DI
16028 *
16029 * Members:
16030 * - dc_Bounds : Bounds [0..*] (from: Shape)
16031 * - extension : DiagramElement_extension [0..*] (from: DiagramElement)
16032 * - id : ID [0..1] (from: DiagramElement)
16033 *
16034 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
16035 */
16036class LabeledShape : public Shape {
16037 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
16038private:
16039 static bool registerClass() {
16040 XMLObject::factory["http://www.omg.org/spec/DD/20100524/DI:LabeledShape"] = &createInstance<LabeledShape>; // register function in factory
16041 return true;
16042 };
16043 inline static bool registered = registerClass();
16044protected:
16045 LabeledShape(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
16046
16047public:
16048 /// default attributes to be used if they are not explicitly provided
16049 inline static const Attributes defaults = {
16050 };
16051
16052};
16053
16054} // namespace XML::bpmn
16055
16056#endif // XML_bpmn_LabeledShape_H
16057#ifndef XML_bpmn_BPMNShape_H
16058#define XML_bpmn_BPMNShape_H
16059#include <memory>
16060#include <optional>
16061#include <vector>
16062
16063
16064/**
16065 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
16066 */
16067namespace XML::bpmn {
16068
16069class BPMNLabel;
16070class ParticipantBandKind;
16071
16072/**
16073 * Overview:
16074 * - Element name: BPMNShape
16075 * - XML-Schema: xsd/BPMNDI.xsd
16076 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/DI
16077 *
16078 * Members:
16079 * - bpmndi_BPMNLabel : BPMNLabel [0..*]
16080 * - bpmnElement : QName [0..1]
16081 * - isHorizontal : boolean [0..1]
16082 * - isExpanded : boolean [0..1]
16083 * - isMarkerVisible : boolean [0..1]
16084 * - isMessageVisible : boolean [0..1]
16085 * - participantBandKind : ParticipantBandKind [0..1]
16086 * - choreographyActivityShape : QName [0..1]
16087 * - dc_Bounds : Bounds [0..*] (from: Shape)
16088 * - extension : DiagramElement_extension [0..*] (from: DiagramElement)
16089 * - id : ID [0..1] (from: DiagramElement)
16090 *
16091 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
16092 */
16093class BPMNShape : public LabeledShape {
16094 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
16095private:
16096 static bool registerClass() {
16097 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/DI:BPMNShape"] = &createInstance<BPMNShape>; // register function in factory
16098 return true;
16099 };
16100 inline static bool registered = registerClass();
16101protected:
16102 BPMNShape(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
16103
16104public:
16105 /// default attributes to be used if they are not explicitly provided
16106 inline static const Attributes defaults = {
16107 };
16108
16109 std::vector< std::reference_wrapper<BPMNLabel> > bpmndi_BPMNLabel;
16110 std::optional< std::reference_wrapper<Attribute> > bpmnElement; ///< Attribute value can be expected to be of type 'std::string'
16111 std::optional< std::reference_wrapper<Attribute> > isHorizontal; ///< Attribute value can be expected to be of type 'bool'
16112 std::optional< std::reference_wrapper<Attribute> > isExpanded; ///< Attribute value can be expected to be of type 'bool'
16113 std::optional< std::reference_wrapper<Attribute> > isMarkerVisible; ///< Attribute value can be expected to be of type 'bool'
16114 std::optional< std::reference_wrapper<Attribute> > isMessageVisible; ///< Attribute value can be expected to be of type 'bool'
16115 std::optional< std::reference_wrapper<Attribute> > participantBandKind; ///< Attribute value can be expected to be of type 'std::string'
16116 std::optional< std::reference_wrapper<Attribute> > choreographyActivityShape; ///< Attribute value can be expected to be of type 'std::string'
16117};
16118
16119} // namespace XML::bpmn
16120
16121#endif // XML_bpmn_BPMNShape_H
16122#ifndef XML_bpmn_Style_H
16123#define XML_bpmn_Style_H
16124#include <memory>
16125#include <optional>
16126#include <vector>
16127
16128
16129/**
16130 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
16131 */
16132namespace XML::bpmn {
16133
16134/**
16135 * Overview:
16136 * - Element name: Style
16137 * - XML-Schema: xsd/DI.xsd
16138 * - XML-Namespace: http://www.omg.org/spec/DD/20100524/DI
16139 *
16140 * Members:
16141 * - id : ID [0..1]
16142 *
16143 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
16144 */
16145class Style : public XMLObject {
16146 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
16147private:
16148 static bool registerClass() {
16149 XMLObject::factory["http://www.omg.org/spec/DD/20100524/DI:Style"] = &createInstance<Style>; // register function in factory
16150 return true;
16151 };
16152 inline static bool registered = registerClass();
16153protected:
16154 Style(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
16155
16156public:
16157 /// default attributes to be used if they are not explicitly provided
16158 inline static const Attributes defaults = {
16159 };
16160
16161 std::optional< std::reference_wrapper<Attribute> > id; ///< Attribute value can be expected to be of type 'std::string'
16162};
16163
16164} // namespace XML::bpmn
16165
16166#endif // XML_bpmn_Style_H
16167#ifndef XML_bpmn_BPMNLabelStyle_H
16168#define XML_bpmn_BPMNLabelStyle_H
16169#include <memory>
16170#include <optional>
16171#include <vector>
16172
16173
16174/**
16175 * @brief The `XML::bpmn` namespace contains classes from the following XML-schema(s): @ref xsd/DC.xsd, @ref xsd/DI.xsd, @ref xsd/BPMNDI.xsd, @ref xsd/Semantic.xsd, @ref xsd/BPMN20.xsd.
16176 */
16177namespace XML::bpmn {
16178
16179class Font;
16180
16181/**
16182 * Overview:
16183 * - Element name: BPMNLabelStyle
16184 * - XML-Schema: xsd/BPMNDI.xsd
16185 * - XML-Namespace: http://www.omg.org/spec/BPMN/20100524/DI
16186 *
16187 * Members:
16188 * - dc_Font : Font [0..*]
16189 * - id : ID [0..1] (from: Style)
16190 *
16191 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
16192 */
16193class BPMNLabelStyle : public Style {
16194 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
16195private:
16196 static bool registerClass() {
16197 XMLObject::factory["http://www.omg.org/spec/BPMN/20100524/DI:BPMNLabelStyle"] = &createInstance<BPMNLabelStyle>; // register function in factory
16198 return true;
16199 };
16200 inline static bool registered = registerClass();
16201protected:
16202 BPMNLabelStyle(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
16203
16204 friend class BPMNDiagram;
16205
16206public:
16207 /// default attributes to be used if they are not explicitly provided
16208 inline static const Attributes defaults = {
16209 };
16210
16211 std::vector< std::reference_wrapper<Font> > dc_Font;
16212};
16213
16214} // namespace XML::bpmn
16215
16216#endif // XML_bpmn_BPMNLabelStyle_H
16217#ifndef BPMN_Element_H
16218#define BPMN_Element_H
16219
16220
16221namespace BPMN {
16222
16223/**
16224 * @brief Abstract base class for all elements in a BPMN model.
16225 *
16226 * The class provides conveniance methods to cast the element to concrete types.
16227 */
16228class Element {
16229public:
16230 virtual ~Element() = default;
16231
16232 /**
16233 * @brief Attempts to cast the element to the specified type T.
16234 * @return A pointer to casted object or `nullptr` if the cast fails
16235 */
16236 template<typename T> T* represents() {
16237 return dynamic_cast<T*>(this);
16238 }
16239
16240 /**
16241 * @brief Attempts to cast the element to the specified type T.
16242 * @return A pointer to casted object or `nullptr` if the cast fails
16243 */
16244 template<typename T> const T* represents() const {
16245 return dynamic_cast<const T*>(this);
16246 }
16247
16248 /**
16249 * @brief Casts the element to the specified type T.
16250 * @return A pointer to casted object
16251 * @throws std::runtime_error if cast fails
16252 */
16253 template<typename T> T* as() {
16254 T* ptr = dynamic_cast<T*>(this);
16255 if ( ptr == nullptr ) {
16256 throw std::runtime_error("Element: Illegal cast of element");
16257 }
16258 return ptr;
16259 }
16260
16261 /**
16262 * @brief Casts the element to the specified type T.
16263 * @return A pointer to casted object
16264 * @throws std::runtime_error if cast fails
16265 */
16266 template<typename T> const T* as() const {
16267 const T* ptr = dynamic_cast<const T*>(this);
16268 if ( ptr == nullptr ) {
16269 throw std::runtime_error("Element: Illegal cast of element");
16270 }
16271 return ptr;
16272 }
16273};
16274
16275} // namespace BPMN
16276
16277#endif // BPMN_Element_H
16278#ifndef BPMN_BaseElement_H
16279#define BPMN_BaseElement_H
16280
16281
16282namespace BPMN {
16283
16284class ExtensionElements;
16285/**
16286 * @brief Base class for all core BPMN elements.
16287 *
16288 * The class allows to access the underlying XML element and may have associated extension elements.
16289 */
16290class BaseElement : public Element {
16291public:
16292 /// @brief Constructs a BaseElement object representing a BPMN element.
16294
16296
16297 /// @brief Id of element.
16298 std::string id;
16299 std::unique_ptr<ExtensionElements> extensionElements;
16300
16301 /**
16302 * @brief Attempts to return the @ref element in the specified type T.
16303 * @return A pointer to casted object or `nullptr` if the cast fails
16304 */
16305 template<typename T> T* is() {
16306 return dynamic_cast<T*>(element);
16307 }
16308
16309 /**
16310 * @brief Attempts to return the @ref element in the specified type T.
16311 * @return A pointer to casted object or `nullptr` if the cast fails
16312 */
16313 template<typename T> const T* is() const {
16314 return dynamic_cast<const T*>(element);
16315 }
16316
16317 /**
16318 * @brief Casts the @ref element to the specified type T.
16319 * @return A pointer to casted object
16320 * @throws std::runtime_error if the cast fails
16321 */
16322 template<typename T = XML::bpmn::tBaseElement> T* get() {
16323 T* ptr = dynamic_cast<T*>(element);
16324 if ( ptr == nullptr ) {
16325 throw std::runtime_error("Element: Illegal cast of element '" + (element->id.has_value() ? (std::string)element->id->get().value : "") + "'");
16326 }
16327 return ptr;
16328 }
16329
16330 /**
16331 * @brief Casts the element to the specified type T.
16332 * @return A pointer to casted object
16333 * @throws std::runtime_error if the cast fails
16334 */
16335 template<typename T = XML::bpmn::tBaseElement> const T* get() const {
16336 const T* ptr = dynamic_cast<const T*>(element);
16337 if ( ptr == nullptr ) {
16338 throw std::runtime_error("Element: Illegal cast of element" + ( element->id.has_value() ? " '" + (std::string)element->id->get().value + "'" : "" ) );
16339 }
16340 return ptr;
16341 }
16342};
16343
16344} // namespace BPMN
16345
16346#endif // BPMN_BaseElement_H
16347#ifndef BPMN_ExtensionElements_H
16348#define BPMN_ExtensionElements_H
16349
16350
16351namespace BPMN {
16352
16353class BaseElement;
16354
16355/**
16356 * @brief Base class for extension elements that may be provided for a BPMN element.
16357 */
16359public:
16361
16363
16364 /**
16365 * @brief Returns a vector of elements of type T embedded within a container of type T.
16366 **/
16367 template<class C, class T> std::vector< std::reference_wrapper<T> > get() {
16368 if ( element ) {
16369 if ( auto container = element->template getOptionalChild<C>(); container.has_value() ) {
16370 return container->get().template getChildren<T>();
16371 }
16372 }
16373 return std::vector< std::reference_wrapper<T> >();
16374 }
16375
16376 /**
16377 * @brief Returns a vector of elements of type T embedded within a container of type T.
16378 **/
16379 template<class C, class T> std::vector< std::reference_wrapper<const T> > get() const {
16380 if ( element ) {
16381 if ( auto container = element->template getOptionalChild<const C>(); container.has_value() ) {
16382 return container->get().template getChildren<const T>();
16383 }
16384 }
16385 return std::vector< std::reference_wrapper<const T> >();
16386 }
16387
16388 /**
16389 * @brief Reference to the base element the extension elements are bound to.
16390 */
16392private:
16393 /**
16394 * @brief Returns the @ref element if given or a `nullptr` otherwise.
16395 **/
16397
16398};
16399
16400} // namespace BPMN
16401
16402#endif // BPMN_ExtensionElements_H
16403#ifndef BPMN_DataObject_H
16404#define BPMN_DataObject_H
16405
16406#include <memory>
16407#include <vector>
16408#include <optional>
16409
16410namespace BPMN {
16411
16412class DataObject : public BaseElement {
16413 friend class Model;
16414public:
16418protected:
16419};
16420
16421} // namespace BPMN
16422
16423#endif // BPMN_DataObject_H
16424#ifndef BPMN_Node_H
16425#define BPMN_Node_H
16426
16427#include <memory>
16428#include <vector>
16429#include <optional>
16430#include <functional>
16431
16432namespace BPMN {
16433
16434class Model;
16435class Scope;
16436
16437class MessageFlow;
16438/**
16439 * @brief Base class for all nodes in a BPMN model.
16440 *
16441 * The Node class encapsulates the information and relationships associated with a node in a BPMN process.
16442 * It can represent both a BPMN process itself or a flow node within a process.
16443 */
16444class Node : public BaseElement {
16445 friend class Model;
16446public:
16447 /// @brief Constructs a Node object representing a BPMN process or flow node.
16449
16450 /// @brief Vector containing all message flows going in to the node.
16451 std::vector< MessageFlow* > receiving;
16452
16453 /// @brief Vector containing all message flows going out of the node.
16454 std::vector< MessageFlow* > sending;
16455
16456 /**
16457 * @brief Returns the first node found matching a given condition.
16458 *
16459 * @return A pointer to a node matching condition, or `nullptr` if no such node exists
16460 */
16461 Node* find(std::function<bool(Node*)> condition);
16462
16463 /**
16464 * @brief Returns the first node found matching a given condition.
16465 *
16466 * @return A pointer to a node matching condition, or `nullptr` if no such node exists
16467 */
16468 const Node* find(std::function<bool(const Node*)> condition) const;
16469
16470 /**
16471 * @brief Returns all nodes matching a given condition.
16472 *
16473 * @return A vector of pointers to nodes matching condition
16474 */
16475 std::vector< Node* > find_all(std::function<bool(Node*)> condition);
16476
16477 /**
16478 * @brief Returns all nodes matching a given condition.
16479 *
16480 * @return A vector of pointers to nodes matching condition
16481 */
16482 std::vector< const Node* > find_all(std::function<bool(const Node*)> condition) const;
16483
16484};
16485
16486} // namespace BPMN
16487
16488#endif // BPMN_Node_H
16489#ifndef BPMN_Scope_H
16490#define BPMN_Scope_H
16491
16492#include <memory>
16493#include <vector>
16494#include <optional>
16495
16496namespace BPMN {
16497
16498class FlowNode;
16499class Activity;
16500class EventSubProcess;
16501class SequenceFlow;
16502
16503/**
16504 * @brief Base class for BPMN elements that may contain a ChildNode elements.
16505 *
16506 * The Scope class provides functionalities to access child nodes,
16507 * event subprocesses, start nodes, and sequence flows associated
16508 * with the scope.
16509 */
16510class Scope : virtual public Node {
16511 friend class Model;
16512public:
16514
16515 /// @brief Vector containing all child nodes within the scope of the nodes.
16516 std::vector< std::unique_ptr<Node> > childNodes;
16517
16518 /// @brief Vector containing pointers to all flow nodes within the scope of the nodes.
16519 std::vector< FlowNode* > flowNodes;
16520
16521 /// @brief Vector containing pointers to all event subprocesses within the scope of the nodes.
16522 std::vector< EventSubProcess* > eventSubProcesses;
16523
16524 /// @brief Vector containing all flow nodes that may start execution of the scope.
16525 std::vector< FlowNode* > startNodes;
16526
16527 /// @brief Vector containing all sequence flows within the scope.
16528 std::vector< std::unique_ptr<SequenceFlow> > sequenceFlows;
16529
16530 /// @brief Vector containing pointers to all compensation activities within the scope.
16531 std::vector< Activity* > compensationActivities;
16532
16533 /// @brief Pointer to compensation event subprocess of the scope.
16535
16536 /// @brief Vector containing all data objects within the scope.
16537 std::vector< std::unique_ptr<DataObject> > dataObjects;
16538
16539protected:
16540 void add(std::unique_ptr<Node> node);
16541 void add(std::unique_ptr<SequenceFlow> sequenceFlow);
16542 void add(std::unique_ptr<DataObject> dataObject);
16543};
16544
16545} // namespace BPMN
16546
16547#endif // BPMN_Scope_H
16548#ifndef BPMN_ChildNode_H
16549#define BPMN_ChildNode_H
16550
16551#include <memory>
16552#include <vector>
16553#include <optional>
16554
16555namespace BPMN {
16556
16557class SequenceFlow;
16558
16559/**
16560 * @brief Base class for BPMN elements within a Scope.
16561 */
16562class ChildNode : virtual public Node {
16563 friend class Model;
16564public:
16566
16567 /// @brief Reference to the parent node.
16569};
16570
16571} // namespace BPMN
16572
16573#endif // BPMN_ChildNode_H
16574#ifndef BPMN_Process_H
16575#define BPMN_Process_H
16576
16577#include <memory>
16578#include <vector>
16579#include <optional>
16580
16581namespace BPMN {
16582
16583class Process : public Scope {
16584 friend class Model;
16585public:
16589protected:
16590};
16591
16592} // namespace BPMN
16593
16594#endif // BPMN_Process_H
16595#ifndef BPMN_EventSubProcess_H
16596#define BPMN_EventSubProcess_H
16597
16598#include <memory>
16599#include <vector>
16600#include <optional>
16601
16602namespace BPMN {
16603
16604class TypedStartEvent;
16605
16613
16614} // namespace BPMN
16615
16616#endif // BPMN_EventSubProcess_H
16617#ifndef BPMN_SequenceFlow_H
16618#define BPMN_SequenceFlow_H
16619
16620
16621namespace BPMN {
16622
16623class Scope;
16624class FlowNode;
16625
16626/**
16627 * @brief The SequenceFlow class encapsulates the information and relationships associated with a sequence flow
16628 * in a BPMN process.
16629 *
16630 * The class provides access to the underlying @ref XML::bpmn::tSequenceFlow element
16631 * and the source and target node.
16632 */
16634public:
16635 //// @brief Constructs a SequenceFlow object based on a @ref XML::bpmn::tSequenceFlow element and the parent scope.
16637
16639
16640 /// @brief Reference to the source node of the sequence flow.
16642 /// @brief Reference to the target node of the sequence flow.
16644
16645protected:
16646 FlowNode* findNode(std::string& id, Scope* scope);
16647};
16648
16649} // namespace BPMN
16650
16651#endif // BPMN_SequenceFlow_H
16652
16653#ifndef BPMN_FlowNode_H
16654#define BPMN_FlowNode_H
16655
16656#include <memory>
16657#include <vector>
16658#include <optional>
16659
16660namespace BPMN {
16661
16662class SequenceFlow;
16663
16664/**
16665 * @brief Base class for BPMN elements that may contain incoming and outgoing sequence flows.
16666 *
16667 * The FlowNode class encapsulates the information and relationships associated with a node in a BPMN process.
16668 * The class provides allows to access the parent scope as well as incoming and outgoing sequence flows.
16669 */
16670class FlowNode : public ChildNode {
16671 friend class Model;
16672public:
16675
16676 std::optional<std::string> name;
16677
16678 /// @brief Vector containing all incoming sequence flows of the node.
16679 std::vector< SequenceFlow* > incoming;
16680
16681 /// @brief Vector containing all outgoing sequence flows of the node.
16682 std::vector< SequenceFlow* > outgoing;
16683
16684protected:
16685};
16686
16687} // namespace BPMN
16688
16689#endif // BPMN_FlowNode_H
16690#ifndef BPMN_Event_H
16691#define BPMN_Event_H
16692
16693#include <memory>
16694#include <vector>
16695#include <optional>
16696
16697namespace BPMN {
16698
16699/**
16700 * @attention Multiple event definitions are not yet supported.
16701 **/
16702class Event : virtual public FlowNode {
16703 friend class Model;
16704public:
16707};
16708
16709} // namespace BPMN
16710
16711#endif // BPMN_Event_H
16712#ifndef BPMN_CatchEvent_H
16713#define BPMN_CatchEvent_H
16714
16715#include <memory>
16716#include <vector>
16717#include <optional>
16718
16719namespace BPMN {
16720
16721class CatchEvent : public Event {
16722 friend class Model;
16723public:
16726};
16727
16728} // namespace BPMN
16729
16730#endif // BPMN_CatchEvent_H
16731#ifndef BPMN_ConditionalCatchEvent_H
16732#define BPMN_ConditionalCatchEvent_H
16733
16734#include <memory>
16735#include <vector>
16736#include <optional>
16737
16738namespace BPMN {
16739
16740class ConditionalCatchEvent : virtual public CatchEvent {
16741 friend class Model;
16742public:
16744};
16745
16746} // namespace BPMN
16747
16748#endif // BPMN_ConditionalCatchEvent_H
16749#ifndef BPMN_MessageCatchEvent_H
16750#define BPMN_MessageCatchEvent_H
16751
16752#include <memory>
16753#include <vector>
16754#include <optional>
16755
16756namespace BPMN {
16757
16758class MessageCatchEvent : virtual public CatchEvent {
16759 friend class Model;
16760public:
16762};
16763
16764} // namespace BPMN
16765
16766#endif // BPMN_MessageCatchEvent_H
16767#ifndef BPMN_SignalCatchEvent_H
16768#define BPMN_SignalCatchEvent_H
16769
16770#include <memory>
16771#include <vector>
16772#include <optional>
16773
16774namespace BPMN {
16775
16776class SignalCatchEvent : virtual public CatchEvent {
16777 friend class Model;
16778public:
16780};
16781
16782} // namespace BPMN
16783
16784#endif // BPMN_SignalCatchEvent_H
16785#ifndef BPMN_TimerCatchEvent_H
16786#define BPMN_TimerCatchEvent_H
16787
16788#include <memory>
16789#include <vector>
16790#include <optional>
16791
16792namespace BPMN {
16793
16794class TimerCatchEvent : virtual public CatchEvent {
16795 friend class Model;
16796public:
16798};
16799
16800} // namespace BPMN
16801
16802#endif // BPMN_TimerCatchEvent_H
16803#ifndef BPMN_LinkTargetEvent_H
16804#define BPMN_LinkTargetEvent_H
16805
16806#include <memory>
16807#include <vector>
16808#include <optional>
16809
16810namespace BPMN {
16811
16812/**
16813 * @attention If no `linkName` is given, it is set to `name` attribute if this is given.
16814 * The sources are determined based on the `linkName`.
16815 */
16816class LinkTargetEvent : virtual public CatchEvent {
16817 friend class Model;
16818public:
16820 std::string linkName;
16821 std::vector<FlowNode*> sources;
16822};
16823
16824} // namespace BPMN
16825
16826#endif // BPMN_LinkTargetEvent_H
16827#ifndef BPMN_UntypedStartEvent_H
16828#define BPMN_UntypedStartEvent_H
16829
16830#include <memory>
16831#include <vector>
16832#include <optional>
16833
16834namespace BPMN {
16835
16836class UntypedStartEvent : virtual public CatchEvent {
16837 friend class Model;
16838public:
16840};
16841
16842} // namespace BPMN
16843
16844#endif // BPMN_UntypedStartEvent_H
16845#ifndef BPMN_TypedStartEvent_H
16846#define BPMN_TypedStartEvent_H
16847
16848
16849namespace BPMN {
16850
16851class Activity;
16852
16853/**
16854 * @brief Base class for all start events with an event definition.
16855 */
16856class TypedStartEvent : virtual public CatchEvent {
16857 friend class Model;
16858public:
16861};
16862
16863} // namespace BPMN
16864
16865#endif // BPMN_TypedStartEvent_H
16866#ifndef BPMN_CompensateStartEvent_H
16867#define BPMN_CompensateStartEvent_H
16868
16869#include <memory>
16870#include <vector>
16871#include <optional>
16872
16873namespace BPMN {
16874
16876 friend class Model;
16877public:
16879};
16880
16881} // namespace BPMN
16882
16883#endif // BPMN_CompensateStartEvent_H
16884#ifndef BPMN_ErrorStartEvent_H
16885#define BPMN_ErrorStartEvent_H
16886
16887#include <memory>
16888#include <vector>
16889#include <optional>
16890
16891namespace BPMN {
16892
16894 friend class Model;
16895public:
16897};
16898
16899} // namespace BPMN
16900
16901#endif // BPMN_ErrorStartEvent_H
16902#ifndef BPMN_EscalationStartEvent_H
16903#define BPMN_EscalationStartEvent_H
16904
16905#include <memory>
16906#include <vector>
16907#include <optional>
16908
16909namespace BPMN {
16910
16912 friend class Model;
16913public:
16915};
16916
16917} // namespace BPMN
16918
16919#endif // BPMN_EscalationStartEvent_H
16920#ifndef BPMN_ConditionalStartEvent_H
16921#define BPMN_ConditionalStartEvent_H
16922
16923#include <memory>
16924#include <vector>
16925#include <optional>
16926
16927namespace BPMN {
16928
16935
16936} // namespace BPMN
16937
16938#endif // BPMN_ConditionalStartEvent_H
16939#ifndef BPMN_MessageStartEvent_H
16940#define BPMN_MessageStartEvent_H
16941
16942#include <memory>
16943#include <vector>
16944#include <optional>
16945
16946namespace BPMN {
16947
16954
16955} // namespace BPMN
16956
16957#endif // BPMN_MessageStartEvent_H
16958#ifndef BPMN_SignalStartEvent_H
16959#define BPMN_SignalStartEvent_H
16960
16961#include <memory>
16962#include <vector>
16963#include <optional>
16964
16965namespace BPMN {
16966
16973
16974} // namespace BPMN
16975
16976#endif // BPMN_SignalStartEvent_H
16977#ifndef BPMN_TimerStartEvent_H
16978#define BPMN_TimerStartEvent_H
16979
16980#include <memory>
16981#include <vector>
16982#include <optional>
16983
16984namespace BPMN {
16985
16992
16993} // namespace BPMN
16994
16995#endif // BPMN_TimerStartEvent_H
16996#ifndef BPMN_ThrowEvent_H
16997#define BPMN_ThrowEvent_H
16998
16999#include <memory>
17000#include <vector>
17001#include <optional>
17002
17003namespace BPMN {
17004
17005class ThrowEvent : public Event {
17006 friend class Model;
17007public:
17009
17011protected:
17012};
17013
17014} // namespace BPMN
17015
17016#endif // BPMN_ThrowEvent_H
17017#ifndef BPMN_UntypedEndEvent_H
17018#define BPMN_UntypedEndEvent_H
17019
17020#include <memory>
17021#include <vector>
17022#include <optional>
17023
17024namespace BPMN {
17025
17027 friend class Model;
17028public:
17030};
17031
17032} // namespace BPMN
17033
17034#endif // BPMN_UntypedEndEvent_H
17035#ifndef BPMN_CancelEndEvent_H
17036#define BPMN_CancelEndEvent_H
17037
17038#include <memory>
17039#include <vector>
17040#include <optional>
17041
17042namespace BPMN {
17043
17045 friend class Model;
17046public:
17048};
17049
17050} // namespace BPMN
17051
17052#endif // BPMN_CancelEndEvent_H
17053#ifndef BPMN_CompensateThrowEvent_H
17054#define BPMN_CompensateThrowEvent_H
17055
17056#include <memory>
17057#include <vector>
17058#include <optional>
17059
17060namespace BPMN {
17061
17062/**
17063 * @note If @ref activity is `nullptr` then each completed Activity in relevant Scope has to be compensated.
17064 **/
17066 friend class Model;
17067public:
17069 Activity* activity; ///< Activity to be compensated
17070};
17071
17072} // namespace BPMN
17073
17074#endif // BPMN_CompensateThrowEvent_H
17075#ifndef BPMN_ErrorEndEvent_H
17076#define BPMN_ErrorEndEvent_H
17077
17078#include <memory>
17079#include <vector>
17080#include <optional>
17081
17082namespace BPMN {
17083
17085 friend class Model;
17086public:
17088};
17089
17090} // namespace BPMN
17091
17092#endif // BPMN_ErrorEndEvent_H
17093#ifndef BPMN_EscalationThrowEvent_H
17094#define BPMN_EscalationThrowEvent_H
17095
17096#include <memory>
17097#include <vector>
17098#include <optional>
17099
17100namespace BPMN {
17101
17103 friend class Model;
17104public:
17106};
17107
17108} // namespace BPMN
17109
17110#endif // BPMN_EscalationThrowEvent_H
17111#ifndef BPMN_MessageThrowEvent_H
17112#define BPMN_MessageThrowEvent_H
17113
17114#include <memory>
17115#include <vector>
17116#include <optional>
17117
17118namespace BPMN {
17119
17121 friend class Model;
17122public:
17124};
17125
17126} // namespace BPMN
17127
17128#endif // BPMN_MessageThrowEvent_H
17129#ifndef BPMN_SignalThrowEvent_H
17130#define BPMN_SignalThrowEvent_H
17131
17132#include <memory>
17133#include <vector>
17134#include <optional>
17135
17136namespace BPMN {
17137
17139 friend class Model;
17140public:
17142};
17143
17144} // namespace BPMN
17145
17146#endif // BPMN_SignalThrowEvent_H
17147#ifndef BPMN_TerminateEvent_H
17148#define BPMN_TerminateEvent_H
17149
17150#include <memory>
17151#include <vector>
17152#include <optional>
17153
17154namespace BPMN {
17155
17157 friend class Model;
17158public:
17160};
17161
17162} // namespace BPMN
17163
17164#endif // BPMN_TerminateEvent_H
17165#ifndef BPMN_LinkSourceEvent_H
17166#define BPMN_LinkSourceEvent_H
17167
17168#include <memory>
17169#include <vector>
17170#include <optional>
17171
17172namespace BPMN {
17173
17174/**
17175 * @attention If no `linkName` is given, it is set to `name` attribute if this is given.
17176 * The target is determined based on the `linkName`.
17177 */
17179 friend class Model;
17180public:
17182 std::string linkName;
17184};
17185
17186} // namespace BPMN
17187
17188#endif // BPMN_LinkSourceEvent_H
17189#ifndef BPMN_BoundaryEvent_H
17190#define BPMN_BoundaryEvent_H
17191
17192
17193namespace BPMN {
17194
17195class Activity;
17196
17197/**
17198 * @brief Base class for all boundary events attached to an Activity.
17199 */
17200class BoundaryEvent : virtual public CatchEvent {
17201 friend class Model;
17202public:
17206protected:
17208};
17209
17210} // namespace BPMN
17211
17212#endif // BPMN_BoundaryEvent_H
17213#ifndef BPMN_CancelBoundaryEvent_H
17214#define BPMN_CancelBoundaryEvent_H
17215
17216#include <memory>
17217#include <vector>
17218#include <optional>
17219
17220namespace BPMN {
17221
17222class CancelBoundaryEvent : virtual public BoundaryEvent, virtual public CatchEvent {
17223 friend class Model;
17224public:
17227};
17228
17229} // namespace BPMN
17230
17231#endif // BPMN_CancelBoundaryEvent_H
17232#ifndef BPMN_CompensateBoundaryEvent_H
17233#define BPMN_CompensateBoundaryEvent_H
17234
17235#include <memory>
17236#include <vector>
17237#include <optional>
17238
17239namespace BPMN {
17240
17241class CompensateBoundaryEvent : virtual public BoundaryEvent, virtual public CatchEvent {
17242 friend class Model;
17243public:
17246};
17247
17248} // namespace BPMN
17249
17250#endif // BPMN_CompensateBoundaryEvent_H
17251#ifndef BPMN_ConditionalBoundaryEvent_H
17252#define BPMN_ConditionalBoundaryEvent_H
17253
17254#include <memory>
17255#include <vector>
17256#include <optional>
17257
17258namespace BPMN {
17259
17266
17267} // namespace BPMN
17268
17269#endif // BPMN_ConditionalBoundaryEvent_H
17270#ifndef BPMN_ErrorBoundaryEvent_H
17271#define BPMN_ErrorBoundaryEvent_H
17272
17273#include <memory>
17274#include <vector>
17275#include <optional>
17276
17277namespace BPMN {
17278
17279class ErrorBoundaryEvent : virtual public BoundaryEvent, virtual public CatchEvent {
17280 friend class Model;
17281public:
17284};
17285
17286} // namespace BPMN
17287
17288#endif // BPMN_ErrorBoundaryEvent_H
17289#ifndef BPMN_EscalationBoundaryEvent_H
17290#define BPMN_EscalationBoundaryEvent_H
17291
17292#include <memory>
17293#include <vector>
17294#include <optional>
17295
17296namespace BPMN {
17297
17298class EscalationBoundaryEvent : virtual public BoundaryEvent, virtual public CatchEvent {
17299 friend class Model;
17300public:
17303};
17304
17305} // namespace BPMN
17306
17307#endif // BPMN_EscalationBoundaryEvent_H
17308#ifndef BPMN_MessageBoundaryEvent_H
17309#define BPMN_MessageBoundaryEvent_H
17310
17311#include <memory>
17312#include <vector>
17313#include <optional>
17314
17315namespace BPMN {
17316
17323
17324} // namespace BPMN
17325
17326#endif // BPMN_MessageBoundaryEvent_H
17327#ifndef BPMN_SignalBoundaryEvent_H
17328#define BPMN_SignalBoundaryEvent_H
17329
17330#include <memory>
17331#include <vector>
17332#include <optional>
17333
17334namespace BPMN {
17335
17342
17343} // namespace BPMN
17344
17345#endif // BPMN_SignalBoundaryEvent_H
17346#ifndef BPMN_TimerBoundaryEvent_H
17347#define BPMN_TimerBoundaryEvent_H
17348
17349#include <memory>
17350#include <vector>
17351#include <optional>
17352
17353namespace BPMN {
17354
17356 friend class Model;
17357public:
17359
17361protected:
17362};
17363
17364} // namespace BPMN
17365
17366#endif // BPMN_TimerBoundaryEvent_H
17367#ifndef BPMN_Activity_H
17368#define BPMN_Activity_H
17369
17370#include <memory>
17371#include <vector>
17372#include <optional>
17373
17374namespace BPMN {
17375
17376class BoundaryEvent;
17377
17378class Activity : virtual public FlowNode {
17379 friend class Model;
17380public:
17382
17383 std::vector< BoundaryEvent* > boundaryEvents;
17384 Node* compensatedBy; ///< Pointer to compensation activity or compensation event sub-process
17387 std::optional<LoopCharacteristics> loopCharacteristics;
17388
17390};
17391
17392} // namespace BPMN
17393
17394#endif // BPMN_Activity_H
17395#ifndef BPMN_SubProcess_H
17396#define BPMN_SubProcess_H
17397
17398#include <memory>
17399#include <vector>
17400#include <optional>
17401
17402namespace BPMN {
17403
17404class UntypedStartEvent;
17405
17406class SubProcess : public Activity, public Scope {
17407 friend class Model;
17408public:
17412protected:
17413};
17414
17415} // namespace BPMN
17416
17417#endif // BPMN_SubProcess_H
17418#ifndef BPMN_Task_H
17419#define BPMN_Task_H
17420
17421#include <memory>
17422#include <vector>
17423#include <optional>
17424
17425namespace BPMN {
17426
17427class Task : public Activity {
17428 friend class Model;
17429public:
17431
17433protected:
17434};
17435
17436} // namespace BPMN
17437
17438#endif // BPMN_Task_H
17439#ifndef BPMN_AbstractTask_H
17440#define BPMN_AbstractTask_H
17441
17442#include <memory>
17443#include <vector>
17444#include <optional>
17445
17446namespace BPMN {
17447
17448class AbstractTask : public Task {
17449 friend class Model;
17450public:
17452};
17453
17454} // namespace BPMN
17455
17456#endif // BPMN_AbstractTask_H
17457#ifndef BPMN_BusinessRuleTask_H
17458#define BPMN_BusinessRuleTask_H
17459
17460#include <memory>
17461#include <vector>
17462#include <optional>
17463
17464namespace BPMN {
17465
17466class BusinessRuleTask : public Task {
17467 friend class Model;
17468public:
17470
17472protected:
17473};
17474
17475} // namespace BPMN
17476
17477#endif // BPMN_BusinessRuleTask_H
17478#ifndef BPMN_ManualTask_H
17479#define BPMN_ManualTask_H
17480
17481#include <memory>
17482#include <vector>
17483#include <optional>
17484
17485namespace BPMN {
17486
17487class ManualTask : public Task {
17488 friend class Model;
17489public:
17491
17493protected:
17494};
17495
17496} // namespace BPMN
17497
17498#endif // BPMN_ManualTask_H
17499#ifndef BPMN_ReceiveTask_H
17500#define BPMN_ReceiveTask_H
17501
17502#include <memory>
17503#include <vector>
17504#include <optional>
17505
17506namespace BPMN {
17507
17508class ReceiveTask : public Task, public MessageCatchEvent {
17509 friend class Model;
17510public:
17512
17514protected:
17515};
17516
17517} // namespace BPMN
17518
17519#endif // BPMN_ReceiveTask_H
17520#ifndef BPMN_ScriptTask_H
17521#define BPMN_ScriptTask_H
17522
17523#include <memory>
17524#include <vector>
17525#include <optional>
17526
17527namespace BPMN {
17528
17529class ScriptTask : public Task {
17530 friend class Model;
17531public:
17533
17535protected:
17536};
17537
17538} // namespace BPMN
17539
17540#endif // BPMN_ScriptTask_H
17541#ifndef BPMN_SendTask_H
17542#define BPMN_SendTask_H
17543
17544#include <memory>
17545#include <vector>
17546#include <optional>
17547
17548namespace BPMN {
17549
17550class SendTask : public Task, public MessageThrowEvent {
17551 friend class Model;
17552public:
17554
17556protected:
17557};
17558
17559} // namespace BPMN
17560
17561#endif // BPMN_SendTask_H
17562#ifndef BPMN_UserTask_H
17563#define BPMN_UserTask_H
17564
17565#include <memory>
17566#include <vector>
17567#include <optional>
17568
17569namespace BPMN {
17570
17571class UserTask : public Task {
17572 friend class Model;
17573public:
17575
17577protected:
17578};
17579
17580} // namespace BPMN
17581
17582#endif // BPMN_UserTask_H
17583#ifndef BPMN_CallActivity_H
17584#define BPMN_CallActivity_H
17585
17586#include <memory>
17587#include <vector>
17588#include <optional>
17589
17590namespace BPMN {
17591
17592class CallActivity : public Activity {
17593 friend class Model;
17594public:
17596
17598protected:
17599};
17600
17601} // namespace BPMN
17602
17603#endif // BPMN_CallActivity_H
17604#ifndef BPMN_AdHocSubProcess_H
17605#define BPMN_AdHocSubProcess_H
17606
17607#include <memory>
17608#include <vector>
17609#include <optional>
17610
17611namespace BPMN {
17612
17613class AdHocSubProcess : public Activity, public Scope {
17614 friend class Model;
17615public:
17619};
17620
17621} // namespace BPMN
17622
17623#endif // BPMN_AdHocSubProcess_H
17624#ifndef BPMN_Transaction_H
17625#define BPMN_Transaction_H
17626
17627#include <memory>
17628#include <vector>
17629#include <optional>
17630
17631namespace BPMN {
17632
17633class Transaction : public SubProcess {
17634 friend class Model;
17635public:
17637
17639protected:
17640};
17641
17642} // namespace BPMN
17643
17644#endif // BPMN_Transaction_H
17645#ifndef BPMN_Gateway_H
17646#define BPMN_Gateway_H
17647
17648#include <memory>
17649#include <vector>
17650#include <optional>
17651
17652namespace BPMN {
17653
17654class Gateway : public FlowNode {
17655 friend class Model;
17656public:
17658
17660protected:
17661};
17662
17663} // namespace BPMN
17664
17665#endif // BPMN_Gateway_H
17666#ifndef BPMN_ParallelGateway_H
17667#define BPMN_ParallelGateway_H
17668
17669#include <memory>
17670#include <vector>
17671#include <optional>
17672
17673namespace BPMN {
17674
17675class ParallelGateway : public Gateway {
17676 friend class Model;
17677public:
17679
17681protected:
17682};
17683
17684} // namespace BPMN
17685
17686#endif // BPMN_ParallelGateway_H
17687#ifndef BPMN_ExclusiveGateway_H
17688#define BPMN_ExclusiveGateway_H
17689
17690#include <memory>
17691#include <vector>
17692#include <optional>
17693
17694namespace BPMN {
17695
17697 friend class Model;
17698public:
17700
17703protected:
17704};
17705
17706} // namespace BPMN
17707
17708#endif // BPMN_ExclusiveGateway_H
17709#ifndef BPMN_InclusiveGateway_H
17710#define BPMN_InclusiveGateway_H
17711
17712#include <memory>
17713#include <vector>
17714#include <optional>
17715
17716namespace BPMN {
17717
17719 friend class Model;
17720public:
17722
17725protected:
17726};
17727
17728} // namespace BPMN
17729
17730#endif // BPMN_InclusiveGateway_H
17731#ifndef BPMN_ComplexGateway_H
17732#define BPMN_ComplexGateway_H
17733
17734#include <memory>
17735#include <vector>
17736#include <optional>
17737
17738namespace BPMN {
17739
17740class ComplexGateway : public Gateway {
17741 friend class Model;
17742public:
17744
17747protected:
17748};
17749
17750} // namespace BPMN
17751
17752#endif // BPMN_ComplexGateway_H
17753#ifndef BPMN_EventBasedGateway_H
17754#define BPMN_EventBasedGateway_H
17755
17756#include <memory>
17757#include <vector>
17758#include <optional>
17759
17760namespace BPMN {
17761
17763 friend class Model;
17764public:
17766
17768protected:
17769};
17770
17771} // namespace BPMN
17772
17773#endif // BPMN_EventBasedGateway_H
17774#ifndef BPMN_MessageFlow_H
17775#define BPMN_MessageFlow_H
17776
17777
17778namespace BPMN {
17779
17780class Model;
17781class Process;
17782class Scope;
17783class FlowNode;
17784
17785/**
17786 * @brief The MessageFlow class encapsulates the information and relationships associated with
17787 * a message flow in a BPMN process.
17788 *
17789 * The class provides access to the underlying @ref XML::bpmn::tMessageFlow element and the source
17790 * and target node.
17791 */
17792class MessageFlow : public BaseElement {
17793public:
17794 /// @brief Constructs a MessageFlow object based on a @ref XML::bpmn::tMessageFlow element.
17796
17798
17799 /// @brief Reference to the source node of the message flow.
17800 std::pair<Process*, FlowNode*> source;
17801 /// @brief Reference to the target node of the message flow.
17802 std::pair<Process*, FlowNode*> target;
17803protected:
17804 friend class Model;
17805 void initialize(std::vector< std::unique_ptr<Process> >& processes, std::unordered_map<std::string,std::string>& participantMap);
17806 FlowNode* findRecursive(std::string& id, Scope* scope);
17807};
17808
17809} // namespace BPMN
17810
17811#endif // BPMN_MessageFlow_H
17812
17813#ifndef BPMN_Model_H
17814#define BPMN_Model_H
17815
17816#include <memory>
17817#include <vector>
17818#include <string>
17819
17820/**
17821 * @brief The `BPMN` namespace contains linked classes representing a BPMN model.
17822 *
17823 * For each supported BPMN element a wrapper is used that contains an `element`
17824 * attribute which is a pointer to the raw representation of the respective element
17825 * in the BPMN file according to the XML-schema.
17826 * @see XML::bpmn
17827 */
17828namespace BPMN {
17829
17830class Node;
17831class SequenceFlow;
17832class MessageFlow;
17833
17834
17835/**
17836 * @brief Represents a BPMN model with all its processes and message flows.
17837 *
17838 * The Model class reads a BPMN model from a file and provides access to all processes
17839 * with their content as well as to all message flows in a BPMN model.
17840 * @see @ref Process, @ref MessageFlow
17841 * @note The BPMN model is expected to conform with the BPMN specification, e.g.,
17842 * it is expected that all boundary events and start events of event subprocesses have
17843 * an event definition.
17844 * @par
17845 * @note All nodes in a process model are derived from an abstract class @ref Node. The
17846 * class model uses multiple inheritance to provide type specific attributes. References
17847 * are usually provided by pointers to a base class. Casting is required to gain access
17848 * to type specific attributes.
17849 * @par
17850 * @note The BPMN extension mechanism can be used by providing a custom model class derived
17851 * from @ref Model and a custom extension derived from the abstract base class
17852 * @ref ExtensionElements. The following example shows how an object of the custom extension
17853 * `MyExtensionElements` class can be bound to processes by overriding the method
17854 * @ref Model::createProcess in the custom model `MyModel` class:
17855 * ```
17856 * std::unique_ptr<BPMN::Process> MyModel::createProcess(XML::bpmn::tProcess* process) {
17857 * return bind<BPMN::Process>(
17858 * BPMN::Model::createProcess(process),
17859 * std::make_unique<MyExtensionElements>(process)
17860 * );
17861 * }
17862 * ```
17863 *
17864 * @warning Multiple event definitions are not yet supported. A `std::runtime_error`
17865 * will be thrown when parsing an event with multiple event definitions.
17866 *
17867 * References between different classes are automatically determined:
17868 * - For each sequence flow and each message flow, pointers to the source and target
17869 * are provided.
17870 * @see @ref SequenceFlow, @ref MessageFlow, @ref FlowNode, @ref Process
17871 *
17872 * - For each node, pointers to receiving and sending message flows are provided.
17873 * @see Node
17874 * - For each BPMN element that may have child nodes within its scope, the child nodes
17875 * and sequence flows between them are owned by the node. Pointers to each flow node,
17876 * event subprocess, start events, compensation activities, and compensation event
17877 * subprocess are given.
17878 * @see @ref Scope
17879 * - For each node within a scope, a pointer to the parent scope is provided.
17880 * @see @ref ChildNode
17881 * - For each node that may receive a flow token, pointers to all incoming and outgoing
17882 * sequence flows are given.
17883 * @see @ref FlowNode, @ref SequenceFlow
17884 * - For each subprocess, a pointer to the start event is provided.
17885 * @attention It is expected that each subprocess has a unique @ref UntypedStartEvent.
17886 * @see @ref SubProcess
17887 * - For each event subprocess, a pointer to the start event is provided.
17888 * @attention It is expected that each event subprocess has a unique @ref TypedStartEvent.
17889 * @see @ref EventSubProcess
17890 * - For each activity, pointers to each boundary event (excluding the compensation
17891 * boundary event) are provided.
17892 * @see @ref Activity, @ref BoundaryEvent
17893 * - For each activity that can be compensated, a pointer to the compensation activity
17894 * or compensation event subprocess is provided.
17895 * @attention Activities must not have both compensation activity and compensation event
17896 * subprocess.
17897 * @see @ref Activity, @ref CompensateBoundaryEvent, @ref CompensateStartEvent
17898 * - For each event attached to the boundary of an activity, a pointer to the activity
17899 * is provided.
17900 * @see @ref Activity, @ref BoundaryEvent
17901 * - For each link event, a pointer to the respective target or source(s) is provided.
17902 * @note Target and sources are matched based on the
17903 * @ref XML::bpmn::tLinkEventDefinition::name attribute in the link event
17904 * definition. If no such name is given, the @ref FlowNode::name attribute of the link
17905 * event is used as fallback.
17906 * @attention For each link source exactly one link target must be found, otherwise a
17907 * `std::runtime_error` will be thrown.
17908 * @see @ref LinkSourceEvent, @ref LinkTargetEvent, @ref XML::bpmn::tLinkEventDefinition,
17909 * @ref FlowNode
17910 * - For each throwing compensation event, a pointer to the activity to be compensated is
17911 * provided.
17912 * @note The respective activity is determined based on the
17913 * @ref XML::bpmn::tCompensateEventDefinition::activityRef attribute of the
17914 * compensation event definition and the @ref Node::id attribute of the activity. If
17915 * no such attribute reference is given, respective activity is determined based on the
17916 * @ref FlowNode::name attribute of the compensate throw event and the @ref FlowNode::name
17917 * of the activity.
17918 * @attention Compensation throw events in compensation event subprocesses can only trigger
17919 * compensation of activities within parent scope. All other compensation throw events can
17920 * only trigger compensation of activities within the same scope.
17921 * @see @ref CompensateThrowEvent, @ref XML::bpmn::tCompensateEventDefinition, @ref Activity,
17922 * @ref FlowNode
17923 **/
17924class Model {
17925protected:
17926 Model() {};
17927public:
17928 Model(const std::string& filename);
17929 virtual ~Model() = default;
17930 std::vector< std::unique_ptr<XML::XMLObject> > roots;
17931 std::vector< std::unique_ptr<Process> > processes;
17932 std::vector< std::unique_ptr<MessageFlow> > messageFlows;
17933protected:
17934 virtual void readBPMNFile(const std::string& filename);
17935 virtual std::unique_ptr<XML::XMLObject> createRoot(const std::string& filename);
17936
17937 virtual std::unique_ptr<Process> createProcess(XML::bpmn::tProcess* process);
17938 virtual std::unique_ptr<EventSubProcess> createEventSubProcess(XML::bpmn::tSubProcess* subProcess, Scope* parent);
17939 virtual std::unique_ptr<FlowNode> createFlowNode(XML::bpmn::tFlowNode* flowNode, Scope* parent);
17940
17941 virtual std::unique_ptr<FlowNode> createActivity(XML::bpmn::tActivity* activity, Scope* parent);
17942
17943 virtual std::unique_ptr<FlowNode> createSubProcess(XML::bpmn::tSubProcess* subProcess, Scope* parent);
17944 virtual std::unique_ptr<FlowNode> createCallActivity(XML::bpmn::tCallActivity* callActivity, Scope* parent);
17945 virtual std::unique_ptr<FlowNode> createAdHocSubProcess(XML::bpmn::tAdHocSubProcess* adHocSubProcess, Scope* parent);
17946 virtual std::unique_ptr<FlowNode> createTransaction(XML::bpmn::tTransaction* transaction, Scope* parent);
17947 virtual std::unique_ptr<FlowNode> createTask(XML::bpmn::tTask* task, Scope* parent);
17948
17949 virtual std::unique_ptr<FlowNode> createAbstractTask(XML::bpmn::tTask* task, Scope* parent);
17950 virtual std::unique_ptr<FlowNode> createSendTask(XML::bpmn::tSendTask* sendTask, Scope* parent);
17951 virtual std::unique_ptr<FlowNode> createReceiveTask(XML::bpmn::tReceiveTask* receiveTask, Scope* parent);
17952 virtual std::unique_ptr<FlowNode> createUserTask(XML::bpmn::tUserTask* userTask, Scope* parent);
17953 virtual std::unique_ptr<FlowNode> createManualTask(XML::bpmn::tManualTask* manualTask, Scope* parent);
17954 virtual std::unique_ptr<FlowNode> createScriptTask(XML::bpmn::tScriptTask* scriptTask, Scope* parent);
17955 virtual std::unique_ptr<FlowNode> createBusinessRuleTask(XML::bpmn::tBusinessRuleTask* businessRuleTask, Scope* parent);
17956
17957 virtual std::unique_ptr<FlowNode> createEvent(XML::bpmn::tEvent* event, Scope* parent);
17958
17959 virtual std::unique_ptr<FlowNode> createBoundaryEvent(XML::bpmn::tBoundaryEvent* boundaryEvent, Scope* parent);
17960 virtual std::unique_ptr<FlowNode> createCancelBoundaryEvent(XML::bpmn::tBoundaryEvent* boundaryEvent, Scope* parent);
17961 virtual std::unique_ptr<FlowNode> createCompensateBoundaryEvent(XML::bpmn::tBoundaryEvent* boundaryEvent, Scope* parent);
17962 virtual std::unique_ptr<FlowNode> createConditionalBoundaryEvent(XML::bpmn::tBoundaryEvent* boundaryEvent, Scope* parent);
17963 virtual std::unique_ptr<FlowNode> createErrorBoundaryEvent(XML::bpmn::tBoundaryEvent* boundaryEvent, Scope* parent);
17964 virtual std::unique_ptr<FlowNode> createEscalationBoundaryEvent(XML::bpmn::tBoundaryEvent* boundaryEvent, Scope* parent);
17965 virtual std::unique_ptr<FlowNode> createMessageBoundaryEvent(XML::bpmn::tBoundaryEvent* boundaryEvent, Scope* parent);
17966 virtual std::unique_ptr<FlowNode> createSignalBoundaryEvent(XML::bpmn::tBoundaryEvent* boundaryEvent, Scope* parent);
17967 virtual std::unique_ptr<FlowNode> createTimerBoundaryEvent(XML::bpmn::tBoundaryEvent* boundaryEvent, Scope* parent);
17968
17969 virtual std::unique_ptr<FlowNode> createCatchEvent(XML::bpmn::tCatchEvent* catchEvent, Scope* parent);
17970
17971 virtual std::unique_ptr<FlowNode> createConditionalCatchEvent(XML::bpmn::tCatchEvent* catchEvent, Scope* parent);
17972 virtual std::unique_ptr<FlowNode> createMessageCatchEvent(XML::bpmn::tCatchEvent* catchEvent, Scope* parent);
17973 virtual std::unique_ptr<FlowNode> createSignalCatchEvent(XML::bpmn::tCatchEvent* catchEvent, Scope* parent);
17974 virtual std::unique_ptr<FlowNode> createTimerCatchEvent(XML::bpmn::tCatchEvent* catchEvent, Scope* parent);
17975 virtual std::unique_ptr<FlowNode> createLinkTargetEvent(XML::bpmn::tCatchEvent* catchEvent, Scope* parent);
17976
17977 virtual std::unique_ptr<FlowNode> createTypedStartEvent(XML::bpmn::tStartEvent* startEvent, XML::bpmn::tEventDefinition& eventDefinition, Scope* parent);
17978
17979 virtual std::unique_ptr<FlowNode> createCompensateStartEvent(XML::bpmn::tStartEvent* startEvent, Scope* parent);
17980 virtual std::unique_ptr<FlowNode> createErrorStartEvent(XML::bpmn::tStartEvent* startEvent, Scope* parent);
17981 virtual std::unique_ptr<FlowNode> createEscalationStartEvent(XML::bpmn::tStartEvent* startEvent, Scope* parent);
17982 virtual std::unique_ptr<FlowNode> createConditionalStartEvent(XML::bpmn::tStartEvent* startEvent, Scope* parent);
17983 virtual std::unique_ptr<FlowNode> createMessageStartEvent(XML::bpmn::tStartEvent* startEvent, Scope* parent);
17984 virtual std::unique_ptr<FlowNode> createSignalStartEvent(XML::bpmn::tStartEvent* startEvent, Scope* parent);
17985 virtual std::unique_ptr<FlowNode> createTimerStartEvent(XML::bpmn::tStartEvent* startEvent, Scope* parent);
17986
17987 virtual std::unique_ptr<FlowNode> createUntypedStartEvent(XML::bpmn::tCatchEvent* catchEvent, Scope* parent);
17988
17989 virtual std::unique_ptr<FlowNode> createThrowEvent(XML::bpmn::tThrowEvent* throwEvent, Scope* parent);
17990 virtual std::unique_ptr<FlowNode> createCancelEndEvent(XML::bpmn::tThrowEvent* throwEvent, Scope* parent);
17991 virtual std::unique_ptr<FlowNode> createCompensateThrowEvent(XML::bpmn::tThrowEvent* throwEvent, Scope* parent);
17992 virtual std::unique_ptr<FlowNode> createErrorEndEvent(XML::bpmn::tThrowEvent* throwEvent, Scope* parent);
17993 virtual std::unique_ptr<FlowNode> createEscalationThrowEvent(XML::bpmn::tThrowEvent* throwEvent, Scope* parent);
17994 virtual std::unique_ptr<FlowNode> createMessageThrowEvent(XML::bpmn::tThrowEvent* throwEvent, Scope* parent);
17995 virtual std::unique_ptr<FlowNode> createSignalThrowEvent(XML::bpmn::tThrowEvent* throwEvent, Scope* parent);
17996 virtual std::unique_ptr<FlowNode> createTerminateEvent(XML::bpmn::tThrowEvent* throwEvent, Scope* parent);
17997 virtual std::unique_ptr<FlowNode> createLinkSourceEvent(XML::bpmn::tThrowEvent* throwEvent, Scope* parent);
17998 virtual std::unique_ptr<FlowNode> createUntypedEndEvent(XML::bpmn::tThrowEvent* throwEvent, Scope* parent);
17999 virtual std::unique_ptr<FlowNode> createGateway(XML::bpmn::tGateway* gateway, Scope* parent);
18000
18001 virtual std::unique_ptr<FlowNode> createParallelGateway(XML::bpmn::tParallelGateway* parallelGateway, Scope* parent);
18002 virtual std::unique_ptr<FlowNode> createExclusiveGateway(XML::bpmn::tExclusiveGateway* exclusiveGateway, Scope* parent);
18003 virtual std::unique_ptr<FlowNode> createInclusiveGateway(XML::bpmn::tInclusiveGateway* inclusiveGateway, Scope* parent);
18004 virtual std::unique_ptr<FlowNode> createEventBasedGateway(XML::bpmn::tEventBasedGateway* eventBasedGateway, Scope* parent);
18005 virtual std::unique_ptr<FlowNode> createComplexGateway(XML::bpmn::tComplexGateway* complexGateway, Scope* parent);
18006
18007 virtual std::unique_ptr<SequenceFlow> createSequenceFlow(XML::bpmn::tSequenceFlow* sequenceFlow, Scope* scope);
18008 virtual std::unique_ptr<DataObject> createDataObject(XML::bpmn::tDataObject* dataObject, BPMN::Scope* scope);
18009 virtual std::unique_ptr<MessageFlow> createMessageFlow(XML::bpmn::tMessageFlow* messageFlow);
18010
18011 virtual void createChildNodes(Scope* scope);
18012 virtual void createSequenceFlows(Scope* scope);
18013 virtual void createNestedReferences(Scope* scope);
18014 virtual void createFlowReferences(FlowNode* flowNode);
18015 virtual void createCompensations(Scope* scope);
18017 virtual void createLinks(Scope* scope);
18018 virtual void createMessageFlows();
18019
18020 /// Binds the extension elements to the given baseElement
18021 template< typename T>
18022 static std::unique_ptr<T> bind(std::unique_ptr<T>&& baseElement, std::unique_ptr<ExtensionElements>&& extensionElements) {
18023 baseElement->extensionElements = std::move(extensionElements);
18024 baseElement->extensionElements->baseElement = baseElement.get();
18025 return std::move(baseElement);
18026 }
18027
18028 /// Binds the extension elements to the given baseElement
18029 template< typename T>
18030 static std::unique_ptr<T> bind(std::unique_ptr<T>& baseElement, std::unique_ptr<ExtensionElements>& extensionElements) {
18031 baseElement->extensionElements = std::move(extensionElements);
18032 baseElement->extensionElements->baseElement = baseElement.get();
18033 return std::move(baseElement);
18034 }
18035
18036 /// Binds the extension elements to the given baseElement
18037 template< typename T>
18038 static std::unique_ptr<T> bind(std::unique_ptr<T>& baseElement, std::unique_ptr<ExtensionElements>&& extensionElements) {
18039 baseElement->extensionElements = std::move(extensionElements);
18040 baseElement->extensionElements->baseElement = baseElement.get();
18041 return std::move(baseElement);
18042 }
18043
18044 /// Binds the extension elements to the given baseElement
18045 template< typename T>
18046 static std::unique_ptr<T> bind(std::unique_ptr<T>&& baseElement, std::unique_ptr<ExtensionElements>& extensionElements) {
18047 baseElement->extensionElements = std::move(extensionElements);
18048 baseElement->extensionElements->baseElement = baseElement.get();
18049 return std::move(baseElement);
18050 }
18051
18052
18053
18054};
18055
18056} // namespace BPMN
18057
18058#endif // BPMN_Model_H
AbstractTask(XML::bpmn::tTask *task, Scope *parent)
std::vector< BoundaryEvent * > boundaryEvents
Definition bpmn++.h:17383
XML::bpmn::tActivity * element
Definition bpmn++.h:17389
Activity(XML::bpmn::tActivity *activity, Scope *parent)
Node * compensatedBy
Pointer to compensation activity or compensation event sub-process.
Definition bpmn++.h:17384
bool isForCompensation
Definition bpmn++.h:17385
std::optional< LoopCharacteristics > loopCharacteristics
Definition bpmn++.h:17387
XML::bpmn::tAdHocSubProcess * element
Definition bpmn++.h:17618
AdHocSubProcess(XML::bpmn::tAdHocSubProcess *adHocSubProcess, Scope *parent)
Base class for all core BPMN elements.
Definition bpmn++.h:16290
T * is()
Attempts to return the element in the specified type T.
Definition bpmn++.h:16305
std::unique_ptr< ExtensionElements > extensionElements
Definition bpmn++.h:16299
const T * get() const
Casts the element to the specified type T.
Definition bpmn++.h:16335
std::string id
Id of element.
Definition bpmn++.h:16298
const T * is() const
Attempts to return the element in the specified type T.
Definition bpmn++.h:16313
BaseElement(XML::bpmn::tBaseElement *element)
Constructs a BaseElement object representing a BPMN element.
XML::bpmn::tBaseElement * element
Definition bpmn++.h:16295
T * get()
Casts the element to the specified type T.
Definition bpmn++.h:16322
Base class for all boundary events attached to an Activity.
Definition bpmn++.h:17200
BoundaryEvent(XML::bpmn::tBoundaryEvent *boundaryEvent, Scope *parent)
Activity * attachedTo
Definition bpmn++.h:17205
Activity * resolveReference()
BusinessRuleTask(XML::bpmn::tBusinessRuleTask *businessRuleTask, Scope *parent)
XML::bpmn::tBusinessRuleTask * element
Definition bpmn++.h:17471
CallActivity(XML::bpmn::tCallActivity *callActivity, Scope *parent)
XML::bpmn::tCallActivity * element
Definition bpmn++.h:17597
XML::bpmn::tBoundaryEvent * element
Definition bpmn++.h:17226
CancelBoundaryEvent(XML::bpmn::tBoundaryEvent *boundaryEvent, Scope *parent)
CancelEndEvent(XML::bpmn::tThrowEvent *throwEvent, Scope *parent)
XML::bpmn::tCatchEvent * element
Definition bpmn++.h:16725
CatchEvent(XML::bpmn::tCatchEvent *catchEvent, Scope *parent)
Base class for BPMN elements within a Scope.
Definition bpmn++.h:16562
Scope * parent
Reference to the parent node.
Definition bpmn++.h:16568
ChildNode(XML::bpmn::tBaseElement *element, Scope *parent)
CompensateBoundaryEvent(XML::bpmn::tBoundaryEvent *boundaryEvent, Scope *parent)
XML::bpmn::tBoundaryEvent * element
Definition bpmn++.h:17245
CompensateStartEvent(XML::bpmn::tStartEvent *startEvent, Scope *parent)
Activity * activity
Activity to be compensated.
Definition bpmn++.h:17069
CompensateThrowEvent(XML::bpmn::tThrowEvent *throwEvent, Scope *parent)
ComplexGateway(XML::bpmn::tComplexGateway *complexGateway, Scope *parent)
XML::bpmn::tComplexGateway * element
Definition bpmn++.h:17745
SequenceFlow * defaultFlow
Definition bpmn++.h:17746
ConditionalBoundaryEvent(XML::bpmn::tBoundaryEvent *boundaryEvent, Scope *parent)
XML::bpmn::tBoundaryEvent * element
Definition bpmn++.h:17264
ConditionalCatchEvent(XML::bpmn::tCatchEvent *catchEvent, Scope *parent)
XML::bpmn::tStartEvent * element
Definition bpmn++.h:16933
ConditionalStartEvent(XML::bpmn::tStartEvent *startEvent, Scope *parent)
XML::bpmn::tDataObject * element
Definition bpmn++.h:16417
DataObject(XML::bpmn::tDataObject *dataObject)
Abstract base class for all elements in a BPMN model.
Definition bpmn++.h:16228
const T * represents() const
Attempts to cast the element to the specified type T.
Definition bpmn++.h:16244
const T * as() const
Casts the element to the specified type T.
Definition bpmn++.h:16266
T * as()
Casts the element to the specified type T.
Definition bpmn++.h:16253
virtual ~Element()=default
T * represents()
Attempts to cast the element to the specified type T.
Definition bpmn++.h:16236
ErrorBoundaryEvent(XML::bpmn::tBoundaryEvent *boundaryEvent, Scope *parent)
XML::bpmn::tBoundaryEvent * element
Definition bpmn++.h:17283
ErrorEndEvent(XML::bpmn::tThrowEvent *throwEvent, Scope *parent)
ErrorStartEvent(XML::bpmn::tStartEvent *startEvent, Scope *parent)
XML::bpmn::tBoundaryEvent * element
Definition bpmn++.h:17302
EscalationBoundaryEvent(XML::bpmn::tBoundaryEvent *boundaryEvent, Scope *parent)
EscalationStartEvent(XML::bpmn::tStartEvent *startEvent, Scope *parent)
EscalationThrowEvent(XML::bpmn::tThrowEvent *throwEvent, Scope *parent)
XML::bpmn::tEventBasedGateway * element
Definition bpmn++.h:17767
EventBasedGateway(XML::bpmn::tEventBasedGateway *eventBasedGateway, Scope *parent)
XML::bpmn::tSubProcess * element
Definition bpmn++.h:16611
TypedStartEvent * startEvent
Definition bpmn++.h:16610
EventSubProcess(XML::bpmn::tSubProcess *subProcess, Scope *parent)
Event(XML::bpmn::tEvent *event, Scope *parent)
XML::bpmn::tEvent * element
Definition bpmn++.h:16706
XML::bpmn::tExclusiveGateway * element
Definition bpmn++.h:17701
SequenceFlow * defaultFlow
Definition bpmn++.h:17702
ExclusiveGateway(XML::bpmn::tExclusiveGateway *exclusiveGateway, Scope *parent)
Base class for extension elements that may be provided for a BPMN element.
Definition bpmn++.h:16358
BaseElement * baseElement
Reference to the base element the extension elements are bound to.
Definition bpmn++.h:16391
std::vector< std::reference_wrapper< const T > > get() const
Returns a vector of elements of type T embedded within a container of type T.
Definition bpmn++.h:16379
ExtensionElements(XML::bpmn::tBaseElement *element)
std::vector< std::reference_wrapper< T > > get()
Returns a vector of elements of type T embedded within a container of type T.
Definition bpmn++.h:16367
XML::bpmn::tExtensionElements * element
Definition bpmn++.h:16362
Base class for BPMN elements that may contain incoming and outgoing sequence flows.
Definition bpmn++.h:16670
std::optional< std::string > name
Definition bpmn++.h:16676
std::vector< SequenceFlow * > incoming
Vector containing all incoming sequence flows of the node.
Definition bpmn++.h:16679
XML::bpmn::tFlowNode * element
Definition bpmn++.h:16673
std::vector< SequenceFlow * > outgoing
Vector containing all outgoing sequence flows of the node.
Definition bpmn++.h:16682
FlowNode(XML::bpmn::tFlowNode *flowNode, Scope *parent)
Gateway(XML::bpmn::tGateway *gateway, Scope *parent)
XML::bpmn::tGateway * element
Definition bpmn++.h:17659
XML::bpmn::tInclusiveGateway * element
Definition bpmn++.h:17723
SequenceFlow * defaultFlow
Definition bpmn++.h:17724
InclusiveGateway(XML::bpmn::tInclusiveGateway *inclusiveGateway, Scope *parent)
std::string linkName
Definition bpmn++.h:17182
LinkSourceEvent(XML::bpmn::tThrowEvent *throwEvent, Scope *parent)
std::string linkName
Definition bpmn++.h:16820
LinkTargetEvent(XML::bpmn::tCatchEvent *catchEvent, Scope *parent)
std::vector< FlowNode * > sources
Definition bpmn++.h:16821
ManualTask(XML::bpmn::tManualTask *manualTask, Scope *parent)
XML::bpmn::tManualTask * element
Definition bpmn++.h:17492
MessageBoundaryEvent(XML::bpmn::tBoundaryEvent *boundaryEvent, Scope *parent)
XML::bpmn::tBoundaryEvent * element
Definition bpmn++.h:17321
MessageCatchEvent(XML::bpmn::tCatchEvent *catchEvent, Scope *parent)
The MessageFlow class encapsulates the information and relationships associated with a message flow i...
Definition bpmn++.h:17792
std::pair< Process *, FlowNode * > target
Reference to the target node of the message flow.
Definition bpmn++.h:17802
void initialize(std::vector< std::unique_ptr< Process > > &processes, std::unordered_map< std::string, std::string > &participantMap)
FlowNode * findRecursive(std::string &id, Scope *scope)
XML::bpmn::tMessageFlow * element
Definition bpmn++.h:17797
MessageFlow(XML::bpmn::tMessageFlow *messageFlow)
Constructs a MessageFlow object based on a XML::bpmn::tMessageFlow element.
std::pair< Process *, FlowNode * > source
Reference to the source node of the message flow.
Definition bpmn++.h:17800
MessageStartEvent(XML::bpmn::tStartEvent *startEvent, Scope *parent)
XML::bpmn::tStartEvent * element
Definition bpmn++.h:16952
MessageThrowEvent(XML::bpmn::tThrowEvent *throwEvent, Scope *parent)
Represents a BPMN model with all its processes and message flows.
Definition bpmn++.h:17924
virtual std::unique_ptr< FlowNode > createTerminateEvent(XML::bpmn::tThrowEvent *throwEvent, Scope *parent)
virtual std::unique_ptr< FlowNode > createErrorStartEvent(XML::bpmn::tStartEvent *startEvent, Scope *parent)
virtual std::unique_ptr< FlowNode > createTypedStartEvent(XML::bpmn::tStartEvent *startEvent, XML::bpmn::tEventDefinition &eventDefinition, Scope *parent)
Model(const std::string &filename)
virtual void createNestedReferences(Scope *scope)
virtual std::unique_ptr< FlowNode > createTimerStartEvent(XML::bpmn::tStartEvent *startEvent, Scope *parent)
virtual std::unique_ptr< FlowNode > createReceiveTask(XML::bpmn::tReceiveTask *receiveTask, Scope *parent)
virtual std::unique_ptr< FlowNode > createMessageThrowEvent(XML::bpmn::tThrowEvent *throwEvent, Scope *parent)
std::vector< std::unique_ptr< Process > > processes
Definition bpmn++.h:17931
virtual std::unique_ptr< FlowNode > createMessageBoundaryEvent(XML::bpmn::tBoundaryEvent *boundaryEvent, Scope *parent)
virtual std::unique_ptr< SequenceFlow > createSequenceFlow(XML::bpmn::tSequenceFlow *sequenceFlow, Scope *scope)
virtual std::unique_ptr< FlowNode > createSignalBoundaryEvent(XML::bpmn::tBoundaryEvent *boundaryEvent, Scope *parent)
virtual std::unique_ptr< FlowNode > createErrorEndEvent(XML::bpmn::tThrowEvent *throwEvent, Scope *parent)
static std::unique_ptr< T > bind(std::unique_ptr< T > &&baseElement, std::unique_ptr< ExtensionElements > &extensionElements)
Binds the extension elements to the given baseElement.
Definition bpmn++.h:18046
virtual std::unique_ptr< FlowNode > createCompensateStartEvent(XML::bpmn::tStartEvent *startEvent, Scope *parent)
virtual void createCompensationReferences(Scope *scope)
virtual std::unique_ptr< FlowNode > createErrorBoundaryEvent(XML::bpmn::tBoundaryEvent *boundaryEvent, Scope *parent)
virtual std::unique_ptr< FlowNode > createEscalationStartEvent(XML::bpmn::tStartEvent *startEvent, Scope *parent)
virtual std::unique_ptr< FlowNode > createCompensateThrowEvent(XML::bpmn::tThrowEvent *throwEvent, Scope *parent)
virtual std::unique_ptr< FlowNode > createUntypedEndEvent(XML::bpmn::tThrowEvent *throwEvent, Scope *parent)
virtual void readBPMNFile(const std::string &filename)
virtual std::unique_ptr< FlowNode > createCancelBoundaryEvent(XML::bpmn::tBoundaryEvent *boundaryEvent, Scope *parent)
virtual std::unique_ptr< FlowNode > createLinkTargetEvent(XML::bpmn::tCatchEvent *catchEvent, Scope *parent)
virtual std::unique_ptr< FlowNode > createUserTask(XML::bpmn::tUserTask *userTask, Scope *parent)
virtual std::unique_ptr< DataObject > createDataObject(XML::bpmn::tDataObject *dataObject, BPMN::Scope *scope)
virtual void createSequenceFlows(Scope *scope)
virtual std::unique_ptr< FlowNode > createTimerBoundaryEvent(XML::bpmn::tBoundaryEvent *boundaryEvent, Scope *parent)
static std::unique_ptr< T > bind(std::unique_ptr< T > &baseElement, std::unique_ptr< ExtensionElements > &extensionElements)
Binds the extension elements to the given baseElement.
Definition bpmn++.h:18030
virtual void createChildNodes(Scope *scope)
virtual std::unique_ptr< FlowNode > createInclusiveGateway(XML::bpmn::tInclusiveGateway *inclusiveGateway, Scope *parent)
virtual std::unique_ptr< FlowNode > createTimerCatchEvent(XML::bpmn::tCatchEvent *catchEvent, Scope *parent)
virtual std::unique_ptr< FlowNode > createMessageStartEvent(XML::bpmn::tStartEvent *startEvent, Scope *parent)
virtual std::unique_ptr< FlowNode > createCatchEvent(XML::bpmn::tCatchEvent *catchEvent, Scope *parent)
virtual std::unique_ptr< FlowNode > createEvent(XML::bpmn::tEvent *event, Scope *parent)
virtual std::unique_ptr< FlowNode > createConditionalBoundaryEvent(XML::bpmn::tBoundaryEvent *boundaryEvent, Scope *parent)
static std::unique_ptr< T > bind(std::unique_ptr< T > &baseElement, std::unique_ptr< ExtensionElements > &&extensionElements)
Binds the extension elements to the given baseElement.
Definition bpmn++.h:18038
virtual void createCompensations(Scope *scope)
virtual std::unique_ptr< FlowNode > createEscalationThrowEvent(XML::bpmn::tThrowEvent *throwEvent, Scope *parent)
virtual std::unique_ptr< FlowNode > createScriptTask(XML::bpmn::tScriptTask *scriptTask, Scope *parent)
virtual std::unique_ptr< FlowNode > createCallActivity(XML::bpmn::tCallActivity *callActivity, Scope *parent)
std::vector< std::unique_ptr< MessageFlow > > messageFlows
Definition bpmn++.h:17932
virtual std::unique_ptr< FlowNode > createParallelGateway(XML::bpmn::tParallelGateway *parallelGateway, Scope *parent)
virtual std::unique_ptr< FlowNode > createActivity(XML::bpmn::tActivity *activity, Scope *parent)
virtual std::unique_ptr< XML::XMLObject > createRoot(const std::string &filename)
virtual std::unique_ptr< FlowNode > createCompensateBoundaryEvent(XML::bpmn::tBoundaryEvent *boundaryEvent, Scope *parent)
virtual std::unique_ptr< FlowNode > createExclusiveGateway(XML::bpmn::tExclusiveGateway *exclusiveGateway, Scope *parent)
virtual std::unique_ptr< FlowNode > createCancelEndEvent(XML::bpmn::tThrowEvent *throwEvent, Scope *parent)
virtual std::unique_ptr< FlowNode > createEventBasedGateway(XML::bpmn::tEventBasedGateway *eventBasedGateway, Scope *parent)
virtual std::unique_ptr< FlowNode > createConditionalStartEvent(XML::bpmn::tStartEvent *startEvent, Scope *parent)
virtual ~Model()=default
std::vector< std::unique_ptr< XML::XMLObject > > roots
Definition bpmn++.h:17930
virtual std::unique_ptr< FlowNode > createManualTask(XML::bpmn::tManualTask *manualTask, Scope *parent)
virtual std::unique_ptr< FlowNode > createConditionalCatchEvent(XML::bpmn::tCatchEvent *catchEvent, Scope *parent)
virtual void createFlowReferences(FlowNode *flowNode)
virtual std::unique_ptr< FlowNode > createUntypedStartEvent(XML::bpmn::tCatchEvent *catchEvent, Scope *parent)
virtual std::unique_ptr< EventSubProcess > createEventSubProcess(XML::bpmn::tSubProcess *subProcess, Scope *parent)
virtual std::unique_ptr< FlowNode > createThrowEvent(XML::bpmn::tThrowEvent *throwEvent, Scope *parent)
virtual std::unique_ptr< FlowNode > createBoundaryEvent(XML::bpmn::tBoundaryEvent *boundaryEvent, Scope *parent)
virtual void createMessageFlows()
virtual std::unique_ptr< FlowNode > createEscalationBoundaryEvent(XML::bpmn::tBoundaryEvent *boundaryEvent, Scope *parent)
virtual std::unique_ptr< FlowNode > createTransaction(XML::bpmn::tTransaction *transaction, Scope *parent)
virtual std::unique_ptr< FlowNode > createAbstractTask(XML::bpmn::tTask *task, Scope *parent)
virtual std::unique_ptr< FlowNode > createAdHocSubProcess(XML::bpmn::tAdHocSubProcess *adHocSubProcess, Scope *parent)
virtual std::unique_ptr< FlowNode > createMessageCatchEvent(XML::bpmn::tCatchEvent *catchEvent, Scope *parent)
virtual std::unique_ptr< MessageFlow > createMessageFlow(XML::bpmn::tMessageFlow *messageFlow)
virtual std::unique_ptr< FlowNode > createSignalThrowEvent(XML::bpmn::tThrowEvent *throwEvent, Scope *parent)
virtual std::unique_ptr< FlowNode > createBusinessRuleTask(XML::bpmn::tBusinessRuleTask *businessRuleTask, Scope *parent)
virtual void createLinks(Scope *scope)
virtual std::unique_ptr< FlowNode > createSignalCatchEvent(XML::bpmn::tCatchEvent *catchEvent, Scope *parent)
virtual std::unique_ptr< Process > createProcess(XML::bpmn::tProcess *process)
virtual std::unique_ptr< FlowNode > createTask(XML::bpmn::tTask *task, Scope *parent)
virtual std::unique_ptr< FlowNode > createSubProcess(XML::bpmn::tSubProcess *subProcess, Scope *parent)
static std::unique_ptr< T > bind(std::unique_ptr< T > &&baseElement, std::unique_ptr< ExtensionElements > &&extensionElements)
Binds the extension elements to the given baseElement.
Definition bpmn++.h:18022
virtual std::unique_ptr< FlowNode > createSendTask(XML::bpmn::tSendTask *sendTask, Scope *parent)
virtual std::unique_ptr< FlowNode > createSignalStartEvent(XML::bpmn::tStartEvent *startEvent, Scope *parent)
virtual std::unique_ptr< FlowNode > createGateway(XML::bpmn::tGateway *gateway, Scope *parent)
virtual std::unique_ptr< FlowNode > createComplexGateway(XML::bpmn::tComplexGateway *complexGateway, Scope *parent)
virtual std::unique_ptr< FlowNode > createFlowNode(XML::bpmn::tFlowNode *flowNode, Scope *parent)
virtual std::unique_ptr< FlowNode > createLinkSourceEvent(XML::bpmn::tThrowEvent *throwEvent, Scope *parent)
Base class for all nodes in a BPMN model.
Definition bpmn++.h:16444
Node * find(std::function< bool(Node *)> condition)
Returns the first node found matching a given condition.
std::vector< Node * > find_all(std::function< bool(Node *)> condition)
Returns all nodes matching a given condition.
const Node * find(std::function< bool(const Node *)> condition) const
Returns the first node found matching a given condition.
std::vector< const Node * > find_all(std::function< bool(const Node *)> condition) const
Returns all nodes matching a given condition.
std::vector< MessageFlow * > receiving
Vector containing all message flows going in to the node.
Definition bpmn++.h:16451
std::vector< MessageFlow * > sending
Vector containing all message flows going out of the node.
Definition bpmn++.h:16454
Node(XML::bpmn::tBaseElement *element)
Constructs a Node object representing a BPMN process or flow node.
ParallelGateway(XML::bpmn::tParallelGateway *parallelGateway, Scope *parent)
XML::bpmn::tParallelGateway * element
Definition bpmn++.h:17680
Process(XML::bpmn::tProcess *process)
bool isExecutable
Definition bpmn++.h:16587
XML::bpmn::tProcess * element
Definition bpmn++.h:16588
ReceiveTask(XML::bpmn::tReceiveTask *receiveTask, Scope *parent)
XML::bpmn::tReceiveTask * element
Definition bpmn++.h:17513
Base class for BPMN elements that may contain a ChildNode elements.
Definition bpmn++.h:16510
std::vector< FlowNode * > startNodes
Vector containing all flow nodes that may start execution of the scope.
Definition bpmn++.h:16525
std::vector< Activity * > compensationActivities
Vector containing pointers to all compensation activities within the scope.
Definition bpmn++.h:16531
EventSubProcess * compensationEventSubProcess
Pointer to compensation event subprocess of the scope.
Definition bpmn++.h:16534
std::vector< EventSubProcess * > eventSubProcesses
Vector containing pointers to all event subprocesses within the scope of the nodes.
Definition bpmn++.h:16522
std::vector< FlowNode * > flowNodes
Vector containing pointers to all flow nodes within the scope of the nodes.
Definition bpmn++.h:16519
Scope(XML::bpmn::tBaseElement *element)
void add(std::unique_ptr< DataObject > dataObject)
std::vector< std::unique_ptr< SequenceFlow > > sequenceFlows
Vector containing all sequence flows within the scope.
Definition bpmn++.h:16528
std::vector< std::unique_ptr< DataObject > > dataObjects
Vector containing all data objects within the scope.
Definition bpmn++.h:16537
void add(std::unique_ptr< SequenceFlow > sequenceFlow)
void add(std::unique_ptr< Node > node)
std::vector< std::unique_ptr< Node > > childNodes
Vector containing all child nodes within the scope of the nodes.
Definition bpmn++.h:16516
XML::bpmn::tScriptTask * element
Definition bpmn++.h:17534
ScriptTask(XML::bpmn::tScriptTask *scriptTask, Scope *parent)
XML::bpmn::tSendTask * element
Definition bpmn++.h:17555
SendTask(XML::bpmn::tSendTask *sendTask, Scope *parent)
The SequenceFlow class encapsulates the information and relationships associated with a sequence flow...
Definition bpmn++.h:16633
FlowNode * target
Reference to the target node of the sequence flow.
Definition bpmn++.h:16643
FlowNode * findNode(std::string &id, Scope *scope)
XML::bpmn::tSequenceFlow * element
Definition bpmn++.h:16638
FlowNode * source
Reference to the source node of the sequence flow.
Definition bpmn++.h:16641
SequenceFlow(XML::bpmn::tSequenceFlow *sequenceFlow, Scope *scope)
XML::bpmn::tBoundaryEvent * element
Definition bpmn++.h:17340
SignalBoundaryEvent(XML::bpmn::tBoundaryEvent *boundaryEvent, Scope *parent)
SignalCatchEvent(XML::bpmn::tCatchEvent *catchEvent, Scope *parent)
XML::bpmn::tStartEvent * element
Definition bpmn++.h:16971
SignalStartEvent(XML::bpmn::tStartEvent *startEvent, Scope *parent)
SignalThrowEvent(XML::bpmn::tThrowEvent *throwEvent, Scope *parent)
UntypedStartEvent * startEvent
Definition bpmn++.h:17410
XML::bpmn::tSubProcess * element
Definition bpmn++.h:17411
SubProcess(XML::bpmn::tSubProcess *subProcess, Scope *parent)
XML::bpmn::tTask * element
Definition bpmn++.h:17432
Task(XML::bpmn::tTask *task, Scope *parent)
TerminateEvent(XML::bpmn::tThrowEvent *throwEvent, Scope *parent)
XML::bpmn::tThrowEvent * element
Definition bpmn++.h:17010
ThrowEvent(XML::bpmn::tThrowEvent *throwEvent, Scope *parent)
TimerBoundaryEvent(XML::bpmn::tBoundaryEvent *boundaryEvent, Scope *parent)
XML::bpmn::tBoundaryEvent * element
Definition bpmn++.h:17360
TimerCatchEvent(XML::bpmn::tCatchEvent *catchEvent, Scope *parent)
XML::bpmn::tStartEvent * element
Definition bpmn++.h:16990
TimerStartEvent(XML::bpmn::tStartEvent *startEvent, Scope *parent)
Transaction(XML::bpmn::tTransaction *transaction, Scope *parent)
XML::bpmn::tTransaction * element
Definition bpmn++.h:17638
Base class for all start events with an event definition.
Definition bpmn++.h:16856
TypedStartEvent(XML::bpmn::tStartEvent *startEvent, Scope *parent)
UntypedEndEvent(XML::bpmn::tThrowEvent *throwEvent, Scope *parent)
UntypedStartEvent(XML::bpmn::tCatchEvent *catchEvent, Scope *parent)
UserTask(XML::bpmn::tUserTask *userTask, Scope *parent)
XML::bpmn::tUserTask * element
Definition bpmn++.h:17576
A class representing a node in an XML-tree.
Definition XMLObject.h:115
const T * get() const
Attempt to cast the current instance to the specified type T.
Definition bpmn++.h:185
Attributes attributes
Definition bpmn++.h:250
const T * is() const
Definition bpmn++.h:163
std::vector< std::reference_wrapper< T > > find()
Find all descendants of type T.
Definition bpmn++.h:223
static XMLObject * createFromFile(const std::string &filename)
Create an XMLObject from an XML file.
Definition XMLObject.cpp:80
static XMLObject * createFromString(const std::string &xmlString)
Create an XMLObject from a string representation of XML.
Definition XMLObject.cpp:74
static XMLObject * createObject(const xercesc::DOMElement *element)
std::optional< std::reference_wrapper< T > > getOptionalChild()
Get an optional child of type T.
Definition bpmn++.h:288
std::optional< std::reference_wrapper< Attribute > > getOptionalAttributeByName(const AttributeName &attributeName)
Get an optional attribute with the specified attribute name.
ElementName elementName
Definition bpmn++.h:246
const ClassName className
Definition bpmn++.h:244
std::string format(std::string indentation="\t", unsigned int depth=0) const
Creates formated string representing the XMLObject including its children.
Children children
Child nodes of the XML element.
Definition bpmn++.h:249
Namespace prefix
Definition bpmn++.h:245
T * is()
Returns a pointer of type T of the object.
Definition bpmn++.h:159
static Factory factory
Definition bpmn++.h:156
XMLObject & getRequiredChildByName(const ElementName &elementName)
Get a required child with the specified element name.
TextContent textContent
Textual content of XML element without children.
Definition bpmn++.h:248
std::string stringify() const
Convert the XMLObject and its children to a string representation.
std::vector< std::reference_wrapper< XMLObject > > getChildrenByName(const ElementName &elementName)
Get all children with the specified element name.
XMLObject(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
Template function used to store in factory.
Definition bpmn++.h:85
std::vector< std::reference_wrapper< const T > > find() const
Find all descendants of type T.
Definition bpmn++.h:236
static XMLObject * createFromStream(std::istream &xmlStream)
Create an XMLObject from the input stream.
Definition XMLObject.cpp:46
std::optional< std::reference_wrapper< XMLObject > > getOptionalChildByName(const ElementName &elementName)
Get the optional child with the specified element name.
virtual ~XMLObject()
Definition bpmn++.h:146
std::vector< std::reference_wrapper< T > > getChildren()
Get all children of type T.
Definition bpmn++.h:302
T * get()
Attempt to cast the current instance to the specified type T.
Definition bpmn++.h:172
Attribute & getRequiredAttributeByName(const AttributeName &attributeName)
Get a required attribute with the specified attribute name.
static const Attributes defaults
Attributes of the XML element.
Definition bpmn++.h:251
Namespace xmlns
Definition bpmn++.h:243
T & getRequiredChild()
Get a required child of type T.
Definition bpmn++.h:273
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
std::vector< std::reference_wrapper< BPMNPlane > > bpmndi_BPMNPlane
Definition bpmn++.h:15461
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:15458
BPMNDiagram(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::vector< std::reference_wrapper< BPMNLabelStyle > > bpmndi_BPMNLabelStyle
Definition bpmn++.h:15462
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
BPMNEdge(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::optional< std::reference_wrapper< Attribute > > messageVisibleKind
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:15712
std::vector< std::reference_wrapper< BPMNLabel > > bpmndi_BPMNLabel
Definition bpmn++.h:15708
std::optional< std::reference_wrapper< Attribute > > sourceElement
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:15710
std::optional< std::reference_wrapper< Attribute > > targetElement
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:15711
std::optional< std::reference_wrapper< Attribute > > bpmnElement
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:15709
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:15705
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
BPMNLabelStyle(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::vector< std::reference_wrapper< Font > > dc_Font
Definition bpmn++.h:16211
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:16208
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:15854
std::optional< std::reference_wrapper< Attribute > > labelStyle
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:15857
BPMNLabel(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:15953
BPMNPlane(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::optional< std::reference_wrapper< Attribute > > bpmnElement
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:15956
std::optional< std::reference_wrapper< Attribute > > choreographyActivityShape
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:16116
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
std::vector< std::reference_wrapper< BPMNLabel > > bpmndi_BPMNLabel
Definition bpmn++.h:16109
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:16106
std::optional< std::reference_wrapper< Attribute > > bpmnElement
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:16110
std::optional< std::reference_wrapper< Attribute > > participantBandKind
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:16115
std::optional< std::reference_wrapper< Attribute > > isHorizontal
Attribute value can be expected to be of type 'bool'.
Definition bpmn++.h:16111
BPMNShape(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::optional< std::reference_wrapper< Attribute > > isMarkerVisible
Attribute value can be expected to be of type 'bool'.
Definition bpmn++.h:16113
std::optional< std::reference_wrapper< Attribute > > isExpanded
Attribute value can be expected to be of type 'bool'.
Definition bpmn++.h:16112
std::optional< std::reference_wrapper< Attribute > > isMessageVisible
Attribute value can be expected to be of type 'bool'.
Definition bpmn++.h:16114
Attribute & height
Attribute value can be expected to be of type 'double'.
Definition bpmn++.h:15249
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:15243
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
Bounds(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
Attribute & x
Attribute value can be expected to be of type 'double'.
Definition bpmn++.h:15246
Attribute & width
Attribute value can be expected to be of type 'double'.
Definition bpmn++.h:15248
Attribute & y
Attribute value can be expected to be of type 'double'.
Definition bpmn++.h:15247
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:15556
DiagramElement_extension(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
DiagramElement(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
std::optional< std::reference_wrapper< Attribute > > id
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:15513
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:15509
std::vector< std::reference_wrapper< DiagramElement_extension > > extension
Definition bpmn++.h:15512
Diagram(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
std::optional< std::reference_wrapper< Attribute > > name
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:15403
std::optional< std::reference_wrapper< Attribute > > id
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:15406
std::optional< std::reference_wrapper< Attribute > > resolution
Attribute value can be expected to be of type 'double'.
Definition bpmn++.h:15405
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:15400
std::optional< std::reference_wrapper< Attribute > > documentation
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:15404
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
Edge(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::vector< std::reference_wrapper< Point > > waypoint
Definition bpmn++.h:15607
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:15604
std::optional< std::reference_wrapper< Attribute > > isUnderline
Attribute value can be expected to be of type 'bool'.
Definition bpmn++.h:15305
std::optional< std::reference_wrapper< Attribute > > name
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:15301
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
std::optional< std::reference_wrapper< Attribute > > isBold
Attribute value can be expected to be of type 'bool'.
Definition bpmn++.h:15303
std::optional< std::reference_wrapper< Attribute > > isStrikeThrough
Attribute value can be expected to be of type 'bool'.
Definition bpmn++.h:15306
Font(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::optional< std::reference_wrapper< Attribute > > size
Attribute value can be expected to be of type 'double'.
Definition bpmn++.h:15302
std::optional< std::reference_wrapper< Attribute > > isItalic
Attribute value can be expected to be of type 'bool'.
Definition bpmn++.h:15304
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:15298
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
std::vector< std::reference_wrapper< Bounds > > dc_Bounds
Definition bpmn++.h:15806
Label(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:15803
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:15651
LabeledEdge(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
LabeledShape(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:16049
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
Node(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:15755
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:15903
Plane(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::vector< std::reference_wrapper< DiagramElement > > di_DiagramElement
Definition bpmn++.h:15906
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
Attribute & x
Attribute value can be expected to be of type 'double'.
Definition bpmn++.h:15354
Attribute & y
Attribute value can be expected to be of type 'double'.
Definition bpmn++.h:15355
Point(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:15351
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:16002
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
Shape(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::vector< std::reference_wrapper< Bounds > > dc_Bounds
Definition bpmn++.h:16005
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
Style(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::optional< std::reference_wrapper< Attribute > > id
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:16161
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:16158
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
activity(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:3949
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:13071
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
adHocSubProcess(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:556
artifact(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
assignment(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:659
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
association(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:763
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
auditing(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:859
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
baseElementWithMixedContent(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:957
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:459
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
baseElement(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:4811
boundaryEvent(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
businessRuleTask(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:13274
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:4082
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
callActivity(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
callChoreography(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:4327
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:1577
callConversation(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:8739
callableElement(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
cancelEventDefinition(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:9797
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:4684
catchEvent(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:1054
categoryValue(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:8839
category(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
choreographyActivity(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:4205
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:4444
choreographyTask(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:9101
choreography(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
collaboration(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:8978
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:9895
compensateEventDefinition(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:1157
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
complexBehaviorDefinition(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
complexGateway(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:5142
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:9992
conditionalEventDefinition(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:1257
conversationAssociation(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
conversationNode(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:1469
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:1677
conversation(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
correlationKey(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:1779
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
correlationPropertyBinding(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:1881
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:1983
correlationPropertyRetrievalExpression(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
correlationProperty(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:9205
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
correlationSubscription(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:2085
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
dataAssociation(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:2192
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:2407
dataInputAssociation(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
dataInput(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:2303
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:3588
dataObjectReference(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
dataObject(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:3476
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:2622
dataOutputAssociation(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:2518
dataOutput(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:2725
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
dataState(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:3699
dataStoreReference(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
dataStore(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:9315
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
definitions(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:2859
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
documentation(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:2958
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:14305
endEvent(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
endPoint(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:9408
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
errorEventDefinition(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:10087
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:9509
error(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
escalationEventDefinition(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:10182
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
escalation(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:9610
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
eventBasedGateway(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:5260
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
eventDefinition(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:9705
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:4554
event(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
exclusiveGateway(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:5373
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
expression(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:3062
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:3252
extensionElements(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
extension(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:3162
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:3364
flowElement(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
flowNode(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:3805
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
formalExpression(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:4916
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:5026
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
gateway(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
globalBusinessRuleTask(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:10636
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:10304
globalChoreographyTask(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:10422
globalConversation(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
globalManualTask(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:10739
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:10849
globalScriptTask(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
globalTask(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:10528
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:10961
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
globalUserTask(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
group(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:5469
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
humanPerformer(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:8438
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:14423
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
implicitThrowEvent(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:5566
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
inclusiveGateway(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:5676
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
inputSet(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:6002
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
interface(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:11065
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:6121
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
intermediateCatchEvent(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
intermediateThrowEvent(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:14539
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:5780
ioBinding(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:5892
ioSpecification(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
itemDefinition(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:11170
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
laneSet(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:6338
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:6234
lane(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
linkEventDefinition(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:11273
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:6432
loopCharacteristics(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:13405
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
manualTask(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:11469
messageEventDefinition(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:6638
messageFlowAssociation(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:6538
messageFlow(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:11371
message(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:6733
monitoring(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
multiInstanceLoopCharacteristics(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:6867
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
operation(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:6978
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
outputSet(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:7088
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:7195
parallelGateway(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:7409
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
participantAssociation(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:7511
participantMultiplicity(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:7307
participant(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:11567
partnerEntity(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
partnerRole(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:11665
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
performer(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:8338
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:8538
potentialOwner(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:11818
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
process(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
property(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:7620
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:13551
receiveTask(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
relationship(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:7728
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:7823
rendering(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
resourceAssignmentExpression(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:7922
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:8127
resourceParameterBinding(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:8025
resourceParameter(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
resourceRole(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:8238
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:11920
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
resource(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
rootElement(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:8632
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:13691
scriptTask(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
script(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:12009
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:13833
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
sendTask(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
sequenceFlow(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:12123
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:13973
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
serviceTask(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
signalEventDefinition(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:12316
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:12221
signal(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:12420
standardLoopCharacteristics(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
startEvent(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:12544
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
subChoreography(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:12668
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
subConversation(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:12774
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:12918
subProcess(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::optional< std::reference_wrapper< Attribute > > default_
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:3889
std::vector< std::reference_wrapper< tProperty > > property
Definition bpmn++.h:3881
std::vector< std::reference_wrapper< tResourceRole > > resourceRole
Definition bpmn++.h:3884
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
std::vector< std::reference_wrapper< tLoopCharacteristics > > loopCharacteristics
Definition bpmn++.h:3885
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:3874
std::optional< std::reference_wrapper< Attribute > > isForCompensation
Attribute value can be expected to be of type 'bool'.
Definition bpmn++.h:3886
std::optional< std::reference_wrapper< Attribute > > completionQuantity
Attribute value can be expected to be of type 'int'.
Definition bpmn++.h:3888
std::vector< std::reference_wrapper< tDataInputAssociation > > dataInputAssociation
Definition bpmn++.h:3882
std::optional< std::reference_wrapper< tInputOutputSpecification > > ioSpecification
Definition bpmn++.h:3880
tActivity(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::optional< std::reference_wrapper< Attribute > > startQuantity
Attribute value can be expected to be of type 'int'.
Definition bpmn++.h:3887
std::vector< std::reference_wrapper< tDataOutputAssociation > > dataOutputAssociation
Definition bpmn++.h:3883
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:12994
tAdHocSubProcess(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::optional< std::reference_wrapper< Attribute > > cancelRemainingInstances
Attribute value can be expected to be of type 'bool'.
Definition bpmn++.h:13003
std::optional< std::reference_wrapper< Attribute > > ordering
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:13004
std::optional< std::reference_wrapper< tExpression > > completionCondition
Definition bpmn++.h:13002
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:510
tArtifact(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:609
tExpression & to
Definition bpmn++.h:613
tAssignment(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
tExpression & from
Definition bpmn++.h:612
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
Attribute & sourceRef
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:714
tAssociation(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:710
Attribute & targetRef
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:715
std::optional< std::reference_wrapper< Attribute > > associationDirection
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:716
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:813
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
tAuditing(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
std::vector< std::reference_wrapper< tDocumentation > > documentation
Definition bpmn++.h:911
tBaseElementWithMixedContent(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:908
std::optional< std::reference_wrapper< Attribute > > id
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:913
std::optional< std::reference_wrapper< tExtensionElements > > extensionElements
Definition bpmn++.h:912
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:410
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
tBaseElement(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::optional< std::reference_wrapper< tExtensionElements > > extensionElements
Definition bpmn++.h:414
std::vector< std::reference_wrapper< tDocumentation > > documentation
Definition bpmn++.h:413
std::optional< std::reference_wrapper< Attribute > > id
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:415
tBoundaryEvent(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:4746
Attribute & attachedToRef
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:4752
std::optional< std::reference_wrapper< Attribute > > cancelActivity
Attribute value can be expected to be of type 'bool'.
Definition bpmn++.h:4751
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
std::optional< std::reference_wrapper< Attribute > > implementation
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:13213
tBusinessRuleTask(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:13206
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
std::optional< std::reference_wrapper< Attribute > > calledElement
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:4021
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:4015
tCallActivity(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:4266
std::optional< std::reference_wrapper< Attribute > > calledChoreographyRef
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:4271
tCallChoreography(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::vector< std::reference_wrapper< tParticipantAssociation > > participantAssociation
Definition bpmn++.h:4270
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
std::optional< std::reference_wrapper< Attribute > > calledCollaborationRef
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:1527
std::vector< std::reference_wrapper< tParticipantAssociation > > participantAssociation
Definition bpmn++.h:1526
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:1523
tCallConversation(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::optional< std::reference_wrapper< tInputOutputSpecification > > ioSpecification
Definition bpmn++.h:8689
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
tCallableElement(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::vector< std::reference_wrapper< XMLObject > > supportedInterfaceRef
Definition bpmn++.h:8688
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:8685
std::vector< std::reference_wrapper< tInputOutputBinding > > ioBinding
Definition bpmn++.h:8690
std::optional< std::reference_wrapper< Attribute > > name
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:8691
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
tCancelEventDefinition(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:9751
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
std::vector< std::reference_wrapper< tDataOutput > > dataOutput
Definition bpmn++.h:4622
std::optional< std::reference_wrapper< tOutputSet > > outputSet
Definition bpmn++.h:4624
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:4618
std::vector< std::reference_wrapper< XMLObject > > eventDefinitionRef
Definition bpmn++.h:4626
tCatchEvent(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::vector< std::reference_wrapper< tDataOutputAssociation > > dataOutputAssociation
Definition bpmn++.h:4623
std::optional< std::reference_wrapper< Attribute > > parallelMultiple
Attribute value can be expected to be of type 'bool'.
Definition bpmn++.h:4627
std::vector< std::reference_wrapper< tEventDefinition > > eventDefinition
Definition bpmn++.h:4625
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
tCategoryValue(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:1006
std::optional< std::reference_wrapper< Attribute > > value
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:1009
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:8789
std::vector< std::reference_wrapper< tCategoryValue > > categoryValue
Definition bpmn++.h:8792
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
std::optional< std::reference_wrapper< Attribute > > name
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:8793
tCategory(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
tChoreographyActivity(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::vector< std::reference_wrapper< XMLObject > > participantRef
Definition bpmn++.h:4148
std::vector< std::reference_wrapper< tCorrelationKey > > correlationKey
Definition bpmn++.h:4149
Attribute & initiatingParticipantRef
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:4150
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:4144
std::optional< std::reference_wrapper< Attribute > > loopType
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:4151
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
std::vector< std::reference_wrapper< XMLObject > > messageFlowRef
Definition bpmn++.h:4389
tChoreographyTask(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:4385
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:9040
std::vector< std::reference_wrapper< tFlowElement > > flowElement
Definition bpmn++.h:9044
tChoreography(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::vector< std::reference_wrapper< tParticipantAssociation > > participantAssociation
Definition bpmn++.h:8916
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
std::vector< std::reference_wrapper< tConversationLink > > conversationLink
Definition bpmn++.h:8920
std::vector< std::reference_wrapper< XMLObject > > choreographyRef
Definition bpmn++.h:8919
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:8907
std::vector< std::reference_wrapper< tArtifact > > artifact
Definition bpmn++.h:8913
std::vector< std::reference_wrapper< tParticipant > > participant
Definition bpmn++.h:8911
std::optional< std::reference_wrapper< Attribute > > name
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:8921
std::vector< std::reference_wrapper< tConversationAssociation > > conversationAssociation
Definition bpmn++.h:8915
std::vector< std::reference_wrapper< tMessageFlowAssociation > > messageFlowAssociation
Definition bpmn++.h:8917
tCollaboration(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::vector< std::reference_wrapper< tMessageFlow > > messageFlow
Definition bpmn++.h:8912
std::vector< std::reference_wrapper< tCorrelationKey > > correlationKey
Definition bpmn++.h:8918
std::optional< std::reference_wrapper< Attribute > > isClosed
Attribute value can be expected to be of type 'bool'.
Definition bpmn++.h:8922
std::vector< std::reference_wrapper< tConversationNode > > conversationNode
Definition bpmn++.h:8914
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
std::optional< std::reference_wrapper< Attribute > > activityRef
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:9849
tCompensateEventDefinition(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::optional< std::reference_wrapper< Attribute > > waitForCompletion
Attribute value can be expected to be of type 'bool'.
Definition bpmn++.h:9848
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:9845
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
tComplexBehaviorDefinition(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::optional< std::reference_wrapper< tImplicitThrowEvent > > event
Definition bpmn++.h:1111
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:1107
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
std::optional< std::reference_wrapper< tExpression > > activationCondition
Definition bpmn++.h:5088
std::optional< std::reference_wrapper< Attribute > > default_
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:5089
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:5084
tComplexGateway(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
std::vector< std::reference_wrapper< tExpression > > condition
Definition bpmn++.h:9947
tConditionalEventDefinition(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:9944
tConversationAssociation(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:1207
Attribute & innerConversationNodeRef
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:1210
Attribute & outerConversationNodeRef
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:1211
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
std::vector< std::reference_wrapper< XMLObject > > participantRef
Definition bpmn++.h:1418
std::optional< std::reference_wrapper< Attribute > > name
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:1421
std::vector< std::reference_wrapper< tCorrelationKey > > correlationKey
Definition bpmn++.h:1420
std::vector< std::reference_wrapper< XMLObject > > messageFlowRef
Definition bpmn++.h:1419
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:1415
tConversationNode(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:1627
tConversation(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
tCorrelationKey(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::vector< std::reference_wrapper< XMLObject > > correlationPropertyRef
Definition bpmn++.h:1732
std::optional< std::reference_wrapper< Attribute > > name
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:1733
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:1729
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:1831
Attribute & correlationPropertyRef
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:1835
tCorrelationPropertyBinding(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
Attribute & messageRef
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:1937
tCorrelationPropertyRetrievalExpression(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:1933
std::optional< std::reference_wrapper< Attribute > > type
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:9158
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:9153
tCorrelationProperty(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::optional< std::reference_wrapper< Attribute > > name
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:9157
std::vector< std::reference_wrapper< tCorrelationPropertyRetrievalExpression > > correlationPropertyRetrievalExpression
Definition bpmn++.h:9156
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
std::vector< std::reference_wrapper< tCorrelationPropertyBinding > > correlationPropertyBinding
Definition bpmn++.h:2038
Attribute & correlationKeyRef
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:2039
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:2035
tCorrelationSubscription(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:2138
std::vector< std::reference_wrapper< tAssignment > > assignment
Definition bpmn++.h:2144
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
std::optional< std::reference_wrapper< tFormalExpression > > transformation
Definition bpmn++.h:2143
tDataAssociation(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::vector< std::reference_wrapper< XMLObject > > sourceRef
Definition bpmn++.h:2141
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:2357
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
tDataInputAssociation(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::optional< std::reference_wrapper< Attribute > > name
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:2253
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
std::optional< std::reference_wrapper< Attribute > > isCollection
Attribute value can be expected to be of type 'bool'.
Definition bpmn++.h:2255
tDataInput(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::optional< std::reference_wrapper< tDataState > > dataState
Definition bpmn++.h:2252
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:2248
std::optional< std::reference_wrapper< Attribute > > itemSubjectRef
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:2254
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:3532
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
tDataObjectReference(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::optional< std::reference_wrapper< Attribute > > itemSubjectRef
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:3536
std::optional< std::reference_wrapper< Attribute > > dataObjectRef
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:3537
std::optional< std::reference_wrapper< tDataState > > dataState
Definition bpmn++.h:3535
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:3419
std::optional< std::reference_wrapper< Attribute > > isCollection
Attribute value can be expected to be of type 'bool'.
Definition bpmn++.h:3425
std::optional< std::reference_wrapper< Attribute > > itemSubjectRef
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:3424
std::optional< std::reference_wrapper< tDataState > > dataState
Definition bpmn++.h:3423
tDataObject(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:2572
tDataOutputAssociation(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::optional< std::reference_wrapper< Attribute > > isCollection
Attribute value can be expected to be of type 'bool'.
Definition bpmn++.h:2470
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
tDataOutput(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::optional< std::reference_wrapper< Attribute > > itemSubjectRef
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:2469
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:2463
std::optional< std::reference_wrapper< Attribute > > name
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:2468
std::optional< std::reference_wrapper< tDataState > > dataState
Definition bpmn++.h:2467
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
tDataState(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:2677
std::optional< std::reference_wrapper< Attribute > > name
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:2680
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
tDataStoreReference(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:3643
std::optional< std::reference_wrapper< Attribute > > dataStoreRef
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:3648
std::optional< std::reference_wrapper< Attribute > > itemSubjectRef
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:3647
std::optional< std::reference_wrapper< tDataState > > dataState
Definition bpmn++.h:3646
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
std::optional< std::reference_wrapper< Attribute > > isUnlimited
Attribute value can be expected to be of type 'bool'.
Definition bpmn++.h:9265
std::optional< std::reference_wrapper< Attribute > > capacity
Attribute value can be expected to be of type 'int'.
Definition bpmn++.h:9264
std::optional< std::reference_wrapper< tDataState > > dataState
Definition bpmn++.h:9262
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:9258
std::optional< std::reference_wrapper< Attribute > > name
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:9263
tDataStore(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::optional< std::reference_wrapper< Attribute > > itemSubjectRef
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:9266
std::optional< std::reference_wrapper< Attribute > > exporter
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:2804
std::vector< std::reference_wrapper< tExtension > > extension
Definition bpmn++.h:2794
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
std::optional< std::reference_wrapper< Attribute > > name
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:2800
std::vector< std::reference_wrapper< tRootElement > > rootElement
Definition bpmn++.h:2795
tDefinitions(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::vector< std::reference_wrapper< tProcess > > process
Definition bpmn++.h:2796
std::vector< std::reference_wrapper< tRelationship > > relationship
Definition bpmn++.h:2798
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:2788
std::optional< std::reference_wrapper< Attribute > > id
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:2799
Attribute & targetNamespace
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:2801
std::vector< std::reference_wrapper< BPMNDiagram > > bpmndi_BPMNDiagram
Definition bpmn++.h:2797
std::optional< std::reference_wrapper< Attribute > > exporterVersion
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:2805
std::optional< std::reference_wrapper< Attribute > > expressionLanguage
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:2802
std::optional< std::reference_wrapper< Attribute > > typeLanguage
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:2803
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:2910
std::optional< std::reference_wrapper< Attribute > > id
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:2914
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
std::optional< std::reference_wrapper< Attribute > > textFormat
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:2915
tDocumentation(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
tEndEvent(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:14247
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:9362
tEndPoint(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
std::optional< std::reference_wrapper< Attribute > > errorRef
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:10042
tErrorEventDefinition(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:10039
tError(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
std::optional< std::reference_wrapper< Attribute > > errorCode
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:9461
std::optional< std::reference_wrapper< Attribute > > structureRef
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:9462
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:9457
std::optional< std::reference_wrapper< Attribute > > name
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:9460
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
std::optional< std::reference_wrapper< Attribute > > escalationRef
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:10137
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:10134
tEscalationEventDefinition(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::optional< std::reference_wrapper< Attribute > > escalationCode
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:9562
tEscalation(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
std::optional< std::reference_wrapper< Attribute > > structureRef
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:9563
std::optional< std::reference_wrapper< Attribute > > name
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:9561
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:9558
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
tEventBasedGateway(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::optional< std::reference_wrapper< Attribute > > instantiate
Attribute value can be expected to be of type 'bool'.
Definition bpmn++.h:5206
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:5200
std::optional< std::reference_wrapper< Attribute > > eventGatewayType
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:5207
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:9659
tEventDefinition(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:4500
std::vector< std::reference_wrapper< tProperty > > property
Definition bpmn++.h:4503
tEvent(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:5317
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
tExclusiveGateway(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::optional< std::reference_wrapper< Attribute > > default_
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:5321
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
tExpression(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:3016
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:3209
tExtensionElements(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
tExtension(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::optional< std::reference_wrapper< Attribute > > mustUnderstand
Attribute value can be expected to be of type 'bool'.
Definition bpmn++.h:3118
std::optional< std::reference_wrapper< Attribute > > definition
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:3117
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:3112
std::vector< std::reference_wrapper< tDocumentation > > documentation
Definition bpmn++.h:3116
std::vector< std::reference_wrapper< XMLObject > > categoryValueRef
Definition bpmn++.h:3315
std::optional< std::reference_wrapper< tMonitoring > > monitoring
Definition bpmn++.h:3314
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
tFlowElement(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:3310
std::optional< std::reference_wrapper< Attribute > > name
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:3316
std::optional< std::reference_wrapper< tAuditing > > auditing
Definition bpmn++.h:3313
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
tFlowNode(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:3751
std::vector< std::reference_wrapper< XMLObject > > outgoing
Definition bpmn++.h:3755
std::vector< std::reference_wrapper< XMLObject > > incoming
Definition bpmn++.h:3754
tFormalExpression(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
std::optional< std::reference_wrapper< Attribute > > language
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:4869
std::optional< std::reference_wrapper< Attribute > > evaluatesToTypeRef
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:4870
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:4866
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:4971
std::optional< std::reference_wrapper< Attribute > > gatewayDirection
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:4975
tGateway(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
std::optional< std::reference_wrapper< Attribute > > implementation
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:10586
tGlobalBusinessRuleTask(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:10582
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
tGlobalChoreographyTask(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::optional< std::reference_wrapper< Attribute > > initiatingParticipantRef
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:10246
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:10242
tGlobalConversation(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:10363
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:10688
tGlobalManualTask(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
std::optional< std::reference_wrapper< Attribute > > scriptLanguage
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:10798
std::optional< std::reference_wrapper< tScript > > script
Definition bpmn++.h:10797
tGlobalScriptTask(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:10794
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
tGlobalTask(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::vector< std::reference_wrapper< tResourceRole > > resourceRole
Definition bpmn++.h:10479
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:10476
std::vector< std::reference_wrapper< tRendering > > rendering
Definition bpmn++.h:10909
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:10905
tGlobalUserTask(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::optional< std::reference_wrapper< Attribute > > implementation
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:10910
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:5421
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
std::optional< std::reference_wrapper< Attribute > > categoryValueRef
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:5424
tGroup(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
tHumanPerformer(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:8388
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
tImplicitThrowEvent(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:14365
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:5517
Attribute & importType
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:5522
tImport(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
Attribute & location
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:5521
Attribute & namespace_
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:5520
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
tInclusiveGateway(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:5620
std::optional< std::reference_wrapper< Attribute > > default_
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:5624
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
Attribute & outputDataRef
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:5733
Attribute & inputDataRef
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:5732
tInputOutputBinding(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
Attribute & operationRef
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:5731
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:5728
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
tInputOutputSpecification(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::vector< std::reference_wrapper< tDataInput > > dataInput
Definition bpmn++.h:5841
std::vector< std::reference_wrapper< tDataOutput > > dataOutput
Definition bpmn++.h:5842
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:5838
std::vector< std::reference_wrapper< tOutputSet > > outputSet
Definition bpmn++.h:5844
std::vector< std::reference_wrapper< tInputSet > > inputSet
Definition bpmn++.h:5843
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:5946
std::vector< std::reference_wrapper< XMLObject > > optionalInputRefs
Definition bpmn++.h:5950
tInputSet(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::vector< std::reference_wrapper< XMLObject > > dataInputRefs
Definition bpmn++.h:5949
std::vector< std::reference_wrapper< XMLObject > > whileExecutingInputRefs
Definition bpmn++.h:5951
std::optional< std::reference_wrapper< Attribute > > name
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:5953
std::vector< std::reference_wrapper< XMLObject > > outputSetRefs
Definition bpmn++.h:5952
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
std::optional< std::reference_wrapper< Attribute > > implementationRef
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:11018
Attribute & name
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:11017
std::vector< std::reference_wrapper< tOperation > > operation
Definition bpmn++.h:11016
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:11013
tInterface(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
tIntermediateCatchEvent(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:6061
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:14481
tIntermediateThrowEvent(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
tItemDefinition(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
std::optional< std::reference_wrapper< Attribute > > isCollection
Attribute value can be expected to be of type 'bool'.
Definition bpmn++.h:11122
std::optional< std::reference_wrapper< Attribute > > itemKind
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:11123
std::optional< std::reference_wrapper< Attribute > > structureRef
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:11121
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:11116
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
std::vector< std::reference_wrapper< tLane > > lane
Definition bpmn++.h:6291
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:6288
tLaneSet(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::optional< std::reference_wrapper< Attribute > > name
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:6292
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
tLane(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::vector< std::reference_wrapper< XMLObject > > flowNodeRef
Definition bpmn++.h:6182
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:6178
std::optional< std::reference_wrapper< Attribute > > partitionElementRef
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:6185
std::optional< std::reference_wrapper< tLaneSet > > childLaneSet
Definition bpmn++.h:6183
std::optional< std::reference_wrapper< tBaseElement > > partitionElement
Definition bpmn++.h:6181
std::optional< std::reference_wrapper< Attribute > > name
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:6184
std::vector< std::reference_wrapper< XMLObject > > source
Definition bpmn++.h:11224
std::optional< std::reference_wrapper< XMLObject > > target
Definition bpmn++.h:11225
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
tLinkEventDefinition(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:11221
Attribute & name
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:11226
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:6386
tLoopCharacteristics(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:13340
tManualTask(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
tMessageEventDefinition(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
std::optional< std::reference_wrapper< Attribute > > messageRef
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:11423
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:11419
std::optional< std::reference_wrapper< XMLObject > > operationRef
Definition bpmn++.h:11422
Attribute & outerMessageFlowRef
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:6592
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:6588
tMessageFlowAssociation(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
Attribute & innerMessageFlowRef
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:6591
tMessageFlow(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
Attribute & sourceRef
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:6488
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:6484
std::optional< std::reference_wrapper< Attribute > > name
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:6487
std::optional< std::reference_wrapper< Attribute > > messageRef
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:6490
Attribute & targetRef
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:6489
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
std::optional< std::reference_wrapper< Attribute > > name
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:11324
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:11321
std::optional< std::reference_wrapper< Attribute > > itemRef
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:11325
tMessage(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:6687
tMonitoring(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::optional< std::reference_wrapper< Attribute > > isSequential
Attribute value can be expected to be of type 'bool'.
Definition bpmn++.h:6809
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
std::optional< std::reference_wrapper< tDataOutput > > outputDataItem
Definition bpmn++.h:6806
std::optional< std::reference_wrapper< XMLObject > > loopDataInputRef
Definition bpmn++.h:6803
std::optional< std::reference_wrapper< Attribute > > noneBehaviorEventRef
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:6812
std::optional< std::reference_wrapper< tDataInput > > inputDataItem
Definition bpmn++.h:6805
std::optional< std::reference_wrapper< XMLObject > > loopDataOutputRef
Definition bpmn++.h:6804
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:6797
std::optional< std::reference_wrapper< Attribute > > oneBehaviorEventRef
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:6811
std::optional< std::reference_wrapper< tExpression > > loopCardinality
Definition bpmn++.h:6802
std::optional< std::reference_wrapper< Attribute > > behavior
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:6810
std::optional< std::reference_wrapper< tExpression > > completionCondition
Definition bpmn++.h:6808
std::vector< std::reference_wrapper< tComplexBehaviorDefinition > > complexBehaviorDefinition
Definition bpmn++.h:6807
tMultiInstanceLoopCharacteristics(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:6922
std::optional< std::reference_wrapper< XMLObject > > outMessageRef
Definition bpmn++.h:6926
std::optional< std::reference_wrapper< Attribute > > implementationRef
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:6929
tOperation(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::vector< std::reference_wrapper< XMLObject > > errorRef
Definition bpmn++.h:6927
Attribute & name
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:6928
XMLObject & inMessageRef
Definition bpmn++.h:6925
tOutputSet(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:7032
std::vector< std::reference_wrapper< XMLObject > > inputSetRefs
Definition bpmn++.h:7038
std::optional< std::reference_wrapper< Attribute > > name
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:7039
std::vector< std::reference_wrapper< XMLObject > > optionalOutputRefs
Definition bpmn++.h:7036
std::vector< std::reference_wrapper< XMLObject > > whileExecutingOutputRefs
Definition bpmn++.h:7037
std::vector< std::reference_wrapper< XMLObject > > dataOutputRefs
Definition bpmn++.h:7035
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
tParallelGateway(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:7141
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
tParticipantAssociation(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:7359
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
tParticipantMultiplicity(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:7459
std::optional< std::reference_wrapper< Attribute > > minimum
Attribute value can be expected to be of type 'int'.
Definition bpmn++.h:7464
std::optional< std::reference_wrapper< Attribute > > maximum
Attribute value can be expected to be of type 'int'.
Definition bpmn++.h:7465
std::vector< std::reference_wrapper< XMLObject > > endPointRef
Definition bpmn++.h:7255
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:7251
tParticipant(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::optional< std::reference_wrapper< Attribute > > processRef
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:7258
std::optional< std::reference_wrapper< tParticipantMultiplicity > > participantMultiplicity
Definition bpmn++.h:7256
std::optional< std::reference_wrapper< Attribute > > name
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:7257
std::vector< std::reference_wrapper< XMLObject > > interfaceRef
Definition bpmn++.h:7254
std::vector< std::reference_wrapper< XMLObject > > participantRef
Definition bpmn++.h:11520
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
tPartnerEntity(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:11517
std::optional< std::reference_wrapper< Attribute > > name
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:11521
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
std::vector< std::reference_wrapper< XMLObject > > participantRef
Definition bpmn++.h:11618
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:11615
tPartnerRole(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::optional< std::reference_wrapper< Attribute > > name
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:11619
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
tPerformer(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:8288
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:8488
tPotentialOwner(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::vector< std::reference_wrapper< tProperty > > property
Definition bpmn++.h:11747
tProcess(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
std::optional< std::reference_wrapper< Attribute > > processType
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:11754
std::optional< std::reference_wrapper< Attribute > > definitionalCollaborationRef
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:11757
std::vector< std::reference_wrapper< tArtifact > > artifact
Definition bpmn++.h:11750
std::vector< std::reference_wrapper< tFlowElement > > flowElement
Definition bpmn++.h:11749
std::vector< std::reference_wrapper< XMLObject > > supports
Definition bpmn++.h:11753
std::vector< std::reference_wrapper< tResourceRole > > resourceRole
Definition bpmn++.h:11751
std::vector< std::reference_wrapper< tCorrelationSubscription > > correlationSubscription
Definition bpmn++.h:11752
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:11740
std::optional< std::reference_wrapper< Attribute > > isExecutable
Attribute value can be expected to be of type 'bool'.
Definition bpmn++.h:11756
std::optional< std::reference_wrapper< tMonitoring > > monitoring
Definition bpmn++.h:11746
std::optional< std::reference_wrapper< Attribute > > isClosed
Attribute value can be expected to be of type 'bool'.
Definition bpmn++.h:11755
std::vector< std::reference_wrapper< tLaneSet > > laneSet
Definition bpmn++.h:11748
std::optional< std::reference_wrapper< tAuditing > > auditing
Definition bpmn++.h:11745
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:7568
tProperty(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::optional< std::reference_wrapper< Attribute > > name
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:7572
std::optional< std::reference_wrapper< tDataState > > dataState
Definition bpmn++.h:7571
std::optional< std::reference_wrapper< Attribute > > itemSubjectRef
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:7573
std::optional< std::reference_wrapper< Attribute > > instantiate
Attribute value can be expected to be of type 'bool'.
Definition bpmn++.h:13485
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:13476
std::optional< std::reference_wrapper< Attribute > > messageRef
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:13486
tReceiveTask(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::optional< std::reference_wrapper< Attribute > > implementation
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:13484
std::optional< std::reference_wrapper< Attribute > > operationRef
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:13487
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
std::vector< std::reference_wrapper< XMLObject > > source
Definition bpmn++.h:7677
Attribute & type
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:7679
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:7674
std::optional< std::reference_wrapper< Attribute > > direction
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:7680
std::vector< std::reference_wrapper< XMLObject > > target
Definition bpmn++.h:7678
tRelationship(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:7777
tRendering(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:7874
tResourceAssignmentExpression(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
tResourceParameterBinding(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:8077
Attribute & parameterRef
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:8081
tResourceParameter(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
std::optional< std::reference_wrapper< Attribute > > name
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:7976
std::optional< std::reference_wrapper< Attribute > > isRequired
Attribute value can be expected to be of type 'bool'.
Definition bpmn++.h:7978
std::optional< std::reference_wrapper< Attribute > > type
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:7977
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:7973
std::vector< std::reference_wrapper< XMLObject > > resourceRef
Definition bpmn++.h:8188
std::optional< std::reference_wrapper< tResourceAssignmentExpression > > resourceAssignmentExpression
Definition bpmn++.h:8187
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
std::optional< std::reference_wrapper< Attribute > > name
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:8190
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:8184
tResourceRole(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::vector< std::reference_wrapper< tResourceParameterBinding > > resourceParameterBinding
Definition bpmn++.h:8189
tResource(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
std::vector< std::reference_wrapper< tResourceParameter > > resourceParameter
Definition bpmn++.h:11873
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:11870
Attribute & name
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:11874
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
tRootElement(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:8586
std::optional< std::reference_wrapper< tScript > > script
Definition bpmn++.h:13628
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:13622
tScriptTask(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::optional< std::reference_wrapper< Attribute > > scriptFormat
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:13629
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
tScript(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:11966
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
std::optional< std::reference_wrapper< Attribute > > messageRef
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:13769
tSendTask(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::optional< std::reference_wrapper< Attribute > > implementation
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:13768
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:13761
std::optional< std::reference_wrapper< Attribute > > operationRef
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:13770
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:12065
std::optional< std::reference_wrapper< Attribute > > isImmediate
Attribute value can be expected to be of type 'bool'.
Definition bpmn++.h:12071
Attribute & targetRef
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:12070
Attribute & sourceRef
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:12069
tSequenceFlow(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::optional< std::reference_wrapper< tExpression > > conditionExpression
Definition bpmn++.h:12068
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
std::optional< std::reference_wrapper< Attribute > > operationRef
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:13911
tServiceTask(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:13903
std::optional< std::reference_wrapper< Attribute > > implementation
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:13910
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:12268
tSignalEventDefinition(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::optional< std::reference_wrapper< Attribute > > signalRef
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:12271
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
tSignal(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::optional< std::reference_wrapper< Attribute > > name
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:12174
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:12171
std::optional< std::reference_wrapper< Attribute > > structureRef
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:12175
std::vector< std::reference_wrapper< tExpression > > loopCondition
Definition bpmn++.h:12371
tStandardLoopCharacteristics(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:12367
std::optional< std::reference_wrapper< Attribute > > loopMaximum
Attribute value can be expected to be of type 'int'.
Definition bpmn++.h:12373
std::optional< std::reference_wrapper< Attribute > > testBefore
Attribute value can be expected to be of type 'bool'.
Definition bpmn++.h:12372
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
std::optional< std::reference_wrapper< Attribute > > isInterrupting
Attribute value can be expected to be of type 'bool'.
Definition bpmn++.h:12486
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:12481
tStartEvent(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:12607
std::vector< std::reference_wrapper< tArtifact > > artifact
Definition bpmn++.h:12612
tSubChoreography(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::vector< std::reference_wrapper< tFlowElement > > flowElement
Definition bpmn++.h:12611
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
std::vector< std::reference_wrapper< tConversationNode > > conversationNode
Definition bpmn++.h:12725
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:12722
tSubConversation(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
tSubProcess(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::vector< std::reference_wrapper< tArtifact > > artifact
Definition bpmn++.h:12853
std::vector< std::reference_wrapper< tLaneSet > > laneSet
Definition bpmn++.h:12851
std::vector< std::reference_wrapper< tFlowElement > > flowElement
Definition bpmn++.h:12852
std::optional< std::reference_wrapper< Attribute > > triggeredByEvent
Attribute value can be expected to be of type 'bool'.
Definition bpmn++.h:12854
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:12844
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
tTask(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:13138
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
tTerminateEventDefinition(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:14023
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
std::optional< std::reference_wrapper< tText > > text
Definition bpmn++.h:14122
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:14118
std::optional< std::reference_wrapper< Attribute > > textFormat
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:14123
tTextAnnotation(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:14068
tText(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
std::vector< std::reference_wrapper< tDataInputAssociation > > dataInputAssociation
Definition bpmn++.h:14188
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:14184
std::optional< std::reference_wrapper< tInputSet > > inputSet
Definition bpmn++.h:14189
std::vector< std::reference_wrapper< XMLObject > > eventDefinitionRef
Definition bpmn++.h:14191
std::vector< std::reference_wrapper< tDataInput > > dataInput
Definition bpmn++.h:14187
tThrowEvent(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::vector< std::reference_wrapper< tEventDefinition > > eventDefinition
Definition bpmn++.h:14190
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:14592
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
std::optional< std::reference_wrapper< tExpression > > timeDuration
Definition bpmn++.h:14596
std::optional< std::reference_wrapper< tExpression > > timeDate
Definition bpmn++.h:14595
std::optional< std::reference_wrapper< tExpression > > timeCycle
Definition bpmn++.h:14597
tTimerEventDefinition(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:14664
tTransaction(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
std::optional< std::reference_wrapper< Attribute > > method
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:14672
std::optional< std::reference_wrapper< Attribute > > implementation
Attribute value can be expected to be of type 'std::string'.
Definition bpmn++.h:14745
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
std::vector< std::reference_wrapper< tRendering > > rendering
Definition bpmn++.h:14744
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:14737
tUserTask(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:14805
task(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:14854
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
terminateEventDefinition(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
textAnnotation(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:14945
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:14897
text(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:15004
throwEvent(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:15053
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
timerEventDefinition(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
transaction(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:15120
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
userTask(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition bpmn++.h:15189
The BPMN namespace contains linked classes representing a BPMN model.
Definition bpmn++.h:16221
The XML::bpmn namespace contains classes from the following XML-schema(s): xsd/DC....
Definition bpmn++.h:377
The XML namespace contains classes representing XML-nodes defined in given XML-schema(s).
Definition bpmn++.h:18
std::string ElementName
Definition bpmn++.h:23
std::string Namespace
Definition bpmn++.h:25
std::ostream & operator<<(std::ostream &os, const XMLObject *obj)
Allows printing of stringified XML object.
std::string ClassName
Definition bpmn++.h:22
std::vector< std::unique_ptr< XMLObject > > Children
Definition bpmn++.h:82
XMLObject * createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
Template function used to store in factory.
Definition bpmn++.h:85
std::vector< Attribute > Attributes
Definition bpmn++.h:81
std::string AttributeName
Definition bpmn++.h:26
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.
Definition bpmn++.h:88
std::string TextContent
Definition bpmn++.h:24
STL namespace.
A struct representing an attribute of an XML-node.
Definition XMLObject.h:73
Value value
Definition bpmn++.h:78
Namespace prefix
Definition bpmn++.h:76
AttributeName name
Definition bpmn++.h:77
Namespace xmlns
Definition bpmn++.h:75
A struct representing the value of an XML-node attribute.
Definition XMLObject.h:48
Value(const std::string &s)
Definition bpmn++.h:60
Value & operator=(bool b)
Definition bpmn++.h:57
Value(bool b)
Definition bpmn++.h:61
Value & operator=(double d)
Definition bpmn++.h:59
static std::string True
Definition bpmn++.h:64
Value(int i)
Definition bpmn++.h:62
Value & operator=(const std::string &s)
Definition bpmn++.h:56
Value & operator=(int i)
Definition bpmn++.h:58
static std::string False
Definition bpmn++.h:65
std::string value
Definition bpmn++.h:50
Value(double d)
Definition bpmn++.h:63