Annotation of embedaddon/libxml2/xstc/xstc-to-python.xsl, revision 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>