Niyada / bpmn-pnml-transformer-poc

DHBW Integrationseminar: bpmn to pnml transformer architecture poc
2 stars 0 forks source link

added function to clean string from whitespaces and "\n" and add the XML header #135

Closed fengelnsbauer closed 3 weeks ago

stolz-k commented 3 weeks ago

Das ersetzen aller \n im xml-string ersetzt auch newlines in Beschriftungen: z.B. der BPMN-Teil (auch wenn Newline hier codiert):

<bpmn:task id="Activity_0ruxliz" name="normal task&#10;with newline">
      <bpmn:incoming>Flow_0f31f1t</bpmn:incoming>
      <bpmn:outgoing>Flow_1f84n37</bpmn:outgoing>
</bpmn:task>

wird so mit der aktuellen Änderungen transformiert:

<transition id="Activity_0ruxliz">
            <name>
                <graphics>
                    <offset x="20.0" y="20.0" />
                </graphics>
                <text>normal taskwith newline</text>
            </name>
</transition>

Muss aber so aussehen:

<transition id="Activity_0ruxliz">
            <name>
                <graphics>
                    <offset x="20.0" y="20.0" />
                </graphics>
                <text>normal task
                    with newline</text>
            </name>
</transition>

Das gleiche gilt auch für \. Wobei die Entfernung glaube ich auch nicht notwendig ist, da die nur für die JSON-Codierung da sind. Wenn ich z.B. den Response Text in Python anschaue, sind die da.

'{"bpmn":"<bpmn:definitions xmlns:bpmn=\\"http://www.omg.org/spec/BPMN/20100524/MODEL\\" xmlns:bpmndi=\\"http://www.omg.org/spec/BPMN/20100524/DI\\" xmlns:dc=\\"http://www.omg.org/spec/DD/20100524/DC\\" xmlns:di=\\"http://www.omg.org/spec/DD/20100524/DI\\"><bpmn:collaboration id=\\"collaboration\\"><bpmn:participant id=\\"participant\\" name=\\"orga\\" processRef=\\"subprocess_pool\\" /></bpmn:collaboration><bpmn:process id=\\"subprocess_pool\\" isExecutable=\\"true\\"><bpmn:laneSet id=\\"ls\\"><bpmn:lane id=\\"Unkownparticipant\\" name=\\"Unkown participant\\"><bpmn:flowNodeRef>t5</bpmn:flowNodeRef><bpmn:flowNodeRef>TRIGGERt2</bpmn:flowNodeRef><bpmn:flowNodeRef>EXPLICITt5</bpmn:flowNodeRef><bpmn:flowNodeRef>p1</bpmn:flowNodeRef><bpmn:flowNodeRef>TRIGGERt3</bpmn:flowNodeRef><bpmn:flowNodeRef>t2</bpmn:flowNodeRef><bpmn:flowNodeRef>p7</bpmn:flowNodeRef><bpmn:flowNodeRef>p4</bpmn:flowNodeRef><bpmn:flowNodeRef>t1</bpmn:flowNodeRef><bpmn:flowNodeRef>sub1</bpmn:flowNodeRef><bpmn:flowNodeRef>p8</bpmn:flowNodeRef><bpmn:flowNodeRef>t3</bpmn:flowNodeRef><bpmn:flowNodeRef>EXPLICITt1</bpmn:flowNodeRef></bpmn:lane><bpmn:lane id=\\"lane1\\" name=\\"lane1\\"><bpmn:flowNodeRef>t4</bpmn:flowNodeRef></bpmn:lane></bpmn:laneSet><bpmn:startEvent id=\\"p1\\" name=\\"p1\\"><bpmn:outgoing>p1TOEXPLICITt1</bpmn:outgoing></bpmn:startEvent><bpmn:endEvent id=\\"p8\\" name=\\"p8\\"><bpmn:incoming>EXPLICITt5TOp8</bpmn:incoming></bpmn:endEvent><bpmn:intermediateCatchEvent id=\\"TRIGGERt3\\"><bpmn:incoming>t1TOTRIGGERt3</bpmn:incoming><bpmn:outgoing>TRIGGERt3TOt3</bpmn:outgoing><bpmn:messageEventDefinition id=\\"\\" /></bpmn:intermediateCatchEvent><bpmn:intermediateCatchEvent id=\\"TRIGGERt2\\"><bpmn:incoming>p4TOTRIGGERt2</bpmn:incoming><bpmn:outgoing>TRIGGERt2TOt2</bpmn:outgoing><bpmn:timerEventDefinition id=\\"\\" /></bpmn:intermediateCatchEvent><bpmn:task id=\\"t2\\" name=\\"t2\\"><bpmn:incoming>TRIGGERt2TOt2</bpmn:incoming><bpmn:outgoing>t2TOp7</bpmn:outgoing></bpmn:task><bpmn:task id=\\"EXPLICITt5\\" name=\\"t5\\"><bpmn:incoming>t5TOEXPLICITt5</bpmn:incoming><bpmn:outgoing>EXPLICITt5TOp8</bpmn:outgoing></bpmn:task><bpmn:task id=\\"EXPLICITt1\\" name=\\"t1\\"><bpmn:incoming>p1TOEXPLICITt1</bpmn:incoming><bpmn:outgoing>EXPLICITt1TOt1</bpmn:outgoing></bpmn:task><bpmn:task id=\\"t3\\" name=\\"t3\\"><bpmn:incoming>TRIGGERt3TOt3</bpmn:incoming><bpmn:outgoing>t3TOt5</bpmn:outgoing></bpmn:task><bpmn:userTask id=\\"t4\\" name=\\"t4\\"><bpmn:incoming>t1TOt4</bpmn:incoming><bpmn:outgoing>t4TOt5</bpmn:outgoing></bpmn:userTask><bpmn:exclusiveGateway id=\\"p7\\" name=\\"p7\\"><bpmn:incoming>t2TOp7</bpmn:incoming><bpmn:incoming>sub1TOp7</bpmn:incoming><bpmn:outgoing>p7TOt5</bpmn:outgoing></bpmn:exclusiveGateway><bpmn:exclusiveGateway id=\\"t1\\"><bpmn:incoming>EXPLICITt1TOt1</bpmn:incoming><bpmn:outgoing>t1TOp4</bpmn:outgoing><bpmn:outgoing>t1TOt4</bpmn:outgoing><bpmn:outgoing>t1TOTRIGGERt3</bpmn:outgoing></bpmn:exclusiveGateway><bpmn:exclusiveGateway id=\\"p4\\" name=\\"p4\\"><bpmn:incoming>t1TOp4</bpmn:incoming><bpmn:outgoing>p4TOTRIGGERt2</bpmn:outgoing><bpmn:outgoing>p4TOsub1</bpmn:outgoing></bpmn:exclusiveGateway><bpmn:exclusiveGateway id=\\"t5\\"><bpmn:incoming>t3TOt5</bpmn:incoming><bpmn:incoming>p7TOt5</bpmn:incoming><bpmn:incoming>t4TOt5</bpmn:incoming><bpmn:outgoing>t5TOEXPLICITt5</bpmn:outgoing></bpmn:exclusiveGateway><bpmn:subProcess id=\\"sub1\\" name=\\"sub1\\"><bpmn:incoming>p4TOsub1</bpmn:incoming><bpmn:outgoing>sub1TOp7</bpmn:outgoing><bpmn:startEvent id=\\"SB_p4\\" name=\\"p4\\"><bpmn:outgoing>SB_p4TOsub1_t1</bpmn:outgoing></bpmn:startEvent><bpmn:endEvent id=\\"SB_p7\\" name=\\"p7\\"><bpmn:incoming>sub1_t1TOSB_p7</bpmn:incoming></bpmn:endEvent><bpmn:task id=\\"sub1_t1\\" name=\\"sub1_t1\\"><bpmn:incoming>SB_p4TOsub1_t1</bpmn:incoming><bpmn:outgoing>sub1_t1TOSB_p7</bpmn:outgoing></bpmn:task><bpmn:sequenceFlow id=\\"SB_p4TOsub1_t1\\" sourceRef=\\"SB_p4\\" targetRef=\\"sub1_t1\\" /><bpmn:sequenceFlow id=\\"sub1_t1TOSB_p7\\" sourceRef=\\"sub1_t1\\" targetRef=\\"SB_p7\\" /></bpmn:subProcess><bpmn:sequenceFlow id=\\"p1TOEXPLICITt1\\" sourceRef=\\"p1\\" targetRef=\\"EXPLICITt1\\" /><bpmn:sequenceFlow id=\\"TRIGGERt2TOt2\\" sourceRef=\\"TRIGGERt2\\" targetRef=\\"t2\\" /><bpmn:sequenceFlow id=\\"t1TOTRIGGERt3\\" sourceRef=\\"t1\\" targetRef=\\"TRIGGERt3\\" /><bpmn:sequenceFlow id=\\"t1TOp4\\" sourceRef=\\"t1\\" targetRef=\\"p4\\" /><bpmn:sequenceFlow id=\\"p4TOTRIGGERt2\\" sourceRef=\\"p4\\" targetRef=\\"TRIGGERt2\\" /><bpmn:sequenceFlow id=\\"t2TOp7\\" sourceRef=\\"t2\\" targetRef=\\"p7\\" /><bpmn:sequenceFlow id=\\"p7TOt5\\" sourceRef=\\"p7\\" targetRef=\\"t5\\" /><bpmn:sequenceFlow id=\\"EXPLICITt1TOt1\\" sourceRef=\\"EXPLICITt1\\" targetRef=\\"t1\\" /><bpmn:sequenceFlow id=\\"p4TOsub1\\" sourceRef=\\"p4\\" targetRef=\\"sub1\\" /><bpmn:sequenceFlow id=\\"t3TOt5\\" sourceRef=\\"t3\\" targetRef=\\"t5\\" /><bpmn:sequenceFlow id=\\"t1TOt4\\" sourceRef=\\"t1\\" targetRef=\\"t4\\" /><bpmn:sequenceFlow id=\\"TRIGGERt3TOt3\\" sourceRef=\\"TRIGGERt3\\" targetRef=\\"t3\\" /><bpmn:sequenceFlow id=\\"sub1TOp7\\" sourceRef=\\"sub1\\" targetRef=\\"p7\\" /><bpmn:sequenceFlow id=\\"t4TOt5\\" sourceRef=\\"t4\\" targetRef=\\"t5\\" /><bpmn:sequenceFlow id=\\"EXPLICITt5TOp8\\" sourceRef=\\"EXPLICITt5\\" targetRef=\\"p8\\" /><bpmn:sequenceFlow id=\\"t5TOEXPLICITt5\\" sourceRef=\\"t5\\" targetRef=\\"EXPLICITt5\\" /></bpmn:process><bpmndi:BPMNDiagram id=\\"diagram1\\"><bpmndi:BPMNPlane id=\\"planesubprocess_pool\\" bpmnElement=\\"collaboration\\"><bpmndi:BPMNShape id=\\"Participant_id\\" bpmnElement=\\"participant\\"><dc:Bounds x=\\"0.0\\" y=\\"0.0\\" width=\\"600.0\\" height=\\"500.0\\" /></bpmndi:BPMNShape><bpmndi:BPMNShape id=\\"Unkownparticipant_di\\" bpmnElement=\\"Unkownparticipant\\"><dc:Bounds x=\\"0.0\\" y=\\"0.0\\" width=\\"600.0\\" height=\\"200.0\\" /></bpmndi:BPMNShape><bpmndi:BPMNShape id=\\"lane1_di\\" bpmnElement=\\"lane1\\"><dc:Bounds x=\\"0.0\\" y=\\"0.0\\" width=\\"600.0\\" height=\\"200.0\\" /></bpmndi:BPMNShape><bpmndi:BPMNEdge id=\\"p1TOEXPLICITt1_di\\" bpmnElement=\\"p1TOEXPLICITt1\\"><di:waypoint x=\\"0.0\\" y=\\"0.0\\" /><di:waypoint x=\\"0.0\\" y=\\"0.0\\" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id=\\"TRIGGERt2TOt2_di\\" bpmnElement=\\"TRIGGERt2TOt2\\"><di:waypoint x=\\"0.0\\" y=\\"0.0\\" /><di:waypoint x=\\"0.0\\" y=\\"0.0\\" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id=\\"t1TOTRIGGERt3_di\\" bpmnElement=\\"t1TOTRIGGERt3\\"><di:waypoint x=\\"0.0\\" y=\\"0.0\\" /><di:waypoint x=\\"0.0\\" y=\\"0.0\\" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id=\\"t1TOp4_di\\" bpmnElement=\\"t1TOp4\\"><di:waypoint x=\\"0.0\\" y=\\"0.0\\" /><di:waypoint x=\\"0.0\\" y=\\"0.0\\" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id=\\"p4TOTRIGGERt2_di\\" bpmnElement=\\"p4TOTRIGGERt2\\"><di:waypoint x=\\"0.0\\" y=\\"0.0\\" /><di:waypoint x=\\"0.0\\" y=\\"0.0\\" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id=\\"t2TOp7_di\\" bpmnElement=\\"t2TOp7\\"><di:waypoint x=\\"0.0\\" y=\\"0.0\\" /><di:waypoint x=\\"0.0\\" y=\\"0.0\\" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id=\\"p7TOt5_di\\" bpmnElement=\\"p7TOt5\\"><di:waypoint x=\\"0.0\\" y=\\"0.0\\" /><di:waypoint x=\\"0.0\\" y=\\"0.0\\" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id=\\"EXPLICITt1TOt1_di\\" bpmnElement=\\"EXPLICITt1TOt1\\"><di:waypoint x=\\"0.0\\" y=\\"0.0\\" /><di:waypoint x=\\"0.0\\" y=\\"0.0\\" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id=\\"p4TOsub1_di\\" bpmnElement=\\"p4TOsub1\\"><di:waypoint x=\\"0.0\\" y=\\"0.0\\" /><di:waypoint x=\\"0.0\\" y=\\"0.0\\" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id=\\"t3TOt5_di\\" bpmnElement=\\"t3TOt5\\"><di:waypoint x=\\"0.0\\" y=\\"0.0\\" /><di:waypoint x=\\"0.0\\" y=\\"0.0\\" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id=\\"t1TOt4_di\\" bpmnElement=\\"t1TOt4\\"><di:waypoint x=\\"0.0\\" y=\\"0.0\\" /><di:waypoint x=\\"0.0\\" y=\\"0.0\\" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id=\\"TRIGGERt3TOt3_di\\" bpmnElement=\\"TRIGGERt3TOt3\\"><di:waypoint x=\\"0.0\\" y=\\"0.0\\" /><di:waypoint x=\\"0.0\\" y=\\"0.0\\" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id=\\"sub1TOp7_di\\" bpmnElement=\\"sub1TOp7\\"><di:waypoint x=\\"0.0\\" y=\\"0.0\\" /><di:waypoint x=\\"0.0\\" y=\\"0.0\\" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id=\\"t4TOt5_di\\" bpmnElement=\\"t4TOt5\\"><di:waypoint x=\\"0.0\\" y=\\"0.0\\" /><di:waypoint x=\\"0.0\\" y=\\"0.0\\" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id=\\"EXPLICITt5TOp8_di\\" bpmnElement=\\"EXPLICITt5TOp8\\"><di:waypoint x=\\"0.0\\" y=\\"0.0\\" /><di:waypoint x=\\"0.0\\" y=\\"0.0\\" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id=\\"t5TOEXPLICITt5_di\\" bpmnElement=\\"t5TOEXPLICITt5\\"><di:waypoint x=\\"0.0\\" y=\\"0.0\\" /><di:waypoint x=\\"0.0\\" y=\\"0.0\\" /></bpmndi:BPMNEdge><bpmndi:BPMNShape id=\\"t2_di\\" bpmnElement=\\"t2\\"><dc:Bounds x=\\"0.0\\" y=\\"0.0\\" width=\\"100.0\\" height=\\"80.0\\" /></bpmndi:BPMNShape><bpmndi:BPMNShape id=\\"EXPLICITt5_di\\" bpmnElement=\\"EXPLICITt5\\"><dc:Bounds x=\\"0.0\\" y=\\"0.0\\" width=\\"100.0\\" height=\\"80.0\\" /></bpmndi:BPMNShape><bpmndi:BPMNShape id=\\"EXPLICITt1_di\\" bpmnElement=\\"EXPLICITt1\\"><dc:Bounds x=\\"0.0\\" y=\\"0.0\\" width=\\"100.0\\" height=\\"80.0\\" /></bpmndi:BPMNShape><bpmndi:BPMNShape id=\\"t3_di\\" bpmnElement=\\"t3\\"><dc:Bounds x=\\"0.0\\" y=\\"0.0\\" width=\\"100.0\\" height=\\"80.0\\" /></bpmndi:BPMNShape><bpmndi:BPMNShape id=\\"t4_di\\" bpmnElement=\\"t4\\"><dc:Bounds x=\\"0.0\\" y=\\"0.0\\" width=\\"100.0\\" height=\\"80.0\\" /><bpmndi:BPMNLabel><dc:Bounds x=\\"0.0\\" y=\\"0.0\\" width=\\"50.0\\" height=\\"20.0\\" /></bpmndi:BPMNLabel></bpmndi:BPMNShape><bpmndi:BPMNShape id=\\"p1_di\\" bpmnElement=\\"p1\\"><dc:Bounds x=\\"0.0\\" y=\\"0.0\\" width=\\"100.0\\" height=\\"80.0\\" /><bpmndi:BPMNLabel><dc:Bounds x=\\"0.0\\" y=\\"0.0\\" width=\\"50.0\\" height=\\"20.0\\" /></bpmndi:BPMNLabel></bpmndi:BPMNShape><bpmndi:BPMNShape id=\\"p8_di\\" bpmnElement=\\"p8\\"><dc:Bounds x=\\"0.0\\" y=\\"0.0\\" width=\\"100.0\\" height=\\"80.0\\" /><bpmndi:BPMNLabel><dc:Bounds x=\\"0.0\\" y=\\"0.0\\" width=\\"50.0\\" height=\\"20.0\\" /></bpmndi:BPMNLabel></bpmndi:BPMNShape><bpmndi:BPMNShape id=\\"p7_di\\" bpmnElement=\\"p7\\"><dc:Bounds x=\\"0.0\\" y=\\"0.0\\" width=\\"100.0\\" height=\\"80.0\\" /><bpmndi:BPMNLabel><dc:Bounds x=\\"0.0\\" y=\\"0.0\\" width=\\"50.0\\" height=\\"20.0\\" /></bpmndi:BPMNLabel></bpmndi:BPMNShape><bpmndi:BPMNShape id=\\"t1_di\\" bpmnElement=\\"t1\\"><dc:Bounds x=\\"0.0\\" y=\\"0.0\\" width=\\"100.0\\" height=\\"80.0\\" /></bpmndi:BPMNShape><bpmndi:BPMNShape id=\\"p4_di\\" bpmnElement=\\"p4\\"><dc:Bounds x=\\"0.0\\" y=\\"0.0\\" width=\\"100.0\\" height=\\"80.0\\" /><bpmndi:BPMNLabel><dc:Bounds x=\\"0.0\\" y=\\"0.0\\" width=\\"50.0\\" height=\\"20.0\\" /></bpmndi:BPMNLabel></bpmndi:BPMNShape><bpmndi:BPMNShape id=\\"t5_di\\" bpmnElement=\\"t5\\"><dc:Bounds x=\\"0.0\\" y=\\"0.0\\" width=\\"100.0\\" height=\\"80.0\\" /></bpmndi:BPMNShape><bpmndi:BPMNShape id=\\"sub1_di\\" bpmnElement=\\"sub1\\" isExpanded=\\"true\\"><dc:Bounds x=\\"0.0\\" y=\\"0.0\\" width=\\"100.0\\" height=\\"80.0\\" /></bpmndi:BPMNShape><bpmndi:BPMNShape id=\\"TRIGGERt3_di\\" bpmnElement=\\"TRIGGERt3\\"><dc:Bounds x=\\"0.0\\" y=\\"0.0\\" width=\\"100.0\\" height=\\"80.0\\" /></bpmndi:BPMNShape><bpmndi:BPMNShape id=\\"TRIGGERt2_di\\" bpmnElement=\\"TRIGGERt2\\"><dc:Bounds x=\\"0.0\\" y=\\"0.0\\" width=\\"100.0\\" height=\\"80.0\\" /></bpmndi:BPMNShape></bpmndi:BPMNPlane></bpmndi:BPMNDiagram></bpmn:definitions>"}\n'

Wenn die Response als JSON geladen wird und ich nur den Antwortstring anschaue, sind die auch weg. Keine Ahnung, ob die \ also wirklich zu viel sind oder nur wegen dem JSON da sind.

'<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI"><bpmn:collaboration id="collaboration"><bpmn:participant id="participant" name="orga" processRef="subprocess_pool" /></bpmn:collaboration><bpmn:process id="subprocess_pool" isExecutable="true"><bpmn:laneSet id="ls"><bpmn:lane id="Unkownparticipant" name="Unkown participant"><bpmn:flowNodeRef>t5</bpmn:flowNodeRef><bpmn:flowNodeRef>TRIGGERt2</bpmn:flowNodeRef><bpmn:flowNodeRef>EXPLICITt5</bpmn:flowNodeRef><bpmn:flowNodeRef>p1</bpmn:flowNodeRef><bpmn:flowNodeRef>TRIGGERt3</bpmn:flowNodeRef><bpmn:flowNodeRef>t2</bpmn:flowNodeRef><bpmn:flowNodeRef>p7</bpmn:flowNodeRef><bpmn:flowNodeRef>p4</bpmn:flowNodeRef><bpmn:flowNodeRef>t1</bpmn:flowNodeRef><bpmn:flowNodeRef>sub1</bpmn:flowNodeRef><bpmn:flowNodeRef>p8</bpmn:flowNodeRef><bpmn:flowNodeRef>t3</bpmn:flowNodeRef><bpmn:flowNodeRef>EXPLICITt1</bpmn:flowNodeRef></bpmn:lane><bpmn:lane id="lane1" name="lane1"><bpmn:flowNodeRef>t4</bpmn:flowNodeRef></bpmn:lane></bpmn:laneSet><bpmn:startEvent id="p1" name="p1"><bpmn:outgoing>p1TOEXPLICITt1</bpmn:outgoing></bpmn:startEvent><bpmn:endEvent id="p8" name="p8"><bpmn:incoming>EXPLICITt5TOp8</bpmn:incoming></bpmn:endEvent><bpmn:intermediateCatchEvent id="TRIGGERt3"><bpmn:incoming>t1TOTRIGGERt3</bpmn:incoming><bpmn:outgoing>TRIGGERt3TOt3</bpmn:outgoing><bpmn:messageEventDefinition id="" /></bpmn:intermediateCatchEvent><bpmn:intermediateCatchEvent id="TRIGGERt2"><bpmn:incoming>p4TOTRIGGERt2</bpmn:incoming><bpmn:outgoing>TRIGGERt2TOt2</bpmn:outgoing><bpmn:timerEventDefinition id="" /></bpmn:intermediateCatchEvent><bpmn:task id="t2" name="t2"><bpmn:incoming>TRIGGERt2TOt2</bpmn:incoming><bpmn:outgoing>t2TOp7</bpmn:outgoing></bpmn:task><bpmn:task id="EXPLICITt5" name="t5"><bpmn:incoming>t5TOEXPLICITt5</bpmn:incoming><bpmn:outgoing>EXPLICITt5TOp8</bpmn:outgoing></bpmn:task><bpmn:task id="EXPLICITt1" name="t1"><bpmn:incoming>p1TOEXPLICITt1</bpmn:incoming><bpmn:outgoing>EXPLICITt1TOt1</bpmn:outgoing></bpmn:task><bpmn:task id="t3" name="t3"><bpmn:incoming>TRIGGERt3TOt3</bpmn:incoming><bpmn:outgoing>t3TOt5</bpmn:outgoing></bpmn:task><bpmn:userTask id="t4" name="t4"><bpmn:incoming>t1TOt4</bpmn:incoming><bpmn:outgoing>t4TOt5</bpmn:outgoing></bpmn:userTask><bpmn:exclusiveGateway id="p7" name="p7"><bpmn:incoming>t2TOp7</bpmn:incoming><bpmn:incoming>sub1TOp7</bpmn:incoming><bpmn:outgoing>p7TOt5</bpmn:outgoing></bpmn:exclusiveGateway><bpmn:exclusiveGateway id="t1"><bpmn:incoming>EXPLICITt1TOt1</bpmn:incoming><bpmn:outgoing>t1TOp4</bpmn:outgoing><bpmn:outgoing>t1TOt4</bpmn:outgoing><bpmn:outgoing>t1TOTRIGGERt3</bpmn:outgoing></bpmn:exclusiveGateway><bpmn:exclusiveGateway id="p4" name="p4"><bpmn:incoming>t1TOp4</bpmn:incoming><bpmn:outgoing>p4TOTRIGGERt2</bpmn:outgoing><bpmn:outgoing>p4TOsub1</bpmn:outgoing></bpmn:exclusiveGateway><bpmn:exclusiveGateway id="t5"><bpmn:incoming>t3TOt5</bpmn:incoming><bpmn:incoming>p7TOt5</bpmn:incoming><bpmn:incoming>t4TOt5</bpmn:incoming><bpmn:outgoing>t5TOEXPLICITt5</bpmn:outgoing></bpmn:exclusiveGateway><bpmn:subProcess id="sub1" name="sub1"><bpmn:incoming>p4TOsub1</bpmn:incoming><bpmn:outgoing>sub1TOp7</bpmn:outgoing><bpmn:startEvent id="SB_p4" name="p4"><bpmn:outgoing>SB_p4TOsub1_t1</bpmn:outgoing></bpmn:startEvent><bpmn:endEvent id="SB_p7" name="p7"><bpmn:incoming>sub1_t1TOSB_p7</bpmn:incoming></bpmn:endEvent><bpmn:task id="sub1_t1" name="sub1_t1"><bpmn:incoming>SB_p4TOsub1_t1</bpmn:incoming><bpmn:outgoing>sub1_t1TOSB_p7</bpmn:outgoing></bpmn:task><bpmn:sequenceFlow id="SB_p4TOsub1_t1" sourceRef="SB_p4" targetRef="sub1_t1" /><bpmn:sequenceFlow id="sub1_t1TOSB_p7" sourceRef="sub1_t1" targetRef="SB_p7" /></bpmn:subProcess><bpmn:sequenceFlow id="p1TOEXPLICITt1" sourceRef="p1" targetRef="EXPLICITt1" /><bpmn:sequenceFlow id="TRIGGERt2TOt2" sourceRef="TRIGGERt2" targetRef="t2" /><bpmn:sequenceFlow id="t1TOTRIGGERt3" sourceRef="t1" targetRef="TRIGGERt3" /><bpmn:sequenceFlow id="t1TOp4" sourceRef="t1" targetRef="p4" /><bpmn:sequenceFlow id="p4TOTRIGGERt2" sourceRef="p4" targetRef="TRIGGERt2" /><bpmn:sequenceFlow id="t2TOp7" sourceRef="t2" targetRef="p7" /><bpmn:sequenceFlow id="p7TOt5" sourceRef="p7" targetRef="t5" /><bpmn:sequenceFlow id="EXPLICITt1TOt1" sourceRef="EXPLICITt1" targetRef="t1" /><bpmn:sequenceFlow id="p4TOsub1" sourceRef="p4" targetRef="sub1" /><bpmn:sequenceFlow id="t3TOt5" sourceRef="t3" targetRef="t5" /><bpmn:sequenceFlow id="t1TOt4" sourceRef="t1" targetRef="t4" /><bpmn:sequenceFlow id="TRIGGERt3TOt3" sourceRef="TRIGGERt3" targetRef="t3" /><bpmn:sequenceFlow id="sub1TOp7" sourceRef="sub1" targetRef="p7" /><bpmn:sequenceFlow id="t4TOt5" sourceRef="t4" targetRef="t5" /><bpmn:sequenceFlow id="EXPLICITt5TOp8" sourceRef="EXPLICITt5" targetRef="p8" /><bpmn:sequenceFlow id="t5TOEXPLICITt5" sourceRef="t5" targetRef="EXPLICITt5" /></bpmn:process><bpmndi:BPMNDiagram id="diagram1"><bpmndi:BPMNPlane id="planesubprocess_pool" bpmnElement="collaboration"><bpmndi:BPMNShape id="Participant_id" bpmnElement="participant"><dc:Bounds x="0.0" y="0.0" width="600.0" height="500.0" /></bpmndi:BPMNShape><bpmndi:BPMNShape id="Unkownparticipant_di" bpmnElement="Unkownparticipant"><dc:Bounds x="0.0" y="0.0" width="600.0" height="200.0" /></bpmndi:BPMNShape><bpmndi:BPMNShape id="lane1_di" bpmnElement="lane1"><dc:Bounds x="0.0" y="0.0" width="600.0" height="200.0" /></bpmndi:BPMNShape><bpmndi:BPMNEdge id="p1TOEXPLICITt1_di" bpmnElement="p1TOEXPLICITt1"><di:waypoint x="0.0" y="0.0" /><di:waypoint x="0.0" y="0.0" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="TRIGGERt2TOt2_di" bpmnElement="TRIGGERt2TOt2"><di:waypoint x="0.0" y="0.0" /><di:waypoint x="0.0" y="0.0" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="t1TOTRIGGERt3_di" bpmnElement="t1TOTRIGGERt3"><di:waypoint x="0.0" y="0.0" /><di:waypoint x="0.0" y="0.0" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="t1TOp4_di" bpmnElement="t1TOp4"><di:waypoint x="0.0" y="0.0" /><di:waypoint x="0.0" y="0.0" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="p4TOTRIGGERt2_di" bpmnElement="p4TOTRIGGERt2"><di:waypoint x="0.0" y="0.0" /><di:waypoint x="0.0" y="0.0" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="t2TOp7_di" bpmnElement="t2TOp7"><di:waypoint x="0.0" y="0.0" /><di:waypoint x="0.0" y="0.0" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="p7TOt5_di" bpmnElement="p7TOt5"><di:waypoint x="0.0" y="0.0" /><di:waypoint x="0.0" y="0.0" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="EXPLICITt1TOt1_di" bpmnElement="EXPLICITt1TOt1"><di:waypoint x="0.0" y="0.0" /><di:waypoint x="0.0" y="0.0" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="p4TOsub1_di" bpmnElement="p4TOsub1"><di:waypoint x="0.0" y="0.0" /><di:waypoint x="0.0" y="0.0" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="t3TOt5_di" bpmnElement="t3TOt5"><di:waypoint x="0.0" y="0.0" /><di:waypoint x="0.0" y="0.0" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="t1TOt4_di" bpmnElement="t1TOt4"><di:waypoint x="0.0" y="0.0" /><di:waypoint x="0.0" y="0.0" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="TRIGGERt3TOt3_di" bpmnElement="TRIGGERt3TOt3"><di:waypoint x="0.0" y="0.0" /><di:waypoint x="0.0" y="0.0" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="sub1TOp7_di" bpmnElement="sub1TOp7"><di:waypoint x="0.0" y="0.0" /><di:waypoint x="0.0" y="0.0" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="t4TOt5_di" bpmnElement="t4TOt5"><di:waypoint x="0.0" y="0.0" /><di:waypoint x="0.0" y="0.0" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="EXPLICITt5TOp8_di" bpmnElement="EXPLICITt5TOp8"><di:waypoint x="0.0" y="0.0" /><di:waypoint x="0.0" y="0.0" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="t5TOEXPLICITt5_di" bpmnElement="t5TOEXPLICITt5"><di:waypoint x="0.0" y="0.0" /><di:waypoint x="0.0" y="0.0" /></bpmndi:BPMNEdge><bpmndi:BPMNShape id="t2_di" bpmnElement="t2"><dc:Bounds x="0.0" y="0.0" width="100.0" height="80.0" /></bpmndi:BPMNShape><bpmndi:BPMNShape id="EXPLICITt5_di" bpmnElement="EXPLICITt5"><dc:Bounds x="0.0" y="0.0" width="100.0" height="80.0" /></bpmndi:BPMNShape><bpmndi:BPMNShape id="EXPLICITt1_di" bpmnElement="EXPLICITt1"><dc:Bounds x="0.0" y="0.0" width="100.0" height="80.0" /></bpmndi:BPMNShape><bpmndi:BPMNShape id="t3_di" bpmnElement="t3"><dc:Bounds x="0.0" y="0.0" width="100.0" height="80.0" /></bpmndi:BPMNShape><bpmndi:BPMNShape id="t4_di" bpmnElement="t4"><dc:Bounds x="0.0" y="0.0" width="100.0" height="80.0" /><bpmndi:BPMNLabel><dc:Bounds x="0.0" y="0.0" width="50.0" height="20.0" /></bpmndi:BPMNLabel></bpmndi:BPMNShape><bpmndi:BPMNShape id="p1_di" bpmnElement="p1"><dc:Bounds x="0.0" y="0.0" width="100.0" height="80.0" /><bpmndi:BPMNLabel><dc:Bounds x="0.0" y="0.0" width="50.0" height="20.0" /></bpmndi:BPMNLabel></bpmndi:BPMNShape><bpmndi:BPMNShape id="p8_di" bpmnElement="p8"><dc:Bounds x="0.0" y="0.0" width="100.0" height="80.0" /><bpmndi:BPMNLabel><dc:Bounds x="0.0" y="0.0" width="50.0" height="20.0" /></bpmndi:BPMNLabel></bpmndi:BPMNShape><bpmndi:BPMNShape id="p7_di" bpmnElement="p7"><dc:Bounds x="0.0" y="0.0" width="100.0" height="80.0" /><bpmndi:BPMNLabel><dc:Bounds x="0.0" y="0.0" width="50.0" height="20.0" /></bpmndi:BPMNLabel></bpmndi:BPMNShape><bpmndi:BPMNShape id="t1_di" bpmnElement="t1"><dc:Bounds x="0.0" y="0.0" width="100.0" height="80.0" /></bpmndi:BPMNShape><bpmndi:BPMNShape id="p4_di" bpmnElement="p4"><dc:Bounds x="0.0" y="0.0" width="100.0" height="80.0" /><bpmndi:BPMNLabel><dc:Bounds x="0.0" y="0.0" width="50.0" height="20.0" /></bpmndi:BPMNLabel></bpmndi:BPMNShape><bpmndi:BPMNShape id="t5_di" bpmnElement="t5"><dc:Bounds x="0.0" y="0.0" width="100.0" height="80.0" /></bpmndi:BPMNShape><bpmndi:BPMNShape id="sub1_di" bpmnElement="sub1" isExpanded="true"><dc:Bounds x="0.0" y="0.0" width="100.0" height="80.0" /></bpmndi:BPMNShape><bpmndi:BPMNShape id="TRIGGERt3_di" bpmnElement="TRIGGERt3"><dc:Bounds x="0.0" y="0.0" width="100.0" height="80.0" /></bpmndi:BPMNShape><bpmndi:BPMNShape id="TRIGGERt2_di" bpmnElement="TRIGGERt2"><dc:Bounds x="0.0" y="0.0" width="100.0" height="80.0" /></bpmndi:BPMNShape></bpmndi:BPMNPlane></bpmndi:BPMNDiagram></bpmn:definitions>'

Die Newlines sind aktuell ohne deine Methoden auch nicht mehr da. Ich glaube wo ich die aktuelle xml Lib gegen die sicherer Version ausgetauscht habe, hat sich auch die Serialisierung verändert. Also dort werden wohl automatisch newlines entfernt.

Daher wäre wohl nur noch das Hinzufügen des Headers notwendig.