| OLD | NEW |
| (Empty) |
| 1 <?xml version="1.0" encoding="UTF-8" ?> | |
| 2 <xsl:stylesheet | |
| 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"/> | |
| 8 | |
| 9 <xsl:template match="/"> | |
| 10 <xsl:text>#!/usr/bin/python -u | |
| 11 # -*- coding: UTF-8 -*- | |
| 12 # | |
| 13 # This file is generated from the W3C test suite description file. | |
| 14 # | |
| 15 | |
| 16 import xstc | |
| 17 from xstc import XSTCTestRunner, XSTCTestGroup, XSTCSchemaTest, XSTCInstanceTest | |
| 18 | |
| 19 xstc.vendor = "</xsl:text><xsl:value-of select="$vendor"/><xsl:text>" | |
| 20 | |
| 21 r = XSTCTestRunner() | |
| 22 | |
| 23 # Group definitions. | |
| 24 | |
| 25 </xsl:text> | |
| 26 | |
| 27 <xsl:apply-templates select="ts:testSet/ts:testGroup" mode="group-def"/> | |
| 28 <xsl:text> | |
| 29 | |
| 30 # Test definitions. | |
| 31 | |
| 32 </xsl:text> | |
| 33 <xsl:apply-templates select="ts:testSet/ts:testGroup" mode="test
-def"/> | |
| 34 <xsl:text> | |
| 35 | |
| 36 r.run() | |
| 37 | |
| 38 </xsl:text> | |
| 39 | |
| 40 </xsl:template> | |
| 41 | |
| 42 <!-- groupName, descr --> | |
| 43 <xsl:template match="ts:testGroup" mode="group-def"> | |
| 44 <xsl:text>r.addGroup(XSTCTestGroup("</xsl:text> | |
| 45 <!-- group --> | |
| 46 <xsl:value-of select="@name"/><xsl:text>", "</xsl:text> | |
| 47 <!-- main schema --> | |
| 48 <xsl:value-of select="ts:schemaTest[1]/ts:schemaDocument/@xl:hre
f"/><xsl:text>", """</xsl:text> | |
| 49 <!-- group-description --> | |
| 50 <xsl:call-template name="str"> | |
| 51 <xsl:with-param name="str" select="ts:annotation/ts:docu
mentation/text()"/> | |
| 52 </xsl:call-template> | |
| 53 <xsl:text>""")) | |
| 54 </xsl:text> | |
| 55 </xsl:template> | |
| 56 | |
| 57 <xsl:template name="str"> | |
| 58 <xsl:param name="str"/> | |
| 59 <xsl:choose> | |
| 60 <xsl:when test="contains($str, '"')"> | |
| 61 <xsl:call-template name="str"> | |
| 62 <xsl:with-param name="str" select="subst
ring-before($str, '"')"/> | |
| 63 </xsl:call-template> | |
| 64 <xsl:text>'</xsl:text> | |
| 65 <xsl:call-template name="str"> | |
| 66 <xsl:with-param name="str" select="subst
ring-after($str, '"')"/> | |
| 67 </xsl:call-template> | |
| 68 | |
| 69 </xsl:when> | |
| 70 <xsl:otherwise> | |
| 71 <xsl:value-of select="$str"/> | |
| 72 </xsl:otherwise> | |
| 73 </xsl:choose> | |
| 74 </xsl:template> | |
| 75 | |
| 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, Des
cr --> | |
| 80 <xsl:text>r.addTest(XSTCSchemaTest("</xsl:text> | |
| 81 <!-- group --> | |
| 82 <xsl:value-of select="$group"/><xsl:text>", "</xsl:text> | |
| 83 <!-- test-name --> | |
| 84 <xsl:value-of select="@name"/><xsl:text>", </xsl:text> | |
| 85 <!-- accepted --> | |
| 86 <xsl:value-of select="number(ts:current/@status = 'accep
ted')"/><xsl:text>, "</xsl:text> | |
| 87 <!-- filename --> | |
| 88 <xsl:value-of select="ts:schemaDocument/@xl:href"/><xsl:
text>", </xsl:text> | |
| 89 <!-- validity --> | |
| 90 <xsl:value-of select="number(ts:expected/@validity = 'va
lid')"/><xsl:text>, "</xsl:text> | |
| 91 <!-- test-description --> | |
| 92 <xsl:value-of select="ts:annotation/ts:documentation/tex
t()"/><xsl:text>")) | |
| 93 </xsl:text> | |
| 94 </xsl:for-each> | |
| 95 <xsl:for-each select="ts:instanceTest"> | |
| 96 <!-- groupName, isSchema, Name, Accepted, File, Val, Des
cr --> | |
| 97 <xsl:text>r.addTest(XSTCInstanceTest("</xsl:text> | |
| 98 <!-- group --> | |
| 99 <xsl:value-of select="$group"/><xsl:text>", "</xsl:text> | |
| 100 <!-- test-name --> | |
| 101 <xsl:value-of select="@name"/><xsl:text>", </xsl:text> | |
| 102 <!-- accepted --> | |
| 103 <xsl:value-of select="number(ts:current/@status = 'accep
ted')"/><xsl:text>, "</xsl:text> | |
| 104 <!-- filename --> | |
| 105 <xsl:value-of select="ts:instanceDocument/@xl:href"/><xs
l:text>", </xsl:text> | |
| 106 <!-- validity --> | |
| 107 <xsl:value-of select="number(ts:expected/@validity = 'va
lid')"/><xsl:text>, "</xsl:text> | |
| 108 <!-- test-description --> | |
| 109 <xsl:value-of select="ts:annotation/ts:documentation/tex
t()"/><xsl:text>")) | |
| 110 </xsl:text> | |
| 111 </xsl:for-each> | |
| 112 </xsl:template> | |
| 113 | |
| 114 </xsl:stylesheet> | |
| OLD | NEW |