Annotation of embedaddon/libxml2/xstc/xstc-to-python.xsl, revision 1.1.1.1

1.1       misho       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>