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> |
---|