File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / libxml2 / xstc / xstc-to-python.xsl
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue Feb 21 23:38:02 2012 UTC (12 years, 4 months ago) by misho
Branches: libxml2, MAIN
CVS tags: v2_9_1p0, v2_9_1, v2_8_0p0, v2_8_0, v2_7_8, HEAD
libxml2

    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: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()"/>
   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, '&quot;')">
   61: 				<xsl:call-template name="str">
   62: 					<xsl:with-param name="str" select="substring-before($str, '&quot;')"/>
   63: 				</xsl:call-template>
   64: 				<xsl:text>'</xsl:text>
   65: 				<xsl:call-template name="str">
   66: 					<xsl:with-param name="str" select="substring-after($str, '&quot;')"/>
   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, Descr -->
   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 = 'accepted')"/><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 = 'valid')"/><xsl:text>, "</xsl:text>
   91: 			<!-- test-description -->
   92: 			<xsl:value-of select="ts:annotation/ts:documentation/text()"/><xsl:text>"))
   93: </xsl:text>
   94: 		</xsl:for-each>
   95: 		<xsl:for-each select="ts:instanceTest">
   96: 			<!-- groupName, isSchema, Name, Accepted, File, Val, Descr -->
   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 = 'accepted')"/><xsl:text>, "</xsl:text>
  104: 			<!-- filename -->			
  105: 			<xsl:value-of select="ts:instanceDocument/@xl:href"/><xsl:text>", </xsl:text>
  106: 			<!-- validity -->
  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>"))
  110: </xsl:text>
  111: 		</xsl:for-each>
  112: 	</xsl:template>                     
  113:         
  114: </xsl:stylesheet>

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>