1 <?xml version=
"1.0" encoding=
"UTF-8" ?>
3 xmlns:
xsl=
"http://www.w3.org/1999/XSL/Transform"
4 xmlns:
ts=
"TestSuite" version=
"1.0"
5 xmlns:
xl=
"http://www.w3.org/1999/xlink">
6 <xsl:param name=
"vendor" select=
"'NIST'"/>
7 <xsl:output method=
"text"/>
9 <xsl:template match=
"/">
10 <xsl:text>#!/usr/bin/python -u
11 # -*- coding: UTF-
8 -*-
13 # This file is generated from the W3C test suite description file.
17 from xstc import XSTCTestRunner, XSTCTestGroup, XSTCSchemaTest, XSTCInstanceTest
19 xstc.vendor =
"</xsl:text><xsl:value-of select="$vendor
"/><xsl:text>"
27 <xsl:apply-templates select=
"ts:testSet/ts:testGroup" mode=
"group-def"/>
33 <xsl:apply-templates select=
"ts:testSet/ts:testGroup" mode=
"test-def"/>
42 <!-- groupName, descr -->
43 <xsl:template match=
"ts:testGroup" mode=
"group-def">
44 <xsl:text>r.addGroup(XSTCTestGroup(
"</xsl:text>
46 <xsl:value-of select="@name
"/><xsl:text>",
"</xsl:text>
48 <xsl:value-of select="ts:schemaTest[
1]/ts:schemaDocument/@xl:href
"/><xsl:text>",
"""</xsl:text>
49 <!-- group-description -->
50 <xsl:call-template name="str
">
51 <xsl:with-param name="str
" select="ts:annotation/ts:documentation/text()
"/>
57 <xsl:template name=
"str">
58 <xsl:param name=
"str"/>
60 <xsl:when test=
"contains($str, '"')">
61 <xsl:call-template name=
"str">
62 <xsl:with-param name=
"str" select=
"substring-before($str, '"')"/>
64 <xsl:text>'
</xsl:text>
65 <xsl:call-template name=
"str">
66 <xsl:with-param name=
"str" select=
"substring-after($str, '"')"/>
71 <xsl:value-of select=
"$str"/>
76 <xsl:template match=
"ts:testGroup" mode=
"test-def">
77 <xsl:param name=
"group" select=
"@name"/>
78 <xsl:for-each select=
"ts:schemaTest">
79 <!-- groupName, isSchema, Name, Accepted, File, Val, Descr -->
80 <xsl:text>r.addTest(XSTCSchemaTest(
"</xsl:text>
82 <xsl:value-of select="$group
"/><xsl:text>",
"</xsl:text>
84 <xsl:value-of select="@name
"/><xsl:text>",
</xsl:text>
86 <xsl:value-of select=
"number(ts:current/@status = 'accepted')"/><xsl:text>,
"</xsl:text>
88 <xsl:value-of select="ts:schemaDocument/@xl:href
"/><xsl:text>",
</xsl:text>
90 <xsl:value-of select=
"number(ts:expected/@validity = 'valid')"/><xsl:text>,
"</xsl:text>
91 <!-- test-description -->
92 <xsl:value-of select="ts:annotation/ts:documentation/text()
"/><xsl:text>"))
95 <xsl:for-each select=
"ts:instanceTest">
96 <!-- groupName, isSchema, Name, Accepted, File, Val, Descr -->
97 <xsl:text>r.addTest(XSTCInstanceTest(
"</xsl:text>
99 <xsl:value-of select="$group
"/><xsl:text>",
"</xsl:text>
101 <xsl:value-of select="@name
"/><xsl:text>",
</xsl:text>
103 <xsl:value-of select=
"number(ts:current/@status = 'accepted')"/><xsl:text>,
"</xsl:text>
105 <xsl:value-of select="ts:instanceDocument/@xl:href
"/><xsl:text>",
</xsl:text>
107 <xsl:value-of select=
"number(ts:expected/@validity = 'valid')"/><xsl:text>,
"</xsl:text>
108 <!-- test-description -->
109 <xsl:value-of select="ts:annotation/ts:documentation/text()
"/><xsl:text>"))