| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206 |
- <?xml version="1.0" encoding="UTF-8"?>
- <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:xs="http://www.w3.org/2001/XMLSchema"
- exclude-result-prefixes="xs"
- version="2.0"
- xmlns:p5tobpmn="http://biuro.biall-net.pl/xmlschema_procesy5/objects/procesy5_to_bpmn.xsl" >
- <xsl:output omit-xml-declaration="no" indent="yes" method="xml" encoding="UTF-8" version="1.0"/>
- <!--
- <xsl:key name="proc_id" match="data/items/item" use="ID"/>
- <xsl:key name="proc_pid" match="data/items/item" use="PARENT_ID"/>
- <xsl:key name="PROCES_INIT" match="data/items/item" use="TYPE"/>
- -->
- <!-- <xsl:namespace-alias stylesheet-prefix="" result-prefix=""/> -->
- <!-- funkcja do znalezienia dziecka procesu, uzywana rekursywnie -->
- <!-- <xsl:function name="p5tobpmn:find_child_proces">
- <xsl:param name="proces_list"/>
- <xsl:param name="proces_id"/>
- <xsl:variable name="myArray">
- <xsl:for-each select="$proces_list">
- <item><xsl:value-of select="." /></item>
- </xsl:for-each>
- </xsl:variable>
- <xsl:value-of select="$myArray"/>
- </xsl:function>
- -->
- <!-- template do znalezienia dziecka procesu, test -->
- <xsl:template name="find_child_proces">
- <xsl:param name="proces_id" />
- <xsl:param name="count"/>
- <xsl:choose>
- <xsl:when test="$count > 0">
-
- <xsl:for-each select="document('CRM_PROCES.xml')/data/items/item/ID[../TYPE='PROCES' and ../A_STATUS!='DELETED' and ../PARENT_ID=$proces_id]">
- <!--<xsl:text>
</xsl:text>-->
- <xsl:element name="childs">
- <xsl:element name="child">
- <xsl:value-of select="."/>
- </xsl:element>
-
- <xsl:variable name="proces_id" select="."/>
- <xsl:call-template name="Pools">
- <xsl:with-param name="proces_id" select="."/>
- </xsl:call-template>
- </xsl:element>
- <xsl:call-template name="find_child_proces">
- <xsl:with-param name="proces_id" select="."/>
- <xsl:with-param name="count" select="$count - 1"/>
- </xsl:call-template>
- </xsl:for-each>
-
- </xsl:when>
- <xsl:otherwise>
- Error in loop!!!(<xsl:value-of select="$count"/>)
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
- <!-- <xsl:template match="/">
- <xsl:call-template name="procesy"/>
- </xsl:template>
- -->
- <!-- Template do zadeklarowania basenow - czyli stanowisk z procesow -->
- <xsl:template name="Pools">
- <xsl:param name="proces_id" />
- <xsl:for-each select="document('CRM_WSKAZNIK.xml')/data/items/item[A_STATUS!='DELETED' and ID_PROCES=$proces_id]">
- <xsl:element name="ID_ZASOB">
- <xsl:value-of select="ID_ZASOB"/>
- </xsl:element>
- <!--
- <xsl:call-template name="Stanowiska_name">
- <xsl:with-param name="id_zasob" select="ID_ZASOB"/>
- </xsl:call-template>
- -->
- </xsl:for-each>
- </xsl:template>
- <!-- przyklad <lane id="PO_p342" name="Typowe Stanowisko Obieg Dok"> -->
- <!-- <xsl:template name="Stanowiska_name">
- <xsl:param name="id_zasob"/>
-
- <xsl:for-each select="document('CRM_LISTA_ZASOBOW.xml')/data/items/item[A_STATUS!='DELETED' and ID=$id_zasob and TYPE='STANOWISKO']">
- <xsl:element name="lane">
- <xsl:attribute name="id">
- <xsl:value-of select="concat('CRM_LISTA_ZASOBOW_',ID)"/>
- </xsl:attribute>
- <xsl:attribute name="name">
- <xsl:value-of select="DESC"/>
- </xsl:attribute>
- </xsl:element>
- </xsl:for-each>
- </xsl:template>
- -->
- <xsl:template match="/">
- <!-- <xsl:variable name="foldername" select="concat(/build/major, /build/minor, string(/build/build + 1), build/release)"/> -->
- <!-- <xsl:result-document href="_procesy_gen.xml" method="xml" version="1.0" indent="yes" encoding="UTF-8" omit-xml-declaration="no"> -->
- <!--
- <xsl:element name="definitions">
- <xsl:attribute name="xsd" namespace="http://www.w3.org/2001/XMLSchema">http://www.w3.org/2001/XMLSchema</xsl:attribute>
- <xsl:attribute name="xsi" namespace="http://www.w3.org/2001/XMLSchema-instance">http://www.w3.org/2001/XMLSchema-instance</xsl:attribute>
- <xsl:attribute name="Name">Procesy import z notacji Procesy5 do BPMN</xsl:attribute>
- -->
- <!-- xmlns:xsd="http://www.w3.org/2001/XMLSchema" -->
- <!-- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" -->
- <!-- Name="Uzyskanie zgody na swiadczenie uslug" xmlns="http://www.wfmc.org/2009/XPDL2.2" -->
- <!-- Deklarujemy arraya ze wszystkimi procesami ID oraz PARENT_ID -->
- <!--
- <xsl:variable name="dzieci_procesow">
- <xsl:for-each select="/data/items/item/ID[../A_STATUS!='DELETED' and ../PARENT_ID='994']">
- <item><xsl:value-of select="."/></item>
- </xsl:for-each>
- </xsl:variable>
- -->
- <!-- <xsl:value-of select="/data/items/item/ID[../A_STATUS!='DELETED' and ../PARENT_ID='994']"/>
-
- </xsl:variable>
- -->
- <!--
- <xsl:variable name="dzieci_procesow1" as="element()*">
- <Item>10</Item>
- <Item>3</Item>
-
- </xsl:variable>
- -->
- <!--
- <collaboration id="COLLABORATION-P_p22">
- <participant id="PO_p341" processRef="PROCESS-PO_p341" name="Firma">
- <participantMultiplicity maximum="1" minimum="0"/>
- </participant></collaboration>
- <process id="PROCESS-PO_p341" isClosed="false" isExecutable="true" processType="None">
- <laneSet id="LANESET-PO_p341">
- <lane id="PO_p342" name="Typowe Stanowisko Obieg Dok">
- <flowNodeRef>PO_p345</flowNodeRef><flowNodeRef>PO_p355</flowNodeRef>
- <flowNodeRef>PO_p343</flowNodeRef></lane>
- <lane id="PO_p366" name="serwis"><flowNodeRef>PO_p368</flowNodeRef></lane>
- </laneSet>
- <startEvent id="PO_p343" name="1 - przyjecie pisma"><outgoing>PO_p344</outgoing>
- </startEvent>
-
- -->
- <!--
- <xsl:element name="collaboration">
- <xsl:attribute name="id"><xsl:value-of>COLLABORATION-P_p22</xsl:value-of></xsl:attribute>
- <xsl:element name="participant">
- <xsl:attribute name="id"><xsl:value-of>PO_p341</xsl:value-of></xsl:attribute>
- <xsl:attribute name="processRef"><xsl:value-of>PROCESS-PO_p341</xsl:value-of></xsl:attribute>
- </xsl:element>
- </xsl:element>
- -->
- <xsl:element name="root">
- <xsl:for-each select="/data/items/item[TYPE='PROCES_INIT' and A_STATUS!='DELETED']">
- <!-- <xsl:sort select="idx_PROCES_INIT_ID"/> -->
- <xsl:if test="TYPE = 'PROCES_INIT'">
- <!-- znajdujemy proces , teraz trzeba pozbierac kroki -->
- <!-- <xsl:variable name="dzieci" select="p5tobpmn:find_child_proces($dzieci_procesow,ID)"/> -->
- <!-- Najpierw deklarujemy basen(y) do danego procesu -->
- <!-- @temp off at 2014-12
- <xsl:call-template name="Pools">
- <xsl:with-param name="proces_id" select="ID"/>
- </xsl:call-template>
-
- <xsl:text>
</xsl:text>
- -->
- <xsl:element name="Proces">
- <xsl:element name="Proces_id">
- <xsl:value-of select="ID"/>
- </xsl:element>
- <xsl:element name="pools">
- <xsl:element name="child">
- <xsl:value-of select="ID"/>
- </xsl:element>
- <xsl:call-template name="Pools">
- <xsl:with-param name="proces_id" select="ID"/>
- </xsl:call-template>
- </xsl:element>
- <xsl:element name="childs">
- <xsl:element name="child">
- <xsl:value-of select="ID"/>
- </xsl:element>
- <xsl:call-template name="Pools">
- <xsl:with-param name="proces_id" select="ID"/>
- </xsl:call-template>
- </xsl:element>
-
- <xsl:call-template name="find_child_proces">
- <xsl:with-param name="proces_id" select="ID"/>
- <xsl:with-param name="count" select="50"/>
- </xsl:call-template>
- </xsl:element>
- </xsl:if>
- </xsl:for-each>
- </xsl:element>
- <!-- </xsl:element> -->
- <!-- </xsl:result-document> -->
- <!-- <xsl:call-template name="_procesy_gen"/> -->
- </xsl:template>
- <!-- Template do generowania z listy procesow listy stanowisk -->
- <xsl:template name="_procesy_gen">
- <!-- <xsl:result-document href="_zasoby_to_procesy_gen.xml" method="xml"> -->
- <xsl:for-each select="document('_procesy_gen.xml')/Proces_id">
- <xsl:element name="Proces_id" >
- <xsl:value-of select="child"/>
- </xsl:element>
- </xsl:for-each>
- <!-- </xsl:result-document> -->
- </xsl:template>
- </xsl:stylesheet>
|