source: DCWoRMS/trunk/simulator/xslt/job_postprocessing.xslt @ 477

Revision 477, 2.0 KB checked in by wojtekp, 13 years ago (diff)
  • Property svn:mime-type set to text/plain
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<xsl:transform version="1.0"
3                                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
4                                xmlns:date="http://exslt.org/dates-and-times">
5       
6        <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="yes" indent="yes"/>
7       
8        <xsl:include href="date.add.template.xsl"/>
9       
10        <xsl:param name="TASK_ID"/>
11        <xsl:param name="EXEC_DURATION_VALUE"/>
12       
13        <xsl:strip-space elements="*"/>
14        <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="yes" indent="yes"/>
15       
16        <xsl:template match="/">
17                <xsl:apply-templates select="*" mode="COPY_OF_MODE"/>
18        </xsl:template>
19       
20        <xsl:template match="//task[@taskId=$TASK_ID]" mode="COPY_OF_MODE">
21                <xsl:element name="task">
22                        <xsl:copy-of select="@*"/>
23                        <xsl:apply-templates select="requirements" mode="COPY_OF_MODE"/>
24                       
25                        <xsl:if test="executionTime">
26                                <xsl:element name="executionTime">
27                                       
28                                        <xsl:if test="executionTime/executionDuration">
29                                                <xsl:element name="executionDuration">
30                                                        <xsl:value-of select="$EXEC_DURATION_VALUE"/>
31                                                </xsl:element>
32                                        </xsl:if>
33                                       
34                                        <xsl:if test="executionTime/timePeriod">
35                                                <xsl:element name="timePeriod">
36                                                <xsl:copy-of select="executionTime/timePeriod/periodStart"/>
37                                                        <xsl:element name="periodEnd">
38                                                                <xsl:call-template name="date:add">
39                                                                   <xsl:with-param name="date-time" select="executionTime/timePeriod/periodEnd" />
40                                                                   <xsl:with-param name="duration" select="$EXEC_DURATION_VALUE" />
41                                                                </xsl:call-template>
42                                                        </xsl:element>
43                                                </xsl:element>
44                                        </xsl:if>
45                                       
46                                </xsl:element>
47                       
48                        </xsl:if>
49               
50                </xsl:element>
51               
52        </xsl:template>
53       
54        <xsl:template match="*" mode="COPY_OF_MODE">
55                <xsl:choose>
56                        <xsl:when test="node()">
57                                <xsl:element name="{name()}">
58                                        <xsl:copy-of select="@*"/>
59                                        <xsl:apply-templates select="node()" mode="COPY_OF_MODE"/>
60                                </xsl:element>
61                        </xsl:when>
62                        <xsl:otherwise>
63                                <xsl:element name="{name()}">
64                                        <xsl:copy-of select="@*"/>
65                                </xsl:element>
66                        </xsl:otherwise>
67                </xsl:choose>
68        </xsl:template>
69
70</xsl:transform>
Note: See TracBrowser for help on using the repository browser.