Portable BPMN document reading, writing and traversal
///|
test "inspect XML namespaces and mixed content without a renderer" {
let source = "<r xmlns='urn:r' xmlns:p='urn:p' p:a='😀'>left<![CDATA[<raw>&]]><p:c/>right</r>"
let result = @bpmn.read(source)
assert_eq(result.tree.text(), source)
assert_true(result.tree.complete)
let root = result.tree.nodes[1]
assert_eq(root.name.unwrap().namespace_uri, "urn:r")
assert_eq(root.attributes[2].value, "š")
assert_eq(root.children.map(i => result.tree.nodes[i].kind).iter().to_array(), [Text, CData, Element, Text])
// This XML vocabulary has no typed BPMN projection yet.
assert_eq(result.document, None)
}///|
test "a diagnostic after an emoji uses source coordinates" {
let result = @bpmn.read("<r>\r\nš<p:x/></r>", source_id="memory:example")
let location = result.diagnostics[0].location.unwrap()
assert_eq(location.source_id, Some("memory:example"))
assert_eq(location.start.line, 2)
assert_eq(location.start.column, 4)
assert_eq(result.document, None)
}| Field | Default | What it bounds |
|---|---|---|
| source_units | 16,777,216 | Decoded source in UTF-16 units |
| output_units | 16,777,216 | Complete generated XML in UTF-16 units |
| nodes | 1,000,000 | Document, element/content nodes, attributes and namespace declarations |
| depth | 4,096 | Element depth, including empty elements |
| token_units | 1,048,576 | One lexical token or complete attribute/text value |
| diagnostics | 256 | Findings shared by XML reading and typed lowering |
///|
test "limit exhaustion preserves the complete source" {
let source = "<r><s/></r>"
let result = @bpmn.read(source, limits=@bpmn.Limits::new(depth=1))
assert_eq(result.tree.text(), source)
assert_eq(result.document, None)
assert_eq(result.diagnostics[0].code, "xml/depth-limit")
}| Code | Meaning |
|---|---|
| xml/invalid-limits | At least one configured bound is not positive |
| xml/source-limit | Source exceeds its UTF-16 bound |
| xml/node-limit | Node/attribute records exceed their bound |
| xml/depth-limit | Element depth exceeds its bound |
| xml/token-limit | A lexical token or attribute/text value is too large |
| xml/diagnostic-limit | The next finding exceeds the shared budget |
| xml/invalid-character | A literal character is forbidden in XML 1.0 |
| xml/invalid-name | An element/attribute name is not a qualified XML name |
| xml/invalid-tag | Attribute quoting, spacing or tag punctuation is malformed |
| xml/unclosed-tag | An open element remains at end of input |
| xml/mismatched-tag | A closing tag does not match the current open element |
| xml/duplicate-attribute | Attribute expanded names or namespace declarations repeat |
| xml/undeclared-prefix | A qualified element/attribute uses an unbound prefix |
| xml/invalid-namespace | A reserved binding or prefix undeclaration is invalid |
| xml/character-reference | A reference is malformed, undeclared or not an XML scalar |
| xml/outside-root | Non-whitespace text or CDATA occurs outside the document element |
| xml/root-required | The source does not contain exactly one document element |
| xml/invalid-comment | A comment contains -- or ends with - |
| xml/unclosed-comment | A comment has no closing delimiter |
| xml/unclosed-cdata | A CDATA section has no closing delimiter |
| xml/invalid-pi | A processing instruction has an invalid or reserved target |
| xml/unclosed-pi | A processing instruction has no closing delimiter |
| xml/invalid-declaration | The declaration has invalid position, version or pseudo-attributes |
| xml/encoding | The declared encoding is unsupported or conflicts with the decoded input |
| xml/prohibited-declaration | DTD/entity/other markup declarations are prohibited |
| xml/cdata-close | ]]> occurs in ordinary character data |
///|
test "the documented inventory agrees with the exported codes" {
assert_eq(@bpmn.xml_diagnostic_codes.iter().to_array(), [
"xml/invalid-limits", "xml/source-limit", "xml/node-limit", "xml/depth-limit",
"xml/token-limit", "xml/diagnostic-limit", "xml/invalid-character",
"xml/invalid-name", "xml/invalid-tag", "xml/unclosed-tag", "xml/mismatched-tag",
"xml/duplicate-attribute", "xml/undeclared-prefix", "xml/invalid-namespace",
"xml/character-reference", "xml/outside-root", "xml/root-required",
"xml/invalid-comment", "xml/unclosed-comment", "xml/unclosed-cdata",
"xml/invalid-pi", "xml/unclosed-pi", "xml/invalid-declaration", "xml/encoding",
"xml/prohibited-declaration", "xml/cdata-close",
])
}///|
test "construct immutable foundations without inserting defaults" {
let documentation = @bpmn.Documentation::new([Text("Review & approve")])
let process = @bpmn.Element::new(Process, attributes=[("id", "P")], children=[documentation.element])
let definitions = @bpmn.Definitions::new("urn:example", children=[process])
let document = definitions.document()
assert_eq(definitions.roots()[0].base().id(), Present("P"))
assert_eq(process.boolean("isExecutable"), Absent)
assert_eq(documentation.text_format(), Absent)
let compact = @bpmn.write(document)
let pretty = @bpmn.write(document, format=Pretty)
assert_false(compact.contains("textFormat"))
assert_eq(@bpmn.read(compact).document, Some(document))
assert_eq(@bpmn.read(pretty).document, Some(document))
}///|
test "constructed references carry expanded identity" {
let source = @bpmn.Reference::new(@bpmn.ExpandedName::new("urn:other", "Task"))
let flow = @bpmn.Element::from_values(MessageFlow, values=[
@bpmn.Attribute::new(@bpmn.ExpandedName::new("", "sourceRef"), Reference(source)),
])
let document = @bpmn.Definitions::new("urn:example", children=[flow]).document()
let xml = @bpmn.write(document)
assert_true(xml.contains("xmlns:ns1=\"urn:other\""))
assert_true(xml.contains("sourceRef=\"ns1:Task\""))
assert_eq(@bpmn.read(xml).document, Some(document))
}///|
test "source reproduction and canonical writing serve different purposes" {
let source = "<d:definitions xmlns:d='http://www.omg.org/spec/BPMN/20100524/MODEL' targetNamespace='urn:example'><d:process id='P'/></d:definitions>"
let result = @bpmn.read(source)
assert_eq(result.tree.text(), source)
let document = result.document.unwrap()
let canonical = @bpmn.write(document)
assert_false(canonical == source)
assert_eq(@bpmn.read(canonical).document, Some(document))
assert_eq(@bpmn.write(@bpmn.read(canonical).document.unwrap()), canonical)
}///|
test "invalid QName binding returns an explicit failure" {
let flow = @bpmn.Element::new(MessageFlow, attributes=[("sourceRef", "missing:T")])
let document = @bpmn.Definitions::new("urn:example", children=[flow]).document()
let result = @bpmn.try_write(document)
assert_eq(result.output, None)
assert_eq(result.diagnostics[0].code, "bpmn/unbound-qname")
let reserved = @bpmn.Element::new(Definitions, bindings=[("xml", "urn:wrong")])
assert_eq(@bpmn.try_write(@bpmn.Document::new(reserved)).diagnostics[0].code, "bpmn/namespace-conflict")
}///|
test "construct and inspect a typed process" {
let task = @bpmn.UserTask::new(id="Review", name="Review request", implementation=Unspecified)
let process = @bpmn.Process::new(id="P", is_executable=false, contents=[Element(task.element)])
let document = @bpmn.Definitions::new("urn:example", children=[process.element]).document()
assert_eq(task.is_for_compensation(), Absent)
assert_eq(process.flow_element().value().unwrap()[0].element.kind, UserTask)
let reread = @bpmn.read(@bpmn.write(document)).document.unwrap()
let view = @bpmn.Process::from_element(reread.root.children[0]).unwrap()
assert_eq(view.is_executable(), Present(false))
assert_eq(@bpmn.UserTask::from_element(view.flow_element().value().unwrap()[0].element).unwrap().name(), Present("Review request"))
}///|
test "construct descriptive conditions and ID references" {
let condition = @bpmn.FormalExpression::new(language="urn:description", contents=[Text("approved == true")]).element.with_kind(ConditionExpression)
let flow = @bpmn.SequenceFlow::new(id="F", source_ref=@bpmn.Reference::new(@bpmn.ExpandedName::new("", "A"), kind=Id), target_ref=@bpmn.Reference::new(@bpmn.ExpandedName::new("", "B"), kind=Id), contents=[Element(condition)])
let process = @bpmn.Process::new(id="P", contents=[Element(@bpmn.Task::new(id="A").element), Element(@bpmn.Task::new(id="B").element), Element(flow.element)])
let document = @bpmn.Definitions::new("urn:example", children=[process.element]).document()
assert_eq(flow.condition_expression().value().unwrap().element.content, "approved == true")
assert_eq(@bpmn.read(@bpmn.write(document)).document, Some(document))
}///|
test "construct a collaboration independently of rendering" {
let buyer = @bpmn.Process::new(id="Buyer", contents=[Element(@bpmn.SendTask::new(id="Send").element)])
let seller = @bpmn.Process::new(id="Seller", contents=[Element(@bpmn.ReceiveTask::new(id="Receive").element)])
let buyer_pool = @bpmn.Participant::new(id="BuyerPool", process_ref=@bpmn.Reference::new(@bpmn.ExpandedName::new("", "Buyer")))
let seller_pool = @bpmn.Participant::new(id="SellerPool", process_ref=@bpmn.Reference::new(@bpmn.ExpandedName::new("", "Seller")))
let message = @bpmn.MessageFlow::new(id="Request", source_ref=@bpmn.Reference::new(@bpmn.ExpandedName::new("", "Send")), target_ref=@bpmn.Reference::new(@bpmn.ExpandedName::new("", "Receive")))
let collaboration = @bpmn.Collaboration::new(id="Exchange", contents=[Element(buyer_pool.element), Element(seller_pool.element), Element(message.element)])
let document = @bpmn.Definitions::new("urn:example", children=[buyer.element, seller.element, collaboration.element]).document()
assert_eq(collaboration.participant().value().unwrap().length(), 2)
assert_eq(@bpmn.read(@bpmn.write(document, format=Pretty)).document, Some(document))
}///|
test "construct a choreography document without rendering it" {
let task = @bpmn.ChoreographyTask::new(id="Exchange", initiating_participant_ref=@bpmn.Reference::new(@bpmn.ExpandedName::new("", "A")), contents=[
Element(@bpmn.Element::new(ParticipantRef, content="A")),
Element(@bpmn.Element::new(ParticipantRef, content="B")),
Element(@bpmn.Element::new(MessageFlowRef, content="M")),
])
let flow = @bpmn.MessageFlow::new(id="M", source_ref=@bpmn.Reference::new(@bpmn.ExpandedName::new("", "A")), target_ref=@bpmn.Reference::new(@bpmn.ExpandedName::new("", "B")))
let choreography = @bpmn.Choreography::new(id="C", contents=[Element(@bpmn.Participant::new(id="A").element), Element(@bpmn.Participant::new(id="B").element), Element(flow.element), Element(task.element)])
let document = @bpmn.Definitions::new("urn:example", children=[choreography.element]).document()
assert_eq(task.loop_type(), Absent)
assert_eq(@bpmn.read(@bpmn.write(document)).document, Some(document))
}///|
test "construct a conversation and its participant links" {
let conversation = @bpmn.Conversation::new(id="Order", name="Order details", contents=[Element(@bpmn.Element::new(ParticipantRef, content="Buyer")), Element(@bpmn.Element::new(ParticipantRef, content="Seller"))])
let link = @bpmn.ConversationLink::new(id="BuyerLink", source_ref=@bpmn.Reference::new(@bpmn.ExpandedName::new("", "Buyer")), target_ref=@bpmn.Reference::new(@bpmn.ExpandedName::new("", "Order")))
let collaboration = @bpmn.Collaboration::new(id="C", contents=[Element(@bpmn.Participant::new(id="Buyer").element), Element(@bpmn.Participant::new(id="Seller").element), Element(conversation.element), Element(link.element)])
let document = @bpmn.Definitions::new("urn:example", children=[collaboration.element]).document()
assert_eq(collaboration.conversation_node().value().unwrap().length(), 1)
assert_eq(@bpmn.read(@bpmn.write(document)).document, Some(document))
}///|
test "construct exact DI bounds and a plane" {
let bounds = @bpmn.DcBounds::new(x=@bpmn.ExactNumber::parse("123.456789012345678901").unwrap(), y=@bpmn.ExactNumber::parse("0").unwrap(), width=@bpmn.ExactNumber::parse("100").unwrap(), height=@bpmn.ExactNumber::parse("80").unwrap())
let shape = @bpmn.BpmnShape::new(id="Shape", bpmn_element=@bpmn.Reference::new(@bpmn.ExpandedName::new("", "T")), is_expanded=false, contents=[Element(bounds.element)])
let plane = @bpmn.BpmnPlane::new(id="Plane", bpmn_element=@bpmn.Reference::new(@bpmn.ExpandedName::new("", "P")), contents=[Element(shape.element)])
let diagram = @bpmn.BpmnDiagram::new(id="Diagram", contents=[Element(plane.element)])
let process = @bpmn.Process::new(id="P", contents=[Element(@bpmn.Task::new(id="T").element)])
let document = @bpmn.Definitions::new("urn:example", children=[process.element, diagram.element]).document()
assert_eq(shape.bounds().value().unwrap().x().value().unwrap().token, "123.456789012345678901")
assert_eq(@bpmn.read(@bpmn.write(document, format=Pretty)).document, Some(document))
}///|
test "construct a mixed vendor extension with a QName-sensitive value" {
let payload = @bpmn.XmlElement::new(@bpmn.ExpandedName::new("urn:vendor", "payload"), attributes=[(@bpmn.ExpandedName::new("", "ref"), "q:Target")], contents=[Text("before "), Comment("inert"), Text(" after")], bindings=[("q", "urn:target"), ("unused", "urn:retained")])
let extensions = @bpmn.ExtensionElements::new(contents=[Element(payload.element)])
let process = @bpmn.Process::new(id="P", contents=[Element(extensions.element)])
let document = @bpmn.Definitions::new("urn:example", children=[process.element]).document()
let copy = @bpmn.read(@bpmn.write(document)).document.unwrap()
let retained = copy.root.children[0].children[0].children[0].xml().unwrap()
assert_eq(retained.namespace_binding("q"), Some("urn:target"))
assert_eq(retained.namespace_binding("unused"), Some("urn:retained"))
assert_eq(copy, document)
}///|
test "validate a valid process and inspect incomplete authored fields" {
let task=@bpmn.Task::new(id="T")
let process=@bpmn.Process::new(id="P",contents=[Element(task.element)])
let document=@bpmn.Definitions::new("urn:example",children=[process.element]).document()
let valid=@bpmn.validate(document)
assert_true(valid.complete)
assert_eq(valid.findings,[])
assert_true(valid.index.unwrap().lookup("T") is Found(_))
let bad=@bpmn.SequenceFlow::new(id="MissingEndpoints")
let document=@bpmn.Definitions::new("urn:example",children=[@bpmn.Process::new(contents=[Element(bad.element)]).element]).document()
let invalid=@bpmn.validate(document)
assert_true(invalid.complete)
assert_eq(invalid.document,Some(document))
assert_true(invalid.findings.iter().any(f => f.diagnostic.code == "bpmn/required-field" && f.element_id == Some("MissingEndpoints")))
assert_true(invalid.findings.iter().all(f => f.diagnostic.location == None))
}///|
test "resolve an imported process using only explicit resources" {
let model="http://www.omg.org/spec/BPMN/20100524/MODEL"
let imported=@bpmn.Definitions::new("urn:imported",children=[@bpmn.Process::new(id="Reusable").element]).document()
let reference=@bpmn.Reference::new(@bpmn.ExpandedName::new("urn:imported","Reusable"))
let participant=@bpmn.Participant::new(id="Pool",process_ref=reference)
let document=@bpmn.Definitions::new("urn:main",children=[@bpmn.Import::new("urn:imported","reusable.bpmn",model).element,@bpmn.Collaboration::new(contents=[Element(participant.element)]).element]).document()
let resources=@bpmn.ResourceSet::new(documents=[@bpmn.DocumentResource::new("reusable.bpmn",imported)])
let index=@bpmn.validate_structure(document).index
let result=@bpmn.resolve_references(index,resources~)
assert_eq(result.findings,[])
assert_true(result.resolve(reference) is Found(found) && found.resource_id == Some("reusable.bpmn"))
let missing=@bpmn.resolve_references(index)
assert_true(missing.complete)
assert_true(missing.findings.iter().any(f => f.diagnostic.code == "bpmn/unresolved-import"))
}///|
test "document the complete structural and reference diagnostic inventory" {
let codes : ReadOnlyArray[String] = [
"bpmn/validation-invalid-limits", // A bound is not positive.
"bpmn/validation-node-limit", // Structure record budget exhausted.
"bpmn/validation-depth-limit", // Containment depth exhausted.
"bpmn/validation-token-limit", // One value exceeds its token bound.
"bpmn/validation-diagnostic-limit", // Finding budget exhausted.
"bpmn/duplicate-id", // Multiple declared IDs have the same value.
"bpmn/required-field", // Required field or selected branch is absent.
"bpmn/field-cardinality", // Too many occurrences of one field.
"bpmn/invalid-containment", // Wrong root, child or text containment.
"bpmn/child-order", // Child is outside schema sequence order.
"bpmn/choice-conflict", // Multiple choice branches are present.
"bpmn/abstract-element", // Abstract declaration was instantiated.
"bpmn/invalid-field", // Undeclared field or invalid scalar alternative.
"bpmn/invalid-type", // Incompatible actual or containment type.
"bpmn/unresolved-reference", // No identity in the explicit import closure.
"bpmn/ambiguous-reference", // Several identities match.
"bpmn/invalid-reference", // Invalid/unbound QName, IDREF or external symbol.
"bpmn/wrong-reference-kind", // Identity exists with an incorrect type.
"bpmn/sequence-flow-scope", // Flow endpoint crosses its flow scope.
"bpmn/boundary-attachment", // Attachment is outside the owning flow scope.
"bpmn/reference-endpoint", // Default, lane, incoming/outgoing inconsistency.
"bpmn/unresolved-import", // Location key was not supplied.
"bpmn/ambiguous-import", // Several resources have the same location key.
"bpmn/import-namespace", // Import and supplied namespace differ.
"bpmn/import-type", // Import and supplied resource type differ.
"bpmn/resource-limit", // Resource or lookup-work budget exhausted.
]
assert_eq(@bpmn.validation_diagnostic_codes,codes)
}///|
test "locate a nested task and reject a handle from another revision" {
let task=@bpmn.Task::new(id="T")
let sub=@bpmn.SubProcess::new(id="Sub",contents=[Element(task.element)])
let doc=@bpmn.Definitions::new("urn:t",children=[@bpmn.Process::new(id="P",contents=[Element(sub.element)]).element]).document()
let tree=@bpmn.DocumentTree::new(doc).tree.unwrap()
let tasks=[]
@bpmn.walk(tree.root(),n => { if n.id() == Some("T") { tasks.push(n) }; Continue })
let node=tasks[0]
assert_eq(node.parent().unwrap().id(),Some("Sub"))
assert_eq(node.path().steps().last().unwrap().field,Named(@bpmn.Kind::FlowElement.name()))
assert_eq(node.location(),None)
assert_true(node.path().resolve(tree) is Found(found) && found == node)
let changed=@bpmn.Definitions::new("urn:changed").document()
assert_true(@bpmn.DocumentTree::new(changed).tree.unwrap().lookup(node.handle()) is DocumentMismatch)
}///|
test "walking folding reduction and pull events count the same nodes" {
let doc=@bpmn.Definitions::new("urn:t",children=[@bpmn.Process::new(contents=[Element(@bpmn.Task::new(id="T").element)]).element]).document()
let root=@bpmn.DocumentTree::new(doc).tree.unwrap().root()
let mut entered=0
@bpmn.walk(root,_ => { entered+=1; Continue })
let folded=@bpmn.fold(root,0,(count,_) => (count+1,Continue))
let reduced=@bpmn.reduce(root,(_ : @bpmn.NodeRef,children : ArrayView[Int]) => 1+children.iter().fold(init=0,(sum,n) => sum+n))
let reader=@bpmn.EventReader::new(root)
assert_eq(reader.iter().count(),entered*2)
assert_eq(folded,entered); assert_eq(reduced,entered)
let cursor=@bpmn.TreeCursor::new(root)
assert_true(cursor.goto_first_child())
assert_eq(cursor.node().category(),Definitions)
assert_true(cursor.goto_parent()); assert_eq(cursor.node(),root)
}///|
test "query a bounded structural route without executing a process" {
let source="<b:definitions xmlns:b='http://www.omg.org/spec/BPMN/20100524/MODEL' targetNamespace='urn:t'><b:process><b:task id='A'/><b:task id='B'/><b:task id='C'/><b:sequenceFlow id='AB' sourceRef='A' targetRef='B'/><b:sequenceFlow id='BC' sourceRef='B' targetRef='C'/></b:process></b:definitions>"
let graph=@bpmn.DocumentGraph::new(@bpmn.read(source).document.unwrap()).graph.unwrap()
guard graph.route(Id("A"),Id("C")) is Found(route) else { fail("route missing") }
assert_eq(route.nodes.iter().map(n => n.id()).to_array(),[Some("A"),Some("B"),Some("C")])
assert_eq(route.edges[0].connection.unwrap().id(),Some("AB"))
assert_true(graph.route(Id("C"),Id("A")) is Unreachable)
assert_true(graph.route(Id("A"),Id("C"),limits=@bpmn.GraphLimits::new(nodes=1)) is Failed(Limit(Nodes)))
}///|
test "document traversal and graph construction code inventories" {
assert_eq(@bpmn.traversal_diagnostic_codes,["bpmn/traversal-invalid-limits","bpmn/traversal-node-limit","bpmn/traversal-depth-limit","bpmn/traversal-token-limit"])
assert_eq(@bpmn.graph_diagnostic_codes,["bpmn/graph-invalid-limits","bpmn/graph-work-limit","bpmn/graph-node-limit","bpmn/graph-edge-limit"])
}pub(open) trait EventSource {
fn next(Self) -> TraversalEvent?
fn skip_children(Self) -> Unit
fn stop(Self) -> Unit
}pub(open) trait Visitor {
fn enter(Self, NodeRef) -> Control = _
fn visit_definitions(Self, Definitions, NodeRef) -> Control = _
fn visit_process(Self, Process, NodeRef) -> Control = _
fn visit_activity(Self, Activity, NodeRef) -> Control = _
fn visit_event(Self, Event, NodeRef) -> Control = _
fn visit_gateway(Self, Gateway, NodeRef) -> Control = _
fn visit_sequence_flow(Self, SequenceFlow, NodeRef) -> Control = _
fn visit_collaboration(Self, Collaboration, NodeRef) -> Control = _
fn visit_participant(Self, Participant, NodeRef) -> Control = _
fn visit_lane(Self, Lane, NodeRef) -> Control = _
fn visit_choreography(Self, Choreography, NodeRef) -> Control = _
fn visit_choreography_activity(Self, ChoreographyActivity, NodeRef) -> Control = _
fn visit_conversation(Self, ConversationNode, NodeRef) -> Control = _
fn visit_conversation_link(Self, ConversationLink, NodeRef) -> Control = _
fn visit_extension(Self, XmlElement, NodeRef) -> Control = _
fn visit_document(Self, NodeRef) -> Control = _
fn visit_diagram_interchange(Self, NodeRef) -> Control = _
fn visit_text(Self, NodeRef) -> Control = _
fn visit_comment(Self, NodeRef) -> Control = _
fn visit_processing_instruction(Self, NodeRef) -> Control = _
fn visit_other(Self, NodeRef) -> Control = _
fn leave(Self, NodeRef) -> Unit = _
}fn Activity::data_output_association(self : Activity) -> Field[ReadOnlyArray[DataOutputAssociation]]fn AdHocSubProcess::data_input_association(self : AdHocSubProcess) -> Field[ReadOnlyArray[DataInputAssociation]]fn AdHocSubProcess::data_output_association(self : AdHocSubProcess) -> Field[ReadOnlyArray[DataOutputAssociation]]fn AdHocSubProcess::new(id? : String, name? : String, is_for_compensation? : Bool, start_quantity? : ExactInteger, completion_quantity? : ExactInteger, default_? : Reference, triggered_by_event? : Bool, cancel_remaining_instances? : Bool, ordering? : AdHocOrdering, contents? : ArrayView[Content]) -> AdHocSubProcessfn AnonymousTImplementation78::equal(AnonymousTImplementation78, AnonymousTImplementation78) -> Boolfn AnonymousTImplementation78::not_equal(x : AnonymousTImplementation78, y : AnonymousTImplementation78) -> Boolfn AnonymousTTransactionMethod144::not_equal(x : AnonymousTTransactionMethod144, y : AnonymousTTransactionMethod144) -> Boolfn Association::new(id? : String, source_ref? : Reference, target_ref? : Reference, association_direction? : AssociationDirection, contents? : ArrayView[Content]) -> Associationpub struct Attribute {
name : ExpandedName?
raw_name : String
value : Scalar
span : Span?
// private fields
} derive(Eq, Debug)fn BaseElementWithMixedContent::documentation(self : BaseElementWithMixedContent) -> Field[ReadOnlyArray[Documentation]]fn BaseElementWithMixedContent::equal(BaseElementWithMixedContent, BaseElementWithMixedContent) -> Boolfn BaseElementWithMixedContent::extension_elements(self : BaseElementWithMixedContent) -> Field[ExtensionElements]fn BaseElementWithMixedContent::not_equal(x : BaseElementWithMixedContent, y : BaseElementWithMixedContent) -> Boolfn BoundaryEvent::data_output_association(self : BoundaryEvent) -> Field[ReadOnlyArray[DataOutputAssociation]]fn BoundaryEvent::new(id? : String, name? : String, parallel_multiple? : Bool, cancel_activity? : Bool, attached_to_ref? : Reference, contents? : ArrayView[Content]) -> BoundaryEventfn BpmnDiagram::new(name? : String, documentation? : String, resolution? : ExactNumber, id? : String, contents? : ArrayView[Content]) -> BpmnDiagrampub(all) enum BpmnEnum {
BpmnParticipantBandKind(BpmnParticipantBandKind)
BpmnMessageVisibleKind(BpmnMessageVisibleKind)
AdHocOrdering(AdHocOrdering)
AssociationDirection(AssociationDirection)
ChoreographyLoopType(ChoreographyLoopType)
EventBasedGatewayType(EventBasedGatewayType)
GatewayDirection(GatewayDirection)
Implementation(Implementation)
AnonymousTImplementation78(AnonymousTImplementation78)
ItemKind(ItemKind)
MultiInstanceFlowCondition(MultiInstanceFlowCondition)
ProcessType(ProcessType)
RelationshipDirection(RelationshipDirection)
TransactionMethod(TransactionMethod)
AnonymousTTransactionMethod144(AnonymousTTransactionMethod144)
} derive(Eq, Debug)fn BpmnMessageVisibleKind::not_equal(x : BpmnMessageVisibleKind, y : BpmnMessageVisibleKind) -> Boolfn BpmnParticipantBandKind::not_equal(x : BpmnParticipantBandKind, y : BpmnParticipantBandKind) -> Boolfn BusinessRuleTask::data_input_association(self : BusinessRuleTask) -> Field[ReadOnlyArray[DataInputAssociation]]fn BusinessRuleTask::data_output_association(self : BusinessRuleTask) -> Field[ReadOnlyArray[DataOutputAssociation]]fn BusinessRuleTask::new(id? : String, name? : String, is_for_compensation? : Bool, start_quantity? : ExactInteger, completion_quantity? : ExactInteger, default_? : Reference, implementation? : Implementation, contents? : ArrayView[Content]) -> BusinessRuleTaskfn CallActivity::data_input_association(self : CallActivity) -> Field[ReadOnlyArray[DataInputAssociation]]fn CallActivity::data_output_association(self : CallActivity) -> Field[ReadOnlyArray[DataOutputAssociation]]fn CallActivity::new(id? : String, name? : String, is_for_compensation? : Bool, start_quantity? : ExactInteger, completion_quantity? : ExactInteger, default_? : Reference, called_element? : Reference, contents? : ArrayView[Content]) -> CallActivityfn CallChoreography::correlation_key(self : CallChoreography) -> Field[ReadOnlyArray[CorrelationKey]]fn CallChoreography::new(id? : String, name? : String, initiating_participant_ref? : Reference, loop_type? : ChoreographyLoopType, called_choreography_ref? : Reference, contents? : ArrayView[Content]) -> CallChoreographyfn CallChoreography::participant_association(self : CallChoreography) -> Field[ReadOnlyArray[ParticipantAssociation]]fn CallConversation::correlation_key(self : CallConversation) -> Field[ReadOnlyArray[CorrelationKey]]fn CallConversation::new(id? : String, name? : String, called_collaboration_ref? : Reference, contents? : ArrayView[Content]) -> CallConversationfn CallConversation::participant_association(self : CallConversation) -> Field[ReadOnlyArray[ParticipantAssociation]]fn CallableElement::new(id? : String, name? : String, contents? : ArrayView[Content]) -> CallableElementfn CallableElement::supported_interface_ref(self : CallableElement) -> Field[ReadOnlyArray[Reference]]fn CancelEventDefinition::documentation(self : CancelEventDefinition) -> Field[ReadOnlyArray[Documentation]]fn CancelEventDefinition::extension_elements(self : CancelEventDefinition) -> Field[ExtensionElements]fn CancelEventDefinition::new(id? : String, contents? : ArrayView[Content]) -> CancelEventDefinitionfn CatchEvent::data_output_association(self : CatchEvent) -> Field[ReadOnlyArray[DataOutputAssociation]]fn CategoryValue::new(id? : String, value? : String, contents? : ArrayView[Content]) -> CategoryValuefn Choreography::conversation_association(self : Choreography) -> Field[ReadOnlyArray[ConversationAssociation]]fn Choreography::message_flow_association(self : Choreography) -> Field[ReadOnlyArray[MessageFlowAssociation]]fn Choreography::new(id? : String, name? : String, is_closed? : Bool, contents? : ArrayView[Content]) -> Choreographyfn Choreography::participant_association(self : Choreography) -> Field[ReadOnlyArray[ParticipantAssociation]]fn ChoreographyActivity::category_value_ref(self : ChoreographyActivity) -> Field[ReadOnlyArray[Reference]]fn ChoreographyActivity::correlation_key(self : ChoreographyActivity) -> Field[ReadOnlyArray[CorrelationKey]]fn ChoreographyActivity::documentation(self : ChoreographyActivity) -> Field[ReadOnlyArray[Documentation]]fn ChoreographyActivity::extension_elements(self : ChoreographyActivity) -> Field[ExtensionElements]fn ChoreographyActivity::initiating_participant_ref(self : ChoreographyActivity) -> Field[Reference]fn ChoreographyActivity::participant_ref(self : ChoreographyActivity) -> Field[ReadOnlyArray[Reference]]fn ChoreographyTask::correlation_key(self : ChoreographyTask) -> Field[ReadOnlyArray[CorrelationKey]]fn ChoreographyTask::new(id? : String, name? : String, initiating_participant_ref? : Reference, loop_type? : ChoreographyLoopType, contents? : ArrayView[Content]) -> ChoreographyTaskfn Collaboration::conversation_association(self : Collaboration) -> Field[ReadOnlyArray[ConversationAssociation]]fn Collaboration::message_flow_association(self : Collaboration) -> Field[ReadOnlyArray[MessageFlowAssociation]]fn Collaboration::new(id? : String, name? : String, is_closed? : Bool, contents? : ArrayView[Content]) -> Collaborationfn Collaboration::participant_association(self : Collaboration) -> Field[ReadOnlyArray[ParticipantAssociation]]fn CompensateEventDefinition::documentation(self : CompensateEventDefinition) -> Field[ReadOnlyArray[Documentation]]fn CompensateEventDefinition::extension_elements(self : CompensateEventDefinition) -> Field[ExtensionElements]fn CompensateEventDefinition::new(id? : String, wait_for_completion? : Bool, activity_ref? : Reference, contents? : ArrayView[Content]) -> CompensateEventDefinitionfn CompensateEventDefinition::not_equal(x : CompensateEventDefinition, y : CompensateEventDefinition) -> Boolfn ComplexBehaviorDefinition::condition(self : ComplexBehaviorDefinition) -> Field[FormalExpression]fn ComplexBehaviorDefinition::documentation(self : ComplexBehaviorDefinition) -> Field[ReadOnlyArray[Documentation]]fn ComplexBehaviorDefinition::extension_elements(self : ComplexBehaviorDefinition) -> Field[ExtensionElements]fn ComplexBehaviorDefinition::new(id? : String, contents? : ArrayView[Content]) -> ComplexBehaviorDefinitionfn ComplexBehaviorDefinition::not_equal(x : ComplexBehaviorDefinition, y : ComplexBehaviorDefinition) -> Boolfn ComplexGateway::new(id? : String, name? : String, gateway_direction? : GatewayDirection, default_? : Reference, contents? : ArrayView[Content]) -> ComplexGatewayfn ConditionalEventDefinition::documentation(self : ConditionalEventDefinition) -> Field[ReadOnlyArray[Documentation]]fn ConditionalEventDefinition::equal(ConditionalEventDefinition, ConditionalEventDefinition) -> Boolfn ConditionalEventDefinition::extension_elements(self : ConditionalEventDefinition) -> Field[ExtensionElements]fn ConditionalEventDefinition::new(id? : String, contents? : ArrayView[Content]) -> ConditionalEventDefinitionfn ConditionalEventDefinition::not_equal(x : ConditionalEventDefinition, y : ConditionalEventDefinition) -> Boolfn ConversationAssociation::documentation(self : ConversationAssociation) -> Field[ReadOnlyArray[Documentation]]fn ConversationAssociation::extension_elements(self : ConversationAssociation) -> Field[ExtensionElements]fn ConversationAssociation::inner_conversation_node_ref(self : ConversationAssociation) -> Field[Reference]fn ConversationAssociation::new(id? : String, inner_conversation_node_ref? : Reference, outer_conversation_node_ref? : Reference, contents? : ArrayView[Content]) -> ConversationAssociationfn ConversationAssociation::not_equal(x : ConversationAssociation, y : ConversationAssociation) -> Boolfn ConversationAssociation::outer_conversation_node_ref(self : ConversationAssociation) -> Field[Reference]fn ConversationLink::new(id? : String, name? : String, source_ref? : Reference, target_ref? : Reference, contents? : ArrayView[Content]) -> ConversationLinkfn ConversationNode::correlation_key(self : ConversationNode) -> Field[ReadOnlyArray[CorrelationKey]]fn CorrelationKey::correlation_property_ref(self : CorrelationKey) -> Field[ReadOnlyArray[Reference]]fn CorrelationKey::new(id? : String, name? : String, contents? : ArrayView[Content]) -> CorrelationKeyfn CorrelationProperty::correlation_property_retrieval_expression(self : CorrelationProperty) -> Field[ReadOnlyArray[CorrelationPropertyRetrievalExpression]]fn CorrelationProperty::documentation(self : CorrelationProperty) -> Field[ReadOnlyArray[Documentation]]fn CorrelationProperty::new(id? : String, name? : String, type_? : Reference, contents? : ArrayView[Content]) -> CorrelationPropertyfn CorrelationPropertyBinding::correlation_property_ref(self : CorrelationPropertyBinding) -> Field[Reference]fn CorrelationPropertyBinding::data_path(self : CorrelationPropertyBinding) -> Field[FormalExpression]fn CorrelationPropertyBinding::documentation(self : CorrelationPropertyBinding) -> Field[ReadOnlyArray[Documentation]]fn CorrelationPropertyBinding::equal(CorrelationPropertyBinding, CorrelationPropertyBinding) -> Boolfn CorrelationPropertyBinding::extension_elements(self : CorrelationPropertyBinding) -> Field[ExtensionElements]fn CorrelationPropertyBinding::new(id? : String, correlation_property_ref? : Reference, contents? : ArrayView[Content]) -> CorrelationPropertyBindingfn CorrelationPropertyBinding::not_equal(x : CorrelationPropertyBinding, y : CorrelationPropertyBinding) -> Boolfn CorrelationPropertyRetrievalExpression::documentation(self : CorrelationPropertyRetrievalExpression) -> Field[ReadOnlyArray[Documentation]]fn CorrelationPropertyRetrievalExpression::extension_elements(self : CorrelationPropertyRetrievalExpression) -> Field[ExtensionElements]fn CorrelationPropertyRetrievalExpression::from_element(element : Element) -> CorrelationPropertyRetrievalExpression?fn CorrelationPropertyRetrievalExpression::id(self : CorrelationPropertyRetrievalExpression) -> Field[String]fn CorrelationPropertyRetrievalExpression::message_path(self : CorrelationPropertyRetrievalExpression) -> Field[FormalExpression]fn CorrelationPropertyRetrievalExpression::message_ref(self : CorrelationPropertyRetrievalExpression) -> Field[Reference]fn CorrelationPropertyRetrievalExpression::new(id? : String, message_ref? : Reference, contents? : ArrayView[Content]) -> CorrelationPropertyRetrievalExpressionfn CorrelationPropertyRetrievalExpression::not_equal(x : CorrelationPropertyRetrievalExpression, y : CorrelationPropertyRetrievalExpression) -> Boolfn CorrelationSubscription::correlation_property_binding(self : CorrelationSubscription) -> Field[ReadOnlyArray[CorrelationPropertyBinding]]fn CorrelationSubscription::documentation(self : CorrelationSubscription) -> Field[ReadOnlyArray[Documentation]]fn CorrelationSubscription::extension_elements(self : CorrelationSubscription) -> Field[ExtensionElements]fn CorrelationSubscription::new(id? : String, correlation_key_ref? : Reference, contents? : ArrayView[Content]) -> CorrelationSubscriptionfn CorrelationSubscription::not_equal(x : CorrelationSubscription, y : CorrelationSubscription) -> Boolfn DataInputAssociation::assignment(self : DataInputAssociation) -> Field[ReadOnlyArray[Assignment]]fn DataInputAssociation::documentation(self : DataInputAssociation) -> Field[ReadOnlyArray[Documentation]]fn DataInputAssociation::extension_elements(self : DataInputAssociation) -> Field[ExtensionElements]fn DataObject::new(id? : String, name? : String, item_subject_ref? : Reference, is_collection? : Bool, contents? : ArrayView[Content]) -> DataObjectfn DataObjectReference::category_value_ref(self : DataObjectReference) -> Field[ReadOnlyArray[Reference]]fn DataObjectReference::documentation(self : DataObjectReference) -> Field[ReadOnlyArray[Documentation]]fn DataObjectReference::new(id? : String, name? : String, item_subject_ref? : Reference, data_object_ref? : Reference, contents? : ArrayView[Content]) -> DataObjectReferencefn DataOutput::new(id? : String, name? : String, item_subject_ref? : Reference, is_collection? : Bool, contents? : ArrayView[Content]) -> DataOutputfn DataOutputAssociation::assignment(self : DataOutputAssociation) -> Field[ReadOnlyArray[Assignment]]fn DataOutputAssociation::documentation(self : DataOutputAssociation) -> Field[ReadOnlyArray[Documentation]]fn DataOutputAssociation::extension_elements(self : DataOutputAssociation) -> Field[ExtensionElements]fn DataOutputAssociation::new(id? : String, contents? : ArrayView[Content]) -> DataOutputAssociationfn DataOutputAssociation::source_ref(self : DataOutputAssociation) -> Field[ReadOnlyArray[Reference]]fn DataStoreReference::category_value_ref(self : DataStoreReference) -> Field[ReadOnlyArray[Reference]]fn DataStoreReference::documentation(self : DataStoreReference) -> Field[ReadOnlyArray[Documentation]]fn DataStoreReference::new(id? : String, name? : String, item_subject_ref? : Reference, data_store_ref? : Reference, contents? : ArrayView[Content]) -> DataStoreReferencefn DcBounds::new(x? : ExactNumber, y? : ExactNumber, width? : ExactNumber, height? : ExactNumber, contents? : ArrayView[Content]) -> DcBoundsfn DcFont::new(name? : String, size? : ExactNumber, is_bold? : Bool, is_italic? : Bool, is_underline? : Bool, is_strike_through? : Bool, contents? : ArrayView[Content]) -> DcFontfn Definitions::new(target_namespace_uri : String, id? : String, name? : String, expression_language? : String, type_language? : String, exporter? : String, exporter_version? : String, children? : ArrayView[Element]) -> Definitionsfn DiAnonymousDiagramElementExtension1::from_element(element : Element) -> DiAnonymousDiagramElementExtension1?fn DiAnonymousDiagramElementExtension1::not_equal(x : DiAnonymousDiagramElementExtension1, y : DiAnonymousDiagramElementExtension1) -> Boolfn DiDiagramElement::extension(self : DiDiagramElement) -> Field[DiAnonymousDiagramElementExtension1]impl Debug for DocumentGraphfn DocumentGraph::lookup(self : DocumentGraph, endpoint : GraphEndpoint, limits? : GraphLimits) -> Result[GraphNode, GraphFailure]fn DocumentGraph::new(document : Document, resources? : ResourceSet, resource_id? : String, limits? : Limits, graph_limits? : GraphLimits) -> GraphBuildResultfn DocumentGraph::reachable(self : DocumentGraph, start : GraphEndpoint, kinds? : ArrayView[GraphEdgeKind], direction? : GraphDirection, limits? : GraphLimits) -> ReachabilityResultfn DocumentGraph::route(self : DocumentGraph, start : GraphEndpoint, target : GraphEndpoint, kinds? : ArrayView[GraphEdgeKind], direction? : GraphDirection, limits? : GraphLimits) -> RouteResultpub struct DocumentIndex {
document : Document
nodes : ReadOnlyArray[IndexedElement]
complete : Bool
// private fields
} derive(Debug)impl Debug for DocumentTreefn DocumentTree::new(document : Document, resource_id? : String, limits? : Limits) -> TreeBuildResultfn Documentation::new(contents : ArrayView[Content], id? : String, text_format? : String) -> Documentationpub struct Element {
kind : Kind
attributes : ReadOnlyArray[(String, String)]
values : ReadOnlyArray[Attribute]
children : ReadOnlyArray[Element]
contents : ReadOnlyArray[Content]
content : String
bindings : ReadOnlyArray[(String, String)]
value_type : ExpandedName?
text_value : Scalar?
span : Span?
// private fields
} derive(Debug)fn ErrorEventDefinition::documentation(self : ErrorEventDefinition) -> Field[ReadOnlyArray[Documentation]]fn ErrorEventDefinition::extension_elements(self : ErrorEventDefinition) -> Field[ExtensionElements]fn ErrorEventDefinition::new(id? : String, error_ref? : Reference, contents? : ArrayView[Content]) -> ErrorEventDefinitionfn Escalation::new(id? : String, name? : String, escalation_code? : String, structure_ref? : Reference, contents? : ArrayView[Content]) -> Escalationfn EscalationEventDefinition::documentation(self : EscalationEventDefinition) -> Field[ReadOnlyArray[Documentation]]fn EscalationEventDefinition::extension_elements(self : EscalationEventDefinition) -> Field[ExtensionElements]fn EscalationEventDefinition::new(id? : String, escalation_ref? : Reference, contents? : ArrayView[Content]) -> EscalationEventDefinitionfn EscalationEventDefinition::not_equal(x : EscalationEventDefinition, y : EscalationEventDefinition) -> Boolfn EventBasedGateway::category_value_ref(self : EventBasedGateway) -> Field[ReadOnlyArray[Reference]]fn EventBasedGateway::documentation(self : EventBasedGateway) -> Field[ReadOnlyArray[Documentation]]fn EventBasedGateway::new(id? : String, name? : String, gateway_direction? : GatewayDirection, instantiate? : Bool, event_gateway_type? : EventBasedGatewayType, contents? : ArrayView[Content]) -> EventBasedGatewayfn ExclusiveGateway::new(id? : String, name? : String, gateway_direction? : GatewayDirection, default_? : Reference, contents? : ArrayView[Content]) -> ExclusiveGatewayfn ExternalResource::new(location : String, namespace_uri : String, import_type : String, symbols : ArrayView[String]) -> ExternalResourcefn FormalExpression::new(id? : String, language? : String, evaluates_to_type_ref? : Reference, contents? : ArrayView[Content]) -> FormalExpressionfn Gateway::new(id? : String, name? : String, gateway_direction? : GatewayDirection, contents? : ArrayView[Content]) -> Gatewayfn GlobalBusinessRuleTask::documentation(self : GlobalBusinessRuleTask) -> Field[ReadOnlyArray[Documentation]]fn GlobalBusinessRuleTask::extension_elements(self : GlobalBusinessRuleTask) -> Field[ExtensionElements]fn GlobalBusinessRuleTask::io_binding(self : GlobalBusinessRuleTask) -> Field[ReadOnlyArray[InputOutputBinding]]fn GlobalBusinessRuleTask::io_specification(self : GlobalBusinessRuleTask) -> Field[InputOutputSpecification]fn GlobalBusinessRuleTask::new(id? : String, name? : String, implementation? : Implementation, contents? : ArrayView[Content]) -> GlobalBusinessRuleTaskfn GlobalBusinessRuleTask::not_equal(x : GlobalBusinessRuleTask, y : GlobalBusinessRuleTask) -> Boolfn GlobalBusinessRuleTask::resource_role(self : GlobalBusinessRuleTask) -> Field[ReadOnlyArray[ResourceRole]]fn GlobalBusinessRuleTask::supported_interface_ref(self : GlobalBusinessRuleTask) -> Field[ReadOnlyArray[Reference]]fn GlobalChoreographyTask::artifact(self : GlobalChoreographyTask) -> Field[ReadOnlyArray[Artifact]]fn GlobalChoreographyTask::choreography_ref(self : GlobalChoreographyTask) -> Field[ReadOnlyArray[Reference]]fn GlobalChoreographyTask::conversation_association(self : GlobalChoreographyTask) -> Field[ReadOnlyArray[ConversationAssociation]]fn GlobalChoreographyTask::conversation_link(self : GlobalChoreographyTask) -> Field[ReadOnlyArray[ConversationLink]]fn GlobalChoreographyTask::conversation_node(self : GlobalChoreographyTask) -> Field[ReadOnlyArray[ConversationNode]]fn GlobalChoreographyTask::correlation_key(self : GlobalChoreographyTask) -> Field[ReadOnlyArray[CorrelationKey]]fn GlobalChoreographyTask::documentation(self : GlobalChoreographyTask) -> Field[ReadOnlyArray[Documentation]]fn GlobalChoreographyTask::extension_elements(self : GlobalChoreographyTask) -> Field[ExtensionElements]fn GlobalChoreographyTask::flow_element(self : GlobalChoreographyTask) -> Field[ReadOnlyArray[FlowElement]]fn GlobalChoreographyTask::initiating_participant_ref(self : GlobalChoreographyTask) -> Field[Reference]fn GlobalChoreographyTask::message_flow(self : GlobalChoreographyTask) -> Field[ReadOnlyArray[MessageFlow]]fn GlobalChoreographyTask::message_flow_association(self : GlobalChoreographyTask) -> Field[ReadOnlyArray[MessageFlowAssociation]]fn GlobalChoreographyTask::new(id? : String, name? : String, is_closed? : Bool, initiating_participant_ref? : Reference, contents? : ArrayView[Content]) -> GlobalChoreographyTaskfn GlobalChoreographyTask::not_equal(x : GlobalChoreographyTask, y : GlobalChoreographyTask) -> Boolfn GlobalChoreographyTask::participant(self : GlobalChoreographyTask) -> Field[ReadOnlyArray[Participant]]fn GlobalChoreographyTask::participant_association(self : GlobalChoreographyTask) -> Field[ReadOnlyArray[ParticipantAssociation]]fn GlobalConversation::choreography_ref(self : GlobalConversation) -> Field[ReadOnlyArray[Reference]]fn GlobalConversation::conversation_association(self : GlobalConversation) -> Field[ReadOnlyArray[ConversationAssociation]]fn GlobalConversation::conversation_link(self : GlobalConversation) -> Field[ReadOnlyArray[ConversationLink]]fn GlobalConversation::conversation_node(self : GlobalConversation) -> Field[ReadOnlyArray[ConversationNode]]fn GlobalConversation::correlation_key(self : GlobalConversation) -> Field[ReadOnlyArray[CorrelationKey]]fn GlobalConversation::documentation(self : GlobalConversation) -> Field[ReadOnlyArray[Documentation]]fn GlobalConversation::message_flow_association(self : GlobalConversation) -> Field[ReadOnlyArray[MessageFlowAssociation]]fn GlobalConversation::new(id? : String, name? : String, is_closed? : Bool, contents? : ArrayView[Content]) -> GlobalConversationfn GlobalConversation::participant_association(self : GlobalConversation) -> Field[ReadOnlyArray[ParticipantAssociation]]fn GlobalManualTask::io_binding(self : GlobalManualTask) -> Field[ReadOnlyArray[InputOutputBinding]]fn GlobalManualTask::new(id? : String, name? : String, contents? : ArrayView[Content]) -> GlobalManualTaskfn GlobalManualTask::supported_interface_ref(self : GlobalManualTask) -> Field[ReadOnlyArray[Reference]]fn GlobalScriptTask::io_binding(self : GlobalScriptTask) -> Field[ReadOnlyArray[InputOutputBinding]]fn GlobalScriptTask::new(id? : String, name? : String, script_language? : String, contents? : ArrayView[Content]) -> GlobalScriptTaskfn GlobalScriptTask::supported_interface_ref(self : GlobalScriptTask) -> Field[ReadOnlyArray[Reference]]fn GlobalUserTask::new(id? : String, name? : String, implementation? : Implementation, contents? : ArrayView[Content]) -> GlobalUserTaskfn GlobalUserTask::supported_interface_ref(self : GlobalUserTask) -> Field[ReadOnlyArray[Reference]]pub struct GraphBuildResult {
graph : DocumentGraph?
diagnostics : ReadOnlyArray[Diagnostic]
} derive(Debug)pub(all) enum GraphEndpoint {
Node(NodeHandle)
Id(String)
Qualified(ExpandedName)
Symbol(ResolvedSymbol)
} derive(Eq, Debug)pub(all) enum GraphFailure {
InvalidEndpoint
DocumentMismatch
InvalidReference(NodeHandle)
Ambiguous(ReadOnlyArray[GraphNode])
Limit(GraphLimit)
InvalidLimits
} derive(Eq, Debug)fn HumanPerformer::new(id? : String, name? : String, contents? : ArrayView[Content]) -> HumanPerformerfn HumanPerformer::resource_assignment_expression(self : HumanPerformer) -> Field[ResourceAssignmentExpression]fn HumanPerformer::resource_parameter_binding(self : HumanPerformer) -> Field[ReadOnlyArray[ResourceParameterBinding]]pub(all) enum IdLookup {
Found(IndexedElement)
Ambiguous(ReadOnlyArray[IndexedElement])
Missing
Incomplete
} derive(Eq, Debug)fn ImplicitThrowEvent::category_value_ref(self : ImplicitThrowEvent) -> Field[ReadOnlyArray[Reference]]fn ImplicitThrowEvent::data_input_association(self : ImplicitThrowEvent) -> Field[ReadOnlyArray[DataInputAssociation]]fn ImplicitThrowEvent::documentation(self : ImplicitThrowEvent) -> Field[ReadOnlyArray[Documentation]]fn ImplicitThrowEvent::event_definition(self : ImplicitThrowEvent) -> Field[ReadOnlyArray[EventDefinition]]fn ImplicitThrowEvent::event_definition_ref(self : ImplicitThrowEvent) -> Field[ReadOnlyArray[Reference]]fn ImplicitThrowEvent::new(id? : String, name? : String, contents? : ArrayView[Content]) -> ImplicitThrowEventfn InclusiveGateway::new(id? : String, name? : String, gateway_direction? : GatewayDirection, default_? : Reference, contents? : ArrayView[Content]) -> InclusiveGatewaypub struct IndexedResource {
resource_id : String?
index : DocumentIndex
records : Int
} derive(Debug)fn InputOutputBinding::documentation(self : InputOutputBinding) -> Field[ReadOnlyArray[Documentation]]fn InputOutputBinding::new(id? : String, operation_ref? : Reference, input_data_ref? : Reference, output_data_ref? : Reference, contents? : ArrayView[Content]) -> InputOutputBindingfn InputOutputSpecification::data_input(self : InputOutputSpecification) -> Field[ReadOnlyArray[DataInput]]fn InputOutputSpecification::data_output(self : InputOutputSpecification) -> Field[ReadOnlyArray[DataOutput]]fn InputOutputSpecification::documentation(self : InputOutputSpecification) -> Field[ReadOnlyArray[Documentation]]fn InputOutputSpecification::extension_elements(self : InputOutputSpecification) -> Field[ExtensionElements]fn InputOutputSpecification::input_set(self : InputOutputSpecification) -> Field[ReadOnlyArray[InputSet]]fn InputOutputSpecification::new(id? : String, contents? : ArrayView[Content]) -> InputOutputSpecificationfn InputOutputSpecification::not_equal(x : InputOutputSpecification, y : InputOutputSpecification) -> Boolfn InputOutputSpecification::output_set(self : InputOutputSpecification) -> Field[ReadOnlyArray[OutputSet]]fn IntermediateCatchEvent::category_value_ref(self : IntermediateCatchEvent) -> Field[ReadOnlyArray[Reference]]fn IntermediateCatchEvent::data_output(self : IntermediateCatchEvent) -> Field[ReadOnlyArray[DataOutput]]fn IntermediateCatchEvent::data_output_association(self : IntermediateCatchEvent) -> Field[ReadOnlyArray[DataOutputAssociation]]fn IntermediateCatchEvent::documentation(self : IntermediateCatchEvent) -> Field[ReadOnlyArray[Documentation]]fn IntermediateCatchEvent::event_definition(self : IntermediateCatchEvent) -> Field[ReadOnlyArray[EventDefinition]]fn IntermediateCatchEvent::event_definition_ref(self : IntermediateCatchEvent) -> Field[ReadOnlyArray[Reference]]fn IntermediateCatchEvent::extension_elements(self : IntermediateCatchEvent) -> Field[ExtensionElements]fn IntermediateCatchEvent::incoming(self : IntermediateCatchEvent) -> Field[ReadOnlyArray[Reference]]fn IntermediateCatchEvent::new(id? : String, name? : String, parallel_multiple? : Bool, contents? : ArrayView[Content]) -> IntermediateCatchEventfn IntermediateCatchEvent::not_equal(x : IntermediateCatchEvent, y : IntermediateCatchEvent) -> Boolfn IntermediateCatchEvent::outgoing(self : IntermediateCatchEvent) -> Field[ReadOnlyArray[Reference]]fn IntermediateCatchEvent::property(self : IntermediateCatchEvent) -> Field[ReadOnlyArray[Property]]fn IntermediateThrowEvent::category_value_ref(self : IntermediateThrowEvent) -> Field[ReadOnlyArray[Reference]]fn IntermediateThrowEvent::data_input(self : IntermediateThrowEvent) -> Field[ReadOnlyArray[DataInput]]fn IntermediateThrowEvent::data_input_association(self : IntermediateThrowEvent) -> Field[ReadOnlyArray[DataInputAssociation]]fn IntermediateThrowEvent::documentation(self : IntermediateThrowEvent) -> Field[ReadOnlyArray[Documentation]]fn IntermediateThrowEvent::event_definition(self : IntermediateThrowEvent) -> Field[ReadOnlyArray[EventDefinition]]fn IntermediateThrowEvent::event_definition_ref(self : IntermediateThrowEvent) -> Field[ReadOnlyArray[Reference]]fn IntermediateThrowEvent::extension_elements(self : IntermediateThrowEvent) -> Field[ExtensionElements]fn IntermediateThrowEvent::incoming(self : IntermediateThrowEvent) -> Field[ReadOnlyArray[Reference]]fn IntermediateThrowEvent::new(id? : String, name? : String, contents? : ArrayView[Content]) -> IntermediateThrowEventfn IntermediateThrowEvent::not_equal(x : IntermediateThrowEvent, y : IntermediateThrowEvent) -> Boolfn IntermediateThrowEvent::outgoing(self : IntermediateThrowEvent) -> Field[ReadOnlyArray[Reference]]fn IntermediateThrowEvent::property(self : IntermediateThrowEvent) -> Field[ReadOnlyArray[Property]]fn ItemDefinition::new(id? : String, structure_ref? : Reference, is_collection? : Bool, item_kind? : ItemKind, contents? : ArrayView[Content]) -> ItemDefinitionpub(all) enum Kind {
DcFont
DiEdge
DiNode
DcPoint
DiLabel
DiPlane
DiShape
DiStyle
Bounds
To
DiDiagram
Waypoint
From
Lane
Task
Text
DiExtension
Edge
Error
Event
Group
BpmnBPMNLabel
Plane
Shape
Import
Script
Signal
Source
Target
DiLabeledEdge
Gateway
LaneSet
Message
Process
DiLabeledShape
Diagram
Activity
Artifact
Auditing
Category
DataPath
EndEvent
EndPoint
ErrorRef
FlowNode
Incoming
InputSet
Outgoing
Property
Resource
SendTask
Supports
TimeDate
UserTask
Condition
DataInput
DataState
DataStore
Extension
Interface
IoBinding
Operation
OutputSet
Performer
Rendering
SourceRef
TargetRef
TimeCycle
DiDiagramElement
Assignment
CatchEvent
DataObject
DataOutput
Escalation
Expression
GlobalTask
ManualTask
Monitoring
ScriptTask
StartEvent
SubProcess
ThrowEvent
BpmnBPMNLabelStyle
Association
BaseElement
Definitions
EndPointRef
FlowElement
FlowNodeRef
MessageFlow
MessagePath
Participant
PartnerRole
ReceiveTask
ResourceRef
RootElement
ServiceTask
Transaction
CallActivity
ChildLaneSet
Choreography
Conversation
InMessageRef
InputSetRefs
InterfaceRef
OperationRef
Relationship
ResourceRole
SequenceFlow
TimeDuration
BoundaryEvent
CategoryValue
Collaboration
DataInputRefs
Documentation
InputDataItem
LoopCondition
OutMessageRef
OutputSetRefs
PartnerEntity
ComplexGateway
CorrelationKey
DataOutputRefs
GlobalUserTask
HumanPerformer
ItemDefinition
MessageFlowRef
OutputDataItem
ParticipantRef
PotentialOwner
TextAnnotation
Transformation
AdHocSubProcess
CallableElement
ChoreographyRef
DataAssociation
EventDefinition
IoSpecification
LoopCardinality
ParallelGateway
SubChoreography
SubConversation
BusinessRuleTask
CallChoreography
CallConversation
CategoryValueRef
ChoreographyTask
ConversationLink
ConversationNode
ExclusiveGateway
FormalExpression
GlobalManualTask
GlobalScriptTask
InclusiveGateway
LoopDataInputRef
PartitionElement
EventBasedGateway
ExtensionElements
LoopDataOutputRef
OptionalInputRefs
ResourceParameter
DataStoreReference
EventDefinitionRef
GlobalConversation
ImplicitThrowEvent
OptionalOutputRefs
ActivationCondition
CompletionCondition
ConditionExpression
CorrelationProperty
DataObjectReference
InnerParticipantRef
LinkEventDefinition
LoopCharacteristics
OuterParticipantRef
ChoreographyActivity
DataInputAssociation
ErrorEventDefinition
TimerEventDefinition
CancelEventDefinition
DataOutputAssociation
SignalEventDefinition
SupportedInterfaceRef
CorrelationPropertyRef
GlobalBusinessRuleTask
GlobalChoreographyTask
IntermediateCatchEvent
IntermediateThrowEvent
MessageEventDefinition
MessageFlowAssociation
ParticipantAssociation
ConversationAssociation
CorrelationSubscription
ParticipantMultiplicity
WhileExecutingInputRefs
ResourceParameterBinding
TerminateEventDefinition
WhileExecutingOutputRefs
CompensateEventDefinition
ComplexBehaviorDefinition
EscalationEventDefinition
ConditionalEventDefinition
CorrelationPropertyBinding
BaseElementWithMixedContent
StandardLoopCharacteristics
ResourceAssignmentExpression
MultiInstanceLoopCharacteristics
CorrelationPropertyRetrievalExpression
Foreign(ExpandedName)
Unknown(ExpandedName)
} derive(Eq, Debug)fn LinkEventDefinition::documentation(self : LinkEventDefinition) -> Field[ReadOnlyArray[Documentation]]fn LinkEventDefinition::new(id? : String, name? : String, contents? : ArrayView[Content]) -> LinkEventDefinitionfn LoopCharacteristics::documentation(self : LoopCharacteristics) -> Field[ReadOnlyArray[Documentation]]fn ManualTask::data_input_association(self : ManualTask) -> Field[ReadOnlyArray[DataInputAssociation]]fn ManualTask::data_output_association(self : ManualTask) -> Field[ReadOnlyArray[DataOutputAssociation]]fn ManualTask::new(id? : String, name? : String, is_for_compensation? : Bool, start_quantity? : ExactInteger, completion_quantity? : ExactInteger, default_? : Reference, contents? : ArrayView[Content]) -> ManualTaskfn MessageEventDefinition::documentation(self : MessageEventDefinition) -> Field[ReadOnlyArray[Documentation]]fn MessageEventDefinition::extension_elements(self : MessageEventDefinition) -> Field[ExtensionElements]fn MessageEventDefinition::new(id? : String, message_ref? : Reference, contents? : ArrayView[Content]) -> MessageEventDefinitionfn MessageEventDefinition::not_equal(x : MessageEventDefinition, y : MessageEventDefinition) -> Boolfn MessageFlow::new(id? : String, name? : String, source_ref? : Reference, target_ref? : Reference, message_ref? : Reference, contents? : ArrayView[Content]) -> MessageFlowfn MessageFlowAssociation::documentation(self : MessageFlowAssociation) -> Field[ReadOnlyArray[Documentation]]fn MessageFlowAssociation::extension_elements(self : MessageFlowAssociation) -> Field[ExtensionElements]fn MessageFlowAssociation::inner_message_flow_ref(self : MessageFlowAssociation) -> Field[Reference]fn MessageFlowAssociation::new(id? : String, inner_message_flow_ref? : Reference, outer_message_flow_ref? : Reference, contents? : ArrayView[Content]) -> MessageFlowAssociationfn MessageFlowAssociation::not_equal(x : MessageFlowAssociation, y : MessageFlowAssociation) -> Boolfn MessageFlowAssociation::outer_message_flow_ref(self : MessageFlowAssociation) -> Field[Reference]fn MultiInstanceFlowCondition::equal(MultiInstanceFlowCondition, MultiInstanceFlowCondition) -> Boolfn MultiInstanceFlowCondition::not_equal(x : MultiInstanceFlowCondition, y : MultiInstanceFlowCondition) -> Boolfn MultiInstanceLoopCharacteristics::behavior(self : MultiInstanceLoopCharacteristics) -> Field[MultiInstanceFlowCondition]fn MultiInstanceLoopCharacteristics::completion_condition(self : MultiInstanceLoopCharacteristics) -> Field[Expression]fn MultiInstanceLoopCharacteristics::complex_behavior_definition(self : MultiInstanceLoopCharacteristics) -> Field[ReadOnlyArray[ComplexBehaviorDefinition]]fn MultiInstanceLoopCharacteristics::documentation(self : MultiInstanceLoopCharacteristics) -> Field[ReadOnlyArray[Documentation]]fn MultiInstanceLoopCharacteristics::extension_elements(self : MultiInstanceLoopCharacteristics) -> Field[ExtensionElements]fn MultiInstanceLoopCharacteristics::from_element(element : Element) -> MultiInstanceLoopCharacteristics?fn MultiInstanceLoopCharacteristics::input_data_item(self : MultiInstanceLoopCharacteristics) -> Field[DataInput]fn MultiInstanceLoopCharacteristics::is_sequential(self : MultiInstanceLoopCharacteristics) -> Field[Bool]fn MultiInstanceLoopCharacteristics::loop_cardinality(self : MultiInstanceLoopCharacteristics) -> Field[Expression]fn MultiInstanceLoopCharacteristics::loop_data_input_ref(self : MultiInstanceLoopCharacteristics) -> Field[Reference]fn MultiInstanceLoopCharacteristics::loop_data_output_ref(self : MultiInstanceLoopCharacteristics) -> Field[Reference]fn MultiInstanceLoopCharacteristics::new(id? : String, is_sequential? : Bool, behavior? : MultiInstanceFlowCondition, one_behavior_event_ref? : Reference, none_behavior_event_ref? : Reference, contents? : ArrayView[Content]) -> MultiInstanceLoopCharacteristicsfn MultiInstanceLoopCharacteristics::none_behavior_event_ref(self : MultiInstanceLoopCharacteristics) -> Field[Reference]fn MultiInstanceLoopCharacteristics::not_equal(x : MultiInstanceLoopCharacteristics, y : MultiInstanceLoopCharacteristics) -> Boolfn MultiInstanceLoopCharacteristics::one_behavior_event_ref(self : MultiInstanceLoopCharacteristics) -> Field[Reference]fn MultiInstanceLoopCharacteristics::output_data_item(self : MultiInstanceLoopCharacteristics) -> Field[DataOutput]pub struct NodeHandle {
ordinal : Int
// private fields
}pub struct NodePath {
// private fields
}pub struct NodeRef {
// private fields
}fn ParallelGateway::new(id? : String, name? : String, gateway_direction? : GatewayDirection, contents? : ArrayView[Content]) -> ParallelGatewayfn Participant::new(id? : String, name? : String, process_ref? : Reference, contents? : ArrayView[Content]) -> Participantfn ParticipantAssociation::documentation(self : ParticipantAssociation) -> Field[ReadOnlyArray[Documentation]]fn ParticipantAssociation::extension_elements(self : ParticipantAssociation) -> Field[ExtensionElements]fn ParticipantAssociation::new(id? : String, contents? : ArrayView[Content]) -> ParticipantAssociationfn ParticipantAssociation::not_equal(x : ParticipantAssociation, y : ParticipantAssociation) -> Boolfn ParticipantMultiplicity::documentation(self : ParticipantMultiplicity) -> Field[ReadOnlyArray[Documentation]]fn ParticipantMultiplicity::extension_elements(self : ParticipantMultiplicity) -> Field[ExtensionElements]fn ParticipantMultiplicity::new(id? : String, minimum? : ExactInteger, maximum? : ExactInteger, contents? : ArrayView[Content]) -> ParticipantMultiplicityfn ParticipantMultiplicity::not_equal(x : ParticipantMultiplicity, y : ParticipantMultiplicity) -> Boolfn PartnerEntity::new(id? : String, name? : String, contents? : ArrayView[Content]) -> PartnerEntitypub(all) enum PathField {
Named(ExpandedName)
Text
Comment
ProcessingInstruction
Root
Prolog
Epilog
} derive(Eq, Debug)fn Performer::resource_assignment_expression(self : Performer) -> Field[ResourceAssignmentExpression]fn Performer::resource_parameter_binding(self : Performer) -> Field[ReadOnlyArray[ResourceParameterBinding]]fn PotentialOwner::new(id? : String, name? : String, contents? : ArrayView[Content]) -> PotentialOwnerfn PotentialOwner::resource_assignment_expression(self : PotentialOwner) -> Field[ResourceAssignmentExpression]fn PotentialOwner::resource_parameter_binding(self : PotentialOwner) -> Field[ReadOnlyArray[ResourceParameterBinding]]fn Process::correlation_subscription(self : Process) -> Field[ReadOnlyArray[CorrelationSubscription]]pub(all) enum ReachabilityResult {
Complete(ReadOnlyArray[GraphNode])
Failed(GraphFailure)
} derive(Eq, Debug)fn ReceiveTask::data_input_association(self : ReceiveTask) -> Field[ReadOnlyArray[DataInputAssociation]]fn ReceiveTask::data_output_association(self : ReceiveTask) -> Field[ReadOnlyArray[DataOutputAssociation]]fn ReceiveTask::new(id? : String, name? : String, is_for_compensation? : Bool, start_quantity? : ExactInteger, completion_quantity? : ExactInteger, default_? : Reference, implementation? : Implementation, instantiate? : Bool, message_ref? : Reference, operation_ref? : Reference, contents? : ArrayView[Content]) -> ReceiveTaskfn Reference::parse(spelling : String, bindings? : ArrayView[(String, String)], kind? : ReferenceKind) -> Referencepub(all) enum ReferenceResolution {
Found(ResolvedElement)
External(ResolvedSymbol)
Ambiguous(ReadOnlyArray[ResolvedElement], ReadOnlyArray[ResolvedSymbol])
Unresolved
Invalid
Limit
} derive(Eq, Debug)pub struct ReferenceResult {
index : DocumentIndex
references : ReadOnlyArray[ResolvedReference]
findings : ReadOnlyArray[ValidationFinding]
complete : Bool
// private fields
} derive(Debug)pub struct ReferenceRule {
owner : TypeId
field : ExpandedName
kind : SchemaFieldKind
target : ReferenceTarget
} derive(Eq, Debug)fn Relationship::new(id? : String, type_? : String, direction? : RelationshipDirection, contents? : ArrayView[Content]) -> Relationshippub struct ResolvedReference {
source : IndexedElement
field : ExpandedName
value : Reference
target : ReferenceTarget
resolution : ReferenceResolution
} derive(Eq, Debug)fn ResourceAssignmentExpression::documentation(self : ResourceAssignmentExpression) -> Field[ReadOnlyArray[Documentation]]fn ResourceAssignmentExpression::equal(ResourceAssignmentExpression, ResourceAssignmentExpression) -> Boolfn ResourceAssignmentExpression::expression(self : ResourceAssignmentExpression) -> Field[Expression]fn ResourceAssignmentExpression::extension_elements(self : ResourceAssignmentExpression) -> Field[ExtensionElements]fn ResourceAssignmentExpression::new(id? : String, contents? : ArrayView[Content]) -> ResourceAssignmentExpressionfn ResourceAssignmentExpression::not_equal(x : ResourceAssignmentExpression, y : ResourceAssignmentExpression) -> Boolfn ResourceParameter::documentation(self : ResourceParameter) -> Field[ReadOnlyArray[Documentation]]fn ResourceParameter::new(id? : String, name? : String, type_? : Reference, is_required? : Bool, contents? : ArrayView[Content]) -> ResourceParameterfn ResourceParameterBinding::documentation(self : ResourceParameterBinding) -> Field[ReadOnlyArray[Documentation]]fn ResourceParameterBinding::extension_elements(self : ResourceParameterBinding) -> Field[ExtensionElements]fn ResourceParameterBinding::new(id? : String, parameter_ref? : Reference, contents? : ArrayView[Content]) -> ResourceParameterBindingfn ResourceParameterBinding::not_equal(x : ResourceParameterBinding, y : ResourceParameterBinding) -> Boolfn ResourceRole::resource_assignment_expression(self : ResourceRole) -> Field[ResourceAssignmentExpression]fn ResourceRole::resource_parameter_binding(self : ResourceRole) -> Field[ReadOnlyArray[ResourceParameterBinding]]pub struct ResourceSet {
documents : ReadOnlyArray[DocumentResource]
external : ReadOnlyArray[ExternalResource]
} derive(Eq, Debug)fn ResourceSet::new(documents? : ArrayView[DocumentResource], external? : ArrayView[ExternalResource]) -> ResourceSetpub(all) enum Scalar {
Text(String)
Identifier(String)
Uri(String)
Boolean(Bool)
Integer(ExactInteger)
Number(ExactNumber)
Reference(Reference)
Enumeration(BpmnEnum)
Invalid(raw~ : String, expected~ : ExpandedName)
} derive(Eq, Debug)pub struct SchemaElement {
name : ExpandedName
value_type : ExpandedName?
substitution_group : ExpandedName?
abstract_element : Bool
} derive(Eq, Debug)pub struct SchemaField {
owner : TypeId
kind : SchemaFieldKind
name : ExpandedName?
value_type : ExpandedName?
reference_element : ExpandedName?
minimum : Int
maximum : Int?
default_value : String?
fixed_value : String?
group : String
namespace_constraint : String
source_path : String
} derive(Eq, Debug)pub struct SchemaType {
id : TypeId
name : ExpandedName
base : ExpandedName?
abstract_type : Bool
mixed : Bool
simple : Bool
anonymous : Bool
enum_values : ReadOnlyArray[String]
union_members : ReadOnlyArray[ExpandedName]
} derive(Eq, Debug)fn ScriptTask::data_input_association(self : ScriptTask) -> Field[ReadOnlyArray[DataInputAssociation]]fn ScriptTask::data_output_association(self : ScriptTask) -> Field[ReadOnlyArray[DataOutputAssociation]]fn ScriptTask::new(id? : String, name? : String, is_for_compensation? : Bool, start_quantity? : ExactInteger, completion_quantity? : ExactInteger, default_? : Reference, script_format? : String, contents? : ArrayView[Content]) -> ScriptTaskfn SendTask::data_output_association(self : SendTask) -> Field[ReadOnlyArray[DataOutputAssociation]]fn SendTask::new(id? : String, name? : String, is_for_compensation? : Bool, start_quantity? : ExactInteger, completion_quantity? : ExactInteger, default_? : Reference, implementation? : Implementation, message_ref? : Reference, operation_ref? : Reference, contents? : ArrayView[Content]) -> SendTaskfn SequenceFlow::new(id? : String, name? : String, source_ref? : Reference, target_ref? : Reference, is_immediate? : Bool, contents? : ArrayView[Content]) -> SequenceFlowfn ServiceTask::data_input_association(self : ServiceTask) -> Field[ReadOnlyArray[DataInputAssociation]]fn ServiceTask::data_output_association(self : ServiceTask) -> Field[ReadOnlyArray[DataOutputAssociation]]fn ServiceTask::new(id? : String, name? : String, is_for_compensation? : Bool, start_quantity? : ExactInteger, completion_quantity? : ExactInteger, default_? : Reference, implementation? : Implementation, operation_ref? : Reference, contents? : ArrayView[Content]) -> ServiceTaskfn SignalEventDefinition::documentation(self : SignalEventDefinition) -> Field[ReadOnlyArray[Documentation]]fn SignalEventDefinition::extension_elements(self : SignalEventDefinition) -> Field[ExtensionElements]fn SignalEventDefinition::new(id? : String, signal_ref? : Reference, contents? : ArrayView[Content]) -> SignalEventDefinitionfn StandardLoopCharacteristics::documentation(self : StandardLoopCharacteristics) -> Field[ReadOnlyArray[Documentation]]fn StandardLoopCharacteristics::equal(StandardLoopCharacteristics, StandardLoopCharacteristics) -> Boolfn StandardLoopCharacteristics::extension_elements(self : StandardLoopCharacteristics) -> Field[ExtensionElements]fn StandardLoopCharacteristics::loop_condition(self : StandardLoopCharacteristics) -> Field[Expression]fn StandardLoopCharacteristics::loop_maximum(self : StandardLoopCharacteristics) -> Field[ExactInteger]fn StandardLoopCharacteristics::new(id? : String, test_before? : Bool, loop_maximum? : ExactInteger, contents? : ArrayView[Content]) -> StandardLoopCharacteristicsfn StandardLoopCharacteristics::not_equal(x : StandardLoopCharacteristics, y : StandardLoopCharacteristics) -> Boolfn StartEvent::data_output_association(self : StartEvent) -> Field[ReadOnlyArray[DataOutputAssociation]]fn StartEvent::new(id? : String, name? : String, parallel_multiple? : Bool, is_interrupting? : Bool, contents? : ArrayView[Content]) -> StartEventpub struct StructureResult {
index : DocumentIndex
findings : ReadOnlyArray[ValidationFinding]
complete : Bool
} derive(Debug)fn SubChoreography::new(id? : String, name? : String, initiating_participant_ref? : Reference, loop_type? : ChoreographyLoopType, contents? : ArrayView[Content]) -> SubChoreographyfn SubConversation::conversation_node(self : SubConversation) -> Field[ReadOnlyArray[ConversationNode]]fn SubConversation::new(id? : String, name? : String, contents? : ArrayView[Content]) -> SubConversationfn SubProcess::data_input_association(self : SubProcess) -> Field[ReadOnlyArray[DataInputAssociation]]fn SubProcess::data_output_association(self : SubProcess) -> Field[ReadOnlyArray[DataOutputAssociation]]fn SubProcess::new(id? : String, name? : String, is_for_compensation? : Bool, start_quantity? : ExactInteger, completion_quantity? : ExactInteger, default_? : Reference, triggered_by_event? : Bool, contents? : ArrayView[Content]) -> SubProcessfn Task::new(id? : String, name? : String, is_for_compensation? : Bool, start_quantity? : ExactInteger, completion_quantity? : ExactInteger, default_? : Reference, contents? : ArrayView[Content]) -> Taskfn TerminateEventDefinition::documentation(self : TerminateEventDefinition) -> Field[ReadOnlyArray[Documentation]]fn TerminateEventDefinition::extension_elements(self : TerminateEventDefinition) -> Field[ExtensionElements]fn TerminateEventDefinition::new(id? : String, contents? : ArrayView[Content]) -> TerminateEventDefinitionfn TerminateEventDefinition::not_equal(x : TerminateEventDefinition, y : TerminateEventDefinition) -> Boolfn TextAnnotation::new(id? : String, text_format? : String, contents? : ArrayView[Content]) -> TextAnnotationfn ThrowEvent::data_input_association(self : ThrowEvent) -> Field[ReadOnlyArray[DataInputAssociation]]fn TimerEventDefinition::documentation(self : TimerEventDefinition) -> Field[ReadOnlyArray[Documentation]]fn TimerEventDefinition::extension_elements(self : TimerEventDefinition) -> Field[ExtensionElements]fn Transaction::data_input_association(self : Transaction) -> Field[ReadOnlyArray[DataInputAssociation]]fn Transaction::data_output_association(self : Transaction) -> Field[ReadOnlyArray[DataOutputAssociation]]fn Transaction::new(id? : String, name? : String, is_for_compensation? : Bool, start_quantity? : ExactInteger, completion_quantity? : ExactInteger, default_? : Reference, triggered_by_event? : Bool, method_? : TransactionMethod, contents? : ArrayView[Content]) -> Transactionpub struct TreeBuildResult {
tree : DocumentTree?
diagnostics : ReadOnlyArray[Diagnostic]
} derive(Debug)pub struct TreeCursor {
// private fields
}pub(all) enum TypeId {
Definitions
Import
BpmnBPMNDiagram
BpmnBPMNPlane
BpmnBPMNEdge
BpmnBPMNShape
BpmnBPMNLabel
BpmnBPMNLabelStyle
BpmnParticipantBandKind
BpmnMessageVisibleKind
DcFont
DcPoint
DcBounds
DiDiagramElement
DiAnonymousDiagramElementExtension1
DiDiagram
DiNode
DiEdge
DiLabeledEdge
DiShape
DiLabeledShape
DiLabel
DiPlane
DiStyle
Activity
AdHocSubProcess
AdHocOrdering
Artifact
Assignment
Association
AssociationDirection
Auditing
BaseElement
BaseElementWithMixedContent
BoundaryEvent
BusinessRuleTask
CallableElement
CallActivity
CallChoreography
CallConversation
CancelEventDefinition
CatchEvent
Category
CategoryValue
Choreography
ChoreographyActivity
ChoreographyLoopType
ChoreographyTask
Collaboration
CompensateEventDefinition
ComplexBehaviorDefinition
ComplexGateway
ConditionalEventDefinition
Conversation
ConversationAssociation
ConversationLink
ConversationNode
CorrelationKey
CorrelationProperty
CorrelationPropertyBinding
CorrelationPropertyRetrievalExpression
CorrelationSubscription
DataAssociation
DataInput
DataInputAssociation
DataObject
DataObjectReference
DataOutput
DataOutputAssociation
DataState
DataStore
DataStoreReference
Documentation
EndEvent
EndPoint
Error
ErrorEventDefinition
Escalation
EscalationEventDefinition
Event
EventBasedGateway
EventBasedGatewayType
EventDefinition
ExclusiveGateway
Expression
Extension
ExtensionElements
FlowElement
FlowNode
FormalExpression
Gateway
GatewayDirection
GlobalBusinessRuleTask
GlobalChoreographyTask
GlobalConversation
GlobalManualTask
GlobalScriptTask
GlobalTask
GlobalUserTask
Group
HumanPerformer
Implementation
AnonymousTImplementation78
ImplicitThrowEvent
InclusiveGateway
InputSet
Interface
IntermediateCatchEvent
IntermediateThrowEvent
InputOutputBinding
InputOutputSpecification
ItemDefinition
ItemKind
Lane
LaneSet
LinkEventDefinition
LoopCharacteristics
ManualTask
Message
MessageEventDefinition
MessageFlow
MessageFlowAssociation
Monitoring
MultiInstanceLoopCharacteristics
MultiInstanceFlowCondition
Operation
OutputSet
ParallelGateway
Participant
ParticipantAssociation
ParticipantMultiplicity
PartnerEntity
PartnerRole
Performer
PotentialOwner
Process
ProcessType
Property
ReceiveTask
Relationship
RelationshipDirection
Rendering
Resource
ResourceAssignmentExpression
ResourceParameter
ResourceParameterBinding
ResourceRole
RootElement
ScriptTask
Script
SendTask
SequenceFlow
ServiceTask
Signal
SignalEventDefinition
StandardLoopCharacteristics
StartEvent
SubChoreography
SubConversation
SubProcess
Task
TerminateEventDefinition
TextAnnotation
Text
ThrowEvent
TimerEventDefinition
Transaction
TransactionMethod
AnonymousTTransactionMethod144
UserTask
} derive(Eq, Debug)fn UserTask::data_output_association(self : UserTask) -> Field[ReadOnlyArray[DataOutputAssociation]]fn UserTask::new(id? : String, name? : String, is_for_compensation? : Bool, start_quantity? : ExactInteger, completion_quantity? : ExactInteger, default_? : Reference, implementation? : Implementation, contents? : ArrayView[Content]) -> UserTaskpub struct ValidationFinding {
stage : ValidationStage
diagnostic : Diagnostic
resource_id : String?
node : Int?
element_id : String?
field : ExpandedName?
} derive(Eq, Debug)pub struct ValidationResult {
document : Document?
index : DocumentIndex?
references : ReadOnlyArray[ResolvedReference]
findings : ReadOnlyArray[ValidationFinding]
complete : Bool
} derive(Debug)pub struct WriteResult {
output : String?
diagnostics : ReadOnlyArray[Diagnostic]
} derive(Eq, Debug)pub struct XmlAttribute {
raw_name : String
name : ExpandedName
value : String
span : Span
value_span : Span
namespace_declaration : Bool
} derive(Eq, Debug)pub(all) enum XmlContent {
Text(String)
Element(XmlElement)
Comment(String)
ProcessingInstruction(target~ : String, data~ : String)
} derive(Eq, Debug)fn XmlElement::new(name : ExpandedName, attributes? : ArrayView[(ExpandedName, String)], contents? : ArrayView[XmlContent], bindings? : ArrayView[(String, String)]) -> XmlElementpub struct XmlNode {
kind : XmlNodeKind
raw_name : String
name : ExpandedName?
attributes : ReadOnlyArray[XmlAttribute]
bindings : ReadOnlyArray[(String, String)]
children : ReadOnlyArray[Int]
parent : Int?
span : Span
value : String
complete : Bool
} derive(Eq, Debug)fn[S : EventSource] push_events(source : S, enter : (NodeRef) -> Control, leave? : (NodeRef) -> Unit) -> Unitfn resolve_references(index : DocumentIndex, resources? : ResourceSet, resource_id? : String, limits? : Limits) -> ReferenceResultfn validate(document : Document, resources? : ResourceSet, resource_id? : String, limits? : Limits) -> ValidationResultfn validate_read(result : ReadResult, resources? : ResourceSet, resource_id? : String, limits? : Limits) -> ValidationResultfn validate_structure(document : Document, resource_id? : String, limits? : Limits) -> StructureResultlet xml_diagnostic_codes : ReadOnlyArray[String]