| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 |
- <?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">
-
-
-
-
-
- <xsl:template name="detect_tree_or_init">
- <xsl:param name="get_proces_tree_id"/>
- <xsl:for-each select="/data/items/item[ID=$get_proces_tree_id]">
- <xsl:choose>
- <xsl:when test="TYPE='PROCES_INIT'">
- <xsl:call-template name="crm_proces_parse">
- <xsl:with-param name="get_proces_tree_id" select="ID"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <xsl:call-template name="detect_tree_proces">
- <xsl:with-param name="get_proces_tree_id" select="ID"/>
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:for-each>
- </xsl:template>
-
-
- <xsl:template name="detect_tree_proces">
- <xsl:param name="get_proces_tree_id"/>
- <dtp><xsl:value-of select="$get_proces_tree_id"/></dtp>
-
- <xsl:for-each select="/data/items/item[PARENT_ID=$get_proces_tree_id]">
- <xsl:choose>
- <xsl:when test="TYPE='PROCES_INIT'">
- <xsl:call-template name="crm_proces_parse">
- <xsl:with-param name="get_proces_tree_id" select="ID"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <xsl:call-template name="detect_tree_proces">
- <xsl:with-param name="get_proces_tree_id" select="ID"/>
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:for-each>
- </xsl:template>
-
-
-
-
- <!-- template do pierwszego przerobienia procesow do optymalizacji wykrycia pools -->
- <xsl:template name="crm_proces_parse">
- <xsl:param name="get_proces_tree_id"/>
- <xsl:element name="root">
- <!-- <xsl:for-each select="/data/items/item[TYPE='PROCES_INIT' and A_STATUS!='DELETED']"> -->
- <xsl:for-each select="/data/items/item[ID=$get_proces_tree_id]">
- <xsl:sort select="concat(PARENT_ID,SORT_PRIO)"/>
- <xsl:if test="TYPE = 'PROCES_INIT'">
- <!-- znajdujemy proces , teraz trzeba pozbierac kroki -->
-
- <xsl:element name="Proces">
- <_temp_position_proces_parse><xsl:value-of select="position()"/></_temp_position_proces_parse>
- <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:element name="TYPE">
- <xsl:value-of select="TYPE"/>
- </xsl:element>
- <xsl:element name="PARENT_ID">
- <xsl:value-of select="PARENT_ID"/>
- </xsl:element>
- <xsl:element name="DESC">
- <xsl:value-of select="DESC"/>
- </xsl:element>
- <xsl:element name="incoming_name">
- <xsl:value-of select="concat('startEvent_',ID)"/>
- </xsl:element>
- <xsl:element name="outgoing_name">
- <xsl:value-of select="concat('Task_',ID)"/>
- </xsl:element>
- <xsl:element name="StartEvent">
- <xsl:value-of select="concat('startEvent_',ID)"/>
- </xsl:element>
- <xsl:element name="TaskName">
- <xsl:value-of select="concat('startEvent_',ID)"/>
- </xsl:element>
- <xsl:element name="TaskName">
- <xsl:value-of select="concat('Task_',ID)"/>
- </xsl:element>
- <xsl:element name="Task">
- <xsl:value-of select="concat('Task_',ID)"/>
- </xsl:element>
- <xsl:element name="SORT_PRIO">
- <xsl:value-of select="SORT_PRIO"/>
- </xsl:element>
- <xsl:element name="current">
- <xsl:value-of select="position()"/>
- </xsl:element>
- <xsl:call-template name="detect_outgoing">
- <xsl:with-param name="proces_id" select="ID"/>
- <xsl:with-param name="parent_id" select="PARENT_ID"/>
- <xsl:with-param name="current_sort_prio" select="SORT_PRIO"/>
- <xsl:with-param name="position" select="1"/>
- </xsl:call-template>
- <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:template>
-
- </xsl:stylesheet>
|