199 lines
8.5 KiB
XML
199 lines
8.5 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>86</pd:startX>
|
|
<pd:startY>180</pd:startY>
|
|
<pd:returnBindings>
|
|
<root>
|
|
<xsl:copy-of select="$XmlGetDelete/root/ns2:author"/>
|
|
<status>
|
|
<xsl:value-of select="if (boolean($XmlPostPut/root/status)) then $XmlPostPut/root/status else $XmlGetDelete/root/status"/>
|
|
</status>
|
|
</root>
|
|
</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>758</pd:endX>
|
|
<pd:endY>180</pd:endY>
|
|
<pd:errorSchemas/>
|
|
<pd:processVariables/>
|
|
<pd:targetNamespace>http://xmlns.example.com/1719484154608</pd:targetNamespace>
|
|
<pd:activity name="XmlPostPut">
|
|
<pd:type>com.tibco.pe.core.CallProcessActivity</pd:type>
|
|
<pd:resourceType>ae.process.subprocess</pd:resourceType>
|
|
<pd:x>530</pd:x>
|
|
<pd:y>180</pd:y>
|
|
<config>
|
|
<processName>/Processes/xml/author/XmlPOST.process</processName>
|
|
<processNameXPath>concat('/Processes/xml/author/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>318</pd:x>
|
|
<pd:y>180</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, '"firstname":"'), '"')"/>
|
|
</firstname>
|
|
<lastname>
|
|
<xsl:value-of select="substring-before(substring-after($Start/root/data, '"lastname":"'), '"')"/>
|
|
</lastname>
|
|
<date-of-birth>
|
|
<xsl:value-of select="substring-before(substring-after($Start/root/data, '"day-of-birth":"'), '"')"/>
|
|
</date-of-birth>
|
|
<date-of-death>
|
|
<xsl:value-of select="substring-before(substring-after($Start/root/data, '"day-of-death":"'), '"')"/>
|
|
</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, '"id":"'), '"') else substring-after($Start/root/data, 'id=')"/>
|
|
</id>
|
|
<age>
|
|
<xsl:value-of select="number(substring-before(substring-after($Start/root/data, '"age":"'), '"'))"/>
|
|
</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>178</pd:x>
|
|
<pd:y>180</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="XmlGetDelete">
|
|
<pd:type>com.tibco.pe.core.CallProcessActivity</pd:type>
|
|
<pd:resourceType>ae.process.subprocess</pd:resourceType>
|
|
<pd:x>527</pd:x>
|
|
<pd:y>343</pd:y>
|
|
<config>
|
|
<processName>/Processes/xml/author/XmlGET.process</processName>
|
|
<processNameXPath>concat('/Processes/xml/author/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>XmlPostPut</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>XmlPostPut</pd:to>
|
|
<pd:xpathDescription>postOrPut</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>XmlGetDelete</pd:to>
|
|
<pd:xpathDescription>getOrDelete</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>XmlGetDelete</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> |