329 lines
No EOL
12 KiB
XML
329 lines
No EOL
12 KiB
XML
<?xml version='1.0' ?>
|
|
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
|
|
|
<xsl:import href="include/StorageFunctions.xsl"/>
|
|
<xsl:output method="xml" omit-xml-declaration="yes" />
|
|
|
|
<xsl:template match="/">
|
|
<xsl:element name="StorageObjects">
|
|
<xsl:apply-templates select="Jobs"/>
|
|
<xsl:apply-templates select="NewJob"/>
|
|
<xsl:call-template name="TaskingInfo">
|
|
<xsl:with-param name="info" select="TaskingInfo"/>
|
|
</xsl:call-template>
|
|
</xsl:element>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="Jobs">
|
|
<xsl:apply-templates select="AtJob"/>
|
|
<xsl:apply-templates select="NetJob"/>
|
|
<xsl:apply-templates select="TaskServiceFolder"/>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="AtJob">
|
|
<xsl:element name="ObjectValue">
|
|
<xsl:attribute name="name">AtJob</xsl:attribute>
|
|
<xsl:element name="IntValue">
|
|
<xsl:attribute name="name">id</xsl:attribute>
|
|
<xsl:value-of select="@id"/>
|
|
</xsl:element>
|
|
<xsl:element name="StringValue">
|
|
<xsl:attribute name="name">CommandText</xsl:attribute>
|
|
<xsl:value-of select="CommandText"/>
|
|
</xsl:element>
|
|
|
|
<xsl:element name="StringValue">
|
|
<xsl:attribute name="name">frequency</xsl:attribute>
|
|
<xsl:choose>
|
|
<xsl:when test="Flags/JobRunsToday">
|
|
<xsl:text>Today</xsl:text>
|
|
</xsl:when>
|
|
<xsl:when test="Flags/JobRunPeriodically">
|
|
<xsl:text>Each</xsl:text>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:text>Next</xsl:text>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:element>
|
|
|
|
<xsl:element name="StringValue">
|
|
<xsl:attribute name="name">Weekday</xsl:attribute>
|
|
<xsl:value-of select="Weekday/@days"/>
|
|
</xsl:element>
|
|
|
|
<xsl:element name="StringValue">
|
|
<xsl:attribute name="name">Month</xsl:attribute>
|
|
<xsl:value-of select="Monthday/@days"/>
|
|
</xsl:element>
|
|
|
|
<xsl:element name="StringValue">
|
|
<xsl:attribute name="name">Time</xsl:attribute>
|
|
<xsl:variable name="hour" select="substring-before(substring-after(Time, 'T'), 'H')" />
|
|
<xsl:variable name="minute" select="substring-before(substring-after(Time, 'H'), 'M')" />
|
|
<xsl:variable name="timeString" select="concat($hour, ':', $minute)"/>
|
|
<xsl:value-of select="$timeString"/>
|
|
</xsl:element>
|
|
</xsl:element>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="NetJob">
|
|
<xsl:element name="ObjectValue">
|
|
<xsl:attribute name="name">NetJob</xsl:attribute>
|
|
<xsl:element name="IntValue">
|
|
<xsl:attribute name="name">exitcode</xsl:attribute>
|
|
<xsl:value-of select="@exitcode"/>
|
|
</xsl:element>
|
|
<xsl:element name="StringValue">
|
|
<xsl:attribute name="name">JobName</xsl:attribute>
|
|
<xsl:value-of select="JobName"/>
|
|
</xsl:element>
|
|
<xsl:element name="StringValue">
|
|
<xsl:attribute name="name">FlagsMask</xsl:attribute>
|
|
<xsl:value-of select="Flags/@mask"/>
|
|
</xsl:element>
|
|
|
|
<xsl:element name="StringValue">
|
|
<xsl:attribute name="name">NextRunDate</xsl:attribute>
|
|
<xsl:value-of select="substring-before(NextRun, 'T')"/>
|
|
</xsl:element>
|
|
<xsl:element name="StringValue">
|
|
<xsl:attribute name="name">NextRunTime</xsl:attribute>
|
|
<xsl:value-of select="substring-before(substring-after(NextRun, 'T'), '.')"/>
|
|
</xsl:element>
|
|
<xsl:element name="StringValue">
|
|
<xsl:attribute name="name">Application</xsl:attribute>
|
|
<xsl:value-of select="Application"/>
|
|
</xsl:element>
|
|
<xsl:element name="StringValue">
|
|
<xsl:attribute name="name">Parameters</xsl:attribute>
|
|
<xsl:value-of select="Parameters"/>
|
|
</xsl:element>
|
|
<xsl:element name="StringValue">
|
|
<xsl:attribute name="name">Account</xsl:attribute>
|
|
<xsl:value-of select="Account"/>
|
|
</xsl:element>
|
|
<xsl:apply-templates select="Triggers" />
|
|
</xsl:element>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="Triggers">
|
|
<xsl:element name="ObjectValue">
|
|
<xsl:attribute name="name">Trigger</xsl:attribute>
|
|
<xsl:element name="StringValue">
|
|
<xsl:attribute name="name">TriggerString</xsl:attribute>
|
|
<xsl:value-of select="Trigger"/>
|
|
</xsl:element>
|
|
</xsl:element>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="NewJob">
|
|
<xsl:element name="ObjectValue">
|
|
<xsl:attribute name="name">NewJob</xsl:attribute>
|
|
<xsl:element name="IntValue">
|
|
<xsl:attribute name="name">id</xsl:attribute>
|
|
<xsl:value-of select="@id" />
|
|
</xsl:element>
|
|
<xsl:element name="StringValue">
|
|
<xsl:attribute name="name">name</xsl:attribute>
|
|
<xsl:value-of select="@name" />
|
|
</xsl:element>
|
|
</xsl:element>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="TaskServiceFolder">
|
|
<xsl:element name="ObjectValue">
|
|
<xsl:attribute name="name">Folder</xsl:attribute>
|
|
<xsl:element name="StringValue">
|
|
<xsl:attribute name="name">Name</xsl:attribute>
|
|
<xsl:value-of select="@name"/>
|
|
</xsl:element>
|
|
<xsl:element name="StringValue">
|
|
<xsl:attribute name="name">Path</xsl:attribute>
|
|
<xsl:value-of select="@path"/>
|
|
</xsl:element>
|
|
<xsl:for-each select="Job">
|
|
<xsl:element name="ObjectValue">
|
|
<xsl:attribute name="name">Job</xsl:attribute>
|
|
<xsl:element name="StringValue">
|
|
<xsl:attribute name="name">Name</xsl:attribute>
|
|
<xsl:value-of select="@name"/>
|
|
</xsl:element>
|
|
<xsl:element name="StringValue">
|
|
<xsl:attribute name="name">Path</xsl:attribute>
|
|
<xsl:value-of select="@path"/>
|
|
</xsl:element>
|
|
<xsl:element name="StringValue">
|
|
<xsl:attribute name="name">Compatibility</xsl:attribute>
|
|
<xsl:value-of select="@compatibility"/>
|
|
</xsl:element>
|
|
<xsl:element name="IntValue">
|
|
<xsl:attribute name="name">LastRunResult</xsl:attribute>
|
|
<xsl:value-of select="@lastRunResult"/>
|
|
</xsl:element>
|
|
<xsl:element name="IntValue">
|
|
<xsl:attribute name="name">NumMissedRuns</xsl:attribute>
|
|
<xsl:value-of select="@numMissedRuns"/>
|
|
</xsl:element>
|
|
<xsl:element name="StringValue">
|
|
<xsl:attribute name="name">State</xsl:attribute>
|
|
<xsl:value-of select="@state"/>
|
|
</xsl:element>
|
|
<xsl:element name="BoolValue">
|
|
<xsl:attribute name="name">Disabled</xsl:attribute>
|
|
<xsl:choose>
|
|
<xsl:when test="@state = 'DISABLED'">
|
|
<xsl:text>true</xsl:text>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:text>false</xsl:text>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:element>
|
|
<xsl:call-template name="StoreTime">
|
|
<xsl:with-param name="time" select="NextRunTime"/>
|
|
<xsl:with-param name="name" select="'NextRunTime'"/>
|
|
</xsl:call-template>
|
|
<xsl:call-template name="StoreTime">
|
|
<xsl:with-param name="time" select="LastRunTime"/>
|
|
<xsl:with-param name="name" select="'LastRunTime'"/>
|
|
</xsl:call-template>
|
|
<xsl:element name="StringValue">
|
|
<xsl:attribute name="name">Xml</xsl:attribute>
|
|
<xsl:value-of select="Xml"/>
|
|
</xsl:element>
|
|
|
|
<xsl:for-each select="Action">
|
|
<xsl:element name="ObjectValue">
|
|
<xsl:attribute name="name">Action</xsl:attribute>
|
|
<xsl:element name="StringValue">
|
|
<xsl:attribute name="name">Type</xsl:attribute>
|
|
<xsl:value-of select="@type"/>
|
|
</xsl:element>
|
|
<xsl:element name="StringValue">
|
|
<xsl:attribute name="name">Id</xsl:attribute>
|
|
<xsl:value-of select="Id"/>
|
|
</xsl:element>
|
|
<xsl:if test="Exec">
|
|
<xsl:element name="ObjectValue">
|
|
<xsl:attribute name="name">Exec</xsl:attribute>
|
|
<xsl:element name="StringValue">
|
|
<xsl:attribute name="name">Path</xsl:attribute>
|
|
<xsl:value-of select="Exec/Path"/>
|
|
</xsl:element>
|
|
<xsl:element name="StringValue">
|
|
<xsl:attribute name="name">Arguments</xsl:attribute>
|
|
<xsl:value-of select="Exec/Arguments"/>
|
|
</xsl:element>
|
|
<xsl:element name="StringValue">
|
|
<xsl:attribute name="name">WorkingDir</xsl:attribute>
|
|
<xsl:value-of select="Exec/WorkingDir"/>
|
|
</xsl:element>
|
|
</xsl:element>
|
|
</xsl:if>
|
|
<xsl:if test="COM">
|
|
<xsl:element name="ObjectValue">
|
|
<xsl:attribute name="name">COM</xsl:attribute>
|
|
<xsl:element name="StringValue">
|
|
<xsl:attribute name="name">ClassId</xsl:attribute>
|
|
<xsl:value-of select="COM/ClassId"/>
|
|
</xsl:element>
|
|
<xsl:element name="StringValue">
|
|
<xsl:attribute name="name">Data</xsl:attribute>
|
|
<xsl:value-of select="COM/Data"/>
|
|
</xsl:element>
|
|
</xsl:element>
|
|
</xsl:if>
|
|
</xsl:element>
|
|
</xsl:for-each>
|
|
|
|
<xsl:element name="ObjectValue">
|
|
<xsl:attribute name="name">Principal</xsl:attribute>
|
|
<xsl:element name="StringValue">
|
|
<xsl:attribute name="name">LogonType</xsl:attribute>
|
|
<xsl:value-of select="Principal/@logonType"/>
|
|
</xsl:element>
|
|
<xsl:element name="StringValue">
|
|
<xsl:attribute name="name">RunLevel</xsl:attribute>
|
|
<xsl:value-of select="Principal/@runLevel"/>
|
|
</xsl:element>
|
|
<xsl:element name="StringValue">
|
|
<xsl:attribute name="name">DisplayName</xsl:attribute>
|
|
<xsl:value-of select="Principal/DisplayName"/>
|
|
</xsl:element>
|
|
<xsl:element name="StringValue">
|
|
<xsl:attribute name="name">GroupId</xsl:attribute>
|
|
<xsl:value-of select="Principal/GroupId"/>
|
|
</xsl:element>
|
|
<xsl:element name="StringValue">
|
|
<xsl:attribute name="name">Id</xsl:attribute>
|
|
<xsl:value-of select="Principal/Id"/>
|
|
</xsl:element>
|
|
<xsl:element name="StringValue">
|
|
<xsl:attribute name="name">UserId</xsl:attribute>
|
|
<xsl:value-of select="Principal/UserId"/>
|
|
</xsl:element>
|
|
</xsl:element>
|
|
|
|
<xsl:for-each select="Trigger">
|
|
<xsl:element name="ObjectValue">
|
|
<xsl:attribute name="name">Trigger</xsl:attribute>
|
|
<xsl:element name="StringValue">
|
|
<xsl:attribute name="name">Type</xsl:attribute>
|
|
<xsl:value-of select="@type"/>
|
|
</xsl:element>
|
|
<xsl:element name="BoolValue">
|
|
<xsl:attribute name="name">Enabled</xsl:attribute>
|
|
<xsl:choose>
|
|
<xsl:when test="@enabled = 'true'">
|
|
<xsl:text>true</xsl:text>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:text>false</xsl:text>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:element>
|
|
<xsl:element name="StringValue">
|
|
<xsl:attribute name="name">Id</xsl:attribute>
|
|
<xsl:value-of select="Id"/>
|
|
</xsl:element>
|
|
<xsl:element name="StringValue">
|
|
<xsl:attribute name="name">StartBoundary</xsl:attribute>
|
|
<xsl:value-of select="StartBoundary"/>
|
|
</xsl:element>
|
|
<xsl:element name="StringValue">
|
|
<xsl:attribute name="name">EndBoundary</xsl:attribute>
|
|
<xsl:value-of select="EndBoundary"/>
|
|
</xsl:element>
|
|
</xsl:element>
|
|
</xsl:for-each>
|
|
</xsl:element>
|
|
</xsl:for-each>
|
|
</xsl:element>
|
|
</xsl:template>
|
|
|
|
<xsl:template name="StoreTime">
|
|
<xsl:param name="time"/>
|
|
<xsl:param name="name"/>
|
|
|
|
<xsl:element name="ObjectValue">
|
|
<xsl:attribute name="name">
|
|
<xsl:value-of select="$name"/>
|
|
</xsl:attribute>
|
|
|
|
<xsl:element name="StringValue">
|
|
<xsl:attribute name="name">Type</xsl:attribute>
|
|
<xsl:value-of select="$time/@type"/>
|
|
</xsl:element>
|
|
<xsl:element name="StringValue">
|
|
<xsl:attribute name="name">Date</xsl:attribute>
|
|
<xsl:value-of select="substring-before($time, 'T')"/>
|
|
</xsl:element>
|
|
<xsl:element name="StringValue">
|
|
<xsl:attribute name="name">Time</xsl:attribute>
|
|
<xsl:value-of select="substring-after($time, 'T')"/>
|
|
</xsl:element>
|
|
</xsl:element>
|
|
</xsl:template>
|
|
|
|
</xsl:transform> |