Files
tibcoRepository/Processes/xml/xml.process
2024-07-30 12:07:54 +02:00

192 lines
8.2 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<pd:ProcessDefinition xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:pd="http://xmlns.tibco.com/bw/process/2003" xmlns:ns="http://www.tibco.com/pe/WriteToLogActivitySchema" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://www.demo.com/author">
<xsd:import namespace="http://www.demo.com/author" schemaLocation="/Resources/WSDL/WSDL.wsdl"/>
<pd:name>Processes/xml/xml.process</pd:name>
<pd:startName>Start</pd:startName>
<pd:startType>
<xsd:element name="root">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="method" type="xsd:string"/>
<xsd:element name="data" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</pd:startType>
<pd:startX>67</pd:startX>
<pd:startY>77</pd:startY>
<pd:returnBindings/>
<pd:endName>End</pd:endName>
<pd:endType>
<xsd:element name="root">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="ns2:author" minOccurs="0"/>
<xsd:element name="status" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</pd:endType>
<pd:endX>732</pd:endX>
<pd:endY>85</pd:endY>
<pd:errorSchemas/>
<pd:processVariables/>
<pd:targetNamespace>http://xmlns.example.com/1719484154608</pd:targetNamespace>
<pd:activity name="XMLPOST">
<pd:type>com.tibco.pe.core.CallProcessActivity</pd:type>
<pd:resourceType>ae.process.subprocess</pd:resourceType>
<pd:x>545</pd:x>
<pd:y>41</pd:y>
<config>
<processName>/Processes/xml/XMLPOST.process</processName>
<processNameXPath>concat('/Processes/xml/XML',$Start/root/method ,'.process')</processNameXPath>
</config>
<pd:inputBindings>
<root>
<ns2:author>
<xsl:attribute name="id">
<xsl:value-of select="number($Map-Data/root/id)"/>
</xsl:attribute>
<ns2:firstName>
<xsl:value-of select="$Map-Data/root/firstname"/>
</ns2:firstName>
<ns2:lastName>
<xsl:value-of select="$Map-Data/root/lastname"/>
</ns2:lastName>
<ns2:age>
<xsl:value-of select="number($Map-Data/root/age)"/>
</ns2:age>
<ns2:dateOfBirth>
<xsl:value-of select="$Map-Data/root/date-of-birth"/>
</ns2:dateOfBirth>
<ns2:dateOfDeath>
<xsl:value-of select="$Map-Data/root/date-of-death"/>
</ns2:dateOfDeath>
</ns2:author>
</root>
</pd:inputBindings>
</pd:activity>
<pd:activity name="Map Data">
<pd:type>com.tibco.plugin.mapper.MapperActivity</pd:type>
<pd:resourceType>ae.activities.MapperActivity</pd:resourceType>
<pd:x>267</pd:x>
<pd:y>73</pd:y>
<config>
<element>
<xsd:element name="root">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="firstname" type="xsd:string"/>
<xsd:element name="lastname" type="xsd:string"/>
<xsd:element name="date-of-birth" type="xsd:string"/>
<xsd:element name="date-of-death" type="xsd:string"/>
<xsd:element name="id" type="xsd:string"/>
<xsd:element name="age" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</element>
</config>
<pd:inputBindings>
<root>
<firstname>
<xsl:value-of select="substring-before(substring-after($Start/root/data, '&quot;firstname&quot;:&quot;'), '&quot;')"/>
</firstname>
<lastname>
<xsl:value-of select="substring-before(substring-after($Start/root/data, '&quot;lastname&quot;:&quot;'), '&quot;')"/>
</lastname>
<date-of-birth>
<xsl:value-of select="substring-before(substring-after($Start/root/data, '&quot;day-of-birth&quot;:&quot;'), '&quot;')"/>
</date-of-birth>
<date-of-death>
<xsl:value-of select="substring-before(substring-after($Start/root/data, '&quot;day-of-death&quot;:&quot;'), '&quot;')"/>
</date-of-death>
<id>
<xsl:value-of select="if ($Start/root/method = 'POST' or $Start/root/method = 'PUT' ) then substring-before(substring-after($Start/root/data, '&quot;id&quot;:&quot;'), '&quot;') else substring-after($Start/root/data, 'id=')"/>
</id>
<age>
<xsl:value-of select="number(substring-before(substring-after($Start/root/data, '&quot;age&quot;:&quot;'), '&quot;'))"/>
</age>
</root>
</pd:inputBindings>
</pd:activity>
<pd:activity name="Log">
<pd:type>com.tibco.pe.core.WriteToLogActivity</pd:type>
<pd:resourceType>ae.activities.log</pd:resourceType>
<pd:x>156</pd:x>
<pd:y>73</pd:y>
<config>
<role>User</role>
</config>
<pd:inputBindings>
<ns:ActivityInput>
<message>
<xsl:value-of select="$Start/root/data"/>
</message>
</ns:ActivityInput>
</pd:inputBindings>
</pd:activity>
<pd:activity name="get or delete">
<pd:type>com.tibco.pe.core.CallProcessActivity</pd:type>
<pd:resourceType>ae.process.subprocess</pd:resourceType>
<pd:x>539</pd:x>
<pd:y>148</pd:y>
<config>
<processName>/Processes/xml/XMLGET.process</processName>
<processNameXPath>concat('/Processes/xml/XML',$Start/root/method ,'.process')</processNameXPath>
</config>
<pd:inputBindings>
<root>
<id>
<xsl:value-of select="number($Map-Data/root/id)"/>
</id>
</root>
</pd:inputBindings>
</pd:activity>
<pd:transition>
<pd:from>XMLPOST</pd:from>
<pd:to>End</pd:to>
<pd:lineType>Default</pd:lineType>
<pd:lineColor>-16777216</pd:lineColor>
<pd:conditionType>always</pd:conditionType>
</pd:transition>
<pd:transition>
<pd:from>Map Data</pd:from>
<pd:to>XMLPOST</pd:to>
<pd:xpathDescription>post or put</pd:xpathDescription>
<pd:lineType>Default</pd:lineType>
<pd:lineColor>-16777216</pd:lineColor>
<pd:conditionType>xpath</pd:conditionType>
<pd:xpath>$Start/root/method = 'POST' or $Start/root/method = 'PUT'</pd:xpath>
</pd:transition>
<pd:transition>
<pd:from>Start</pd:from>
<pd:to>Log</pd:to>
<pd:lineType>Default</pd:lineType>
<pd:lineColor>-16777216</pd:lineColor>
<pd:conditionType>always</pd:conditionType>
</pd:transition>
<pd:transition>
<pd:from>Log</pd:from>
<pd:to>Map Data</pd:to>
<pd:lineType>Default</pd:lineType>
<pd:lineColor>-16777216</pd:lineColor>
<pd:conditionType>always</pd:conditionType>
</pd:transition>
<pd:transition>
<pd:from>Map Data</pd:from>
<pd:to>get or delete</pd:to>
<pd:xpathDescription>get or delete</pd:xpathDescription>
<pd:lineType>Default</pd:lineType>
<pd:lineColor>-16777216</pd:lineColor>
<pd:conditionType>xpath</pd:conditionType>
<pd:xpath>$Start/root/method = 'DELETE' or $Start/root/method = 'GET'</pd:xpath>
</pd:transition>
<pd:transition>
<pd:from>get or delete</pd:from>
<pd:to>End</pd:to>
<pd:lineType>Default</pd:lineType>
<pd:lineColor>-16777216</pd:lineColor>
<pd:conditionType>always</pd:conditionType>
</pd:transition>
</pd:ProcessDefinition>