1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119
|
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="https://mediaarea.net/mediaconch" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0" extension-element-prefixes="xsi">
<xsl:output encoding="UTF-8" method="xml" version="1.0" indent="yes"/>
<xsl:template match="report">
<MediaConch>
<xsl:attribute name="version">
<xsl:text>0.2</xsl:text>
</xsl:attribute>
<xsl:for-each select="jobs/job">
<media>
<xsl:attribute name="ref">
<xsl:value-of select="item/name"/>
</xsl:attribute>
<xsl:for-each select="validationReport">
<implementationChecks>
<xsl:attribute name="checks_run">
<xsl:value-of select="details/@passedRules+details/@failedRules"/>
</xsl:attribute>
<xsl:attribute name="fail_count">
<xsl:value-of select="details/@failedRules"/>
</xsl:attribute>
<xsl:attribute name="pass_count">
<xsl:value-of select="details/@passedRules"/>
</xsl:attribute>
<xsl:if test="@profileName">
<name>
<xsl:value-of select="@profileName"/>
</name>
</xsl:if>
<xsl:if test="statement">
<description>
<xsl:value-of select="statement"/>
</description>
</xsl:if>
<xsl:for-each select="details/rule">
<check>
<xsl:attribute name="icid">
<xsl:value-of select="@specification"/>
<xsl:text>/</xsl:text>
<xsl:value-of select="@clause"/>
<xsl:text>(</xsl:text>
<xsl:value-of select="@testNumber"/>
<xsl:text>)</xsl:text>
</xsl:attribute>
<xsl:attribute name="name">
<xsl:value-of select="test"/>
</xsl:attribute>
<xsl:attribute name="version">
<xsl:value-of select="//report/buildInformation/releaseDetails[@id='core']/@version"/>
</xsl:attribute>
<xsl:if test="@failedChecks and @passedChecks">
<xsl:attribute name="tests_run">
<xsl:value-of select="@passedChecks + @failedChecks"/>
</xsl:attribute>
</xsl:if>
<xsl:if test="@failedChecks">
<xsl:attribute name="fail_count">
<xsl:value-of select="@failedChecks"/>
</xsl:attribute>
</xsl:if>
<xsl:if test="@passedChecks">
<xsl:attribute name="pass_count">
<xsl:value-of select="@passedChecks"/>
</xsl:attribute>
</xsl:if>
<xsl:if test="@specification">
<context>
<xsl:attribute name="name">specification</xsl:attribute>
<xsl:value-of select="@specification"/>
</context>
</xsl:if>
<xsl:if test="@clause">
<context>
<xsl:attribute name="name">clause</xsl:attribute>
<xsl:value-of select="@clause"/>
</context>
</xsl:if>
<xsl:if test="@testNumber">
<context>
<xsl:attribute name="name">testNumber</xsl:attribute>
<xsl:value-of select="@testNumber"/>
</context>
</xsl:if>
<xsl:if test="description">
<context>
<xsl:attribute name="name">description</xsl:attribute>
<xsl:value-of select="description"/>
</context>
</xsl:if>
<xsl:if test="object">
<context>
<xsl:attribute name="name">object</xsl:attribute>
<xsl:value-of select="object"/>
</context>
</xsl:if>
<xsl:for-each select="check">
<test>
<xsl:attribute name="outcome">
<xsl:choose>
<xsl:when test="@status='failed'">fail</xsl:when>
<xsl:otherwise>pass</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<value>
<xsl:attribute name="context">
<xsl:value-of select="context"/>
</xsl:attribute>
</value>
</test>
</xsl:for-each>
</check>
</xsl:for-each>
</implementationChecks>
</xsl:for-each>
</media>
</xsl:for-each>
</MediaConch>
</xsl:template>
</xsl:stylesheet>
|