1*7c568831SAndroid Build Coastguard Worker<?xml version="1.0"?> 2*7c568831SAndroid Build Coastguard Worker<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 3*7c568831SAndroid Build Coastguard Worker 4*7c568831SAndroid Build Coastguard Worker<xsl:strip-space elements="xsdtest datatype equiv class"/> 5*7c568831SAndroid Build Coastguard Worker 6*7c568831SAndroid Build Coastguard Worker<xsl:output indent="yes" encoding="utf-8"/> 7*7c568831SAndroid Build Coastguard Worker 8*7c568831SAndroid Build Coastguard Worker<xsl:template match="xsdtest"> 9*7c568831SAndroid Build Coastguard Worker <testSuite> 10*7c568831SAndroid Build Coastguard Worker <xsl:apply-templates/> 11*7c568831SAndroid Build Coastguard Worker </testSuite> 12*7c568831SAndroid Build Coastguard Worker</xsl:template> 13*7c568831SAndroid Build Coastguard Worker 14*7c568831SAndroid Build Coastguard Worker<xsl:template match="datatype"> 15*7c568831SAndroid Build Coastguard Worker<testSuite> 16*7c568831SAndroid Build Coastguard Worker<documentation>Datatype <xsl:value-of select="@name"/></documentation> 17*7c568831SAndroid Build Coastguard Worker<testCase> 18*7c568831SAndroid Build Coastguard Worker<requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/> 19*7c568831SAndroid Build Coastguard Worker<correct> 20*7c568831SAndroid Build Coastguard Worker<element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" 21*7c568831SAndroid Build Coastguard Worker datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> 22*7c568831SAndroid Build Coastguard Worker <data type="{@name}"> 23*7c568831SAndroid Build Coastguard Worker <xsl:for-each select="param"> 24*7c568831SAndroid Build Coastguard Worker <param name="{@name}"><xsl:value-of select="."/></param> 25*7c568831SAndroid Build Coastguard Worker </xsl:for-each> 26*7c568831SAndroid Build Coastguard Worker </data> 27*7c568831SAndroid Build Coastguard Worker</element> 28*7c568831SAndroid Build Coastguard Worker</correct> 29*7c568831SAndroid Build Coastguard Worker<xsl:apply-templates select="valid|invalid"/> 30*7c568831SAndroid Build Coastguard Worker</testCase> 31*7c568831SAndroid Build Coastguard Worker<xsl:apply-templates select="equiv/class|length|lessThan|incomparable"/> 32*7c568831SAndroid Build Coastguard Worker</testSuite> 33*7c568831SAndroid Build Coastguard Worker</xsl:template> 34*7c568831SAndroid Build Coastguard Worker 35*7c568831SAndroid Build Coastguard Worker<xsl:template match="valid"> 36*7c568831SAndroid Build Coastguard Worker <xsl:call-template name="valid"/> 37*7c568831SAndroid Build Coastguard Worker</xsl:template> 38*7c568831SAndroid Build Coastguard Worker 39*7c568831SAndroid Build Coastguard Worker<xsl:template match="invalid"> 40*7c568831SAndroid Build Coastguard Worker <xsl:call-template name="invalid"/> 41*7c568831SAndroid Build Coastguard Worker</xsl:template> 42*7c568831SAndroid Build Coastguard Worker 43*7c568831SAndroid Build Coastguard Worker<xsl:template name="valid"> 44*7c568831SAndroid Build Coastguard Worker <valid> 45*7c568831SAndroid Build Coastguard Worker <xsl:apply-templates select="@internalSubset"/> 46*7c568831SAndroid Build Coastguard Worker <doc> 47*7c568831SAndroid Build Coastguard Worker <xsl:copy-of select="namespace::*"/> 48*7c568831SAndroid Build Coastguard Worker <xsl:value-of select="."/> 49*7c568831SAndroid Build Coastguard Worker </doc> 50*7c568831SAndroid Build Coastguard Worker </valid> 51*7c568831SAndroid Build Coastguard Worker</xsl:template> 52*7c568831SAndroid Build Coastguard Worker 53*7c568831SAndroid Build Coastguard Worker<xsl:template name="invalid"> 54*7c568831SAndroid Build Coastguard Worker <invalid> 55*7c568831SAndroid Build Coastguard Worker <xsl:apply-templates select="@internalSubset"/> 56*7c568831SAndroid Build Coastguard Worker <doc> 57*7c568831SAndroid Build Coastguard Worker <xsl:copy-of select="namespace::*"/> 58*7c568831SAndroid Build Coastguard Worker <xsl:value-of select="."/> 59*7c568831SAndroid Build Coastguard Worker </doc> 60*7c568831SAndroid Build Coastguard Worker </invalid> 61*7c568831SAndroid Build Coastguard Worker</xsl:template> 62*7c568831SAndroid Build Coastguard Worker 63*7c568831SAndroid Build Coastguard Worker<xsl:template match="@internalSubset"> 64*7c568831SAndroid Build Coastguard Worker <xsl:param name="doc" select="'doc'"/> 65*7c568831SAndroid Build Coastguard Worker <xsl:attribute name="dtd"> 66*7c568831SAndroid Build Coastguard Worker <xsl:text> 67*7c568831SAndroid Build Coastguard Worker<!DOCTYPE </xsl:text> 68*7c568831SAndroid Build Coastguard Worker <xsl:value-of select="$doc"/> 69*7c568831SAndroid Build Coastguard Worker <xsl:text> [ 70*7c568831SAndroid Build Coastguard Worker</xsl:text> 71*7c568831SAndroid Build Coastguard Worker <xsl:value-of select="."/> 72*7c568831SAndroid Build Coastguard Worker <xsl:text> 73*7c568831SAndroid Build Coastguard Worker]></xsl:text> 74*7c568831SAndroid Build Coastguard Worker </xsl:attribute> 75*7c568831SAndroid Build Coastguard Worker</xsl:template> 76*7c568831SAndroid Build Coastguard Worker 77*7c568831SAndroid Build Coastguard Worker<xsl:template match="class"> 78*7c568831SAndroid Build Coastguard Worker<testCase> 79*7c568831SAndroid Build Coastguard Worker<correct> 80*7c568831SAndroid Build Coastguard Worker <xsl:for-each select="value[1]"> 81*7c568831SAndroid Build Coastguard Worker <xsl:apply-templates select="@internalSubset"> 82*7c568831SAndroid Build Coastguard Worker <xsl:with-param name="doc">element</xsl:with-param> 83*7c568831SAndroid Build Coastguard Worker </xsl:apply-templates> 84*7c568831SAndroid Build Coastguard Worker <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" 85*7c568831SAndroid Build Coastguard Worker datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> 86*7c568831SAndroid Build Coastguard Worker <value> 87*7c568831SAndroid Build Coastguard Worker <xsl:copy-of select="namespace::*"/> 88*7c568831SAndroid Build Coastguard Worker <xsl:attribute name="type"><xsl:value-of select="../../../@name"/></xsl:attribute> 89*7c568831SAndroid Build Coastguard Worker <xsl:value-of select="."/> 90*7c568831SAndroid Build Coastguard Worker </value> 91*7c568831SAndroid Build Coastguard Worker </element> 92*7c568831SAndroid Build Coastguard Worker </xsl:for-each> 93*7c568831SAndroid Build Coastguard Worker</correct> 94*7c568831SAndroid Build Coastguard Worker<xsl:for-each select="value[position() != 1]"> 95*7c568831SAndroid Build Coastguard Worker <xsl:call-template name="valid"/> 96*7c568831SAndroid Build Coastguard Worker</xsl:for-each> 97*7c568831SAndroid Build Coastguard Worker<xsl:for-each select="preceding-sibling::class/value|following-sibling::class/value"> 98*7c568831SAndroid Build Coastguard Worker <xsl:call-template name="invalid"/> 99*7c568831SAndroid Build Coastguard Worker</xsl:for-each> 100*7c568831SAndroid Build Coastguard Worker</testCase> 101*7c568831SAndroid Build Coastguard Worker</xsl:template> 102*7c568831SAndroid Build Coastguard Worker 103*7c568831SAndroid Build Coastguard Worker<xsl:template match="length"> 104*7c568831SAndroid Build Coastguard Worker<testCase> 105*7c568831SAndroid Build Coastguard Worker<correct> 106*7c568831SAndroid Build Coastguard Worker<element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" 107*7c568831SAndroid Build Coastguard Worker datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> 108*7c568831SAndroid Build Coastguard Worker <data type="{../@name}"> 109*7c568831SAndroid Build Coastguard Worker <param name="length"><xsl:value-of select="@value"/></param> 110*7c568831SAndroid Build Coastguard Worker </data> 111*7c568831SAndroid Build Coastguard Worker</element> 112*7c568831SAndroid Build Coastguard Worker</correct> 113*7c568831SAndroid Build Coastguard Worker<xsl:call-template name="valid"/> 114*7c568831SAndroid Build Coastguard Worker</testCase> 115*7c568831SAndroid Build Coastguard Worker 116*7c568831SAndroid Build Coastguard Worker<testCase> 117*7c568831SAndroid Build Coastguard Worker<correct> 118*7c568831SAndroid Build Coastguard Worker<element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" 119*7c568831SAndroid Build Coastguard Worker datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> 120*7c568831SAndroid Build Coastguard Worker <data type="{../@name}"> 121*7c568831SAndroid Build Coastguard Worker <param name="length"><xsl:value-of select="@value + 1"/></param> 122*7c568831SAndroid Build Coastguard Worker </data> 123*7c568831SAndroid Build Coastguard Worker</element> 124*7c568831SAndroid Build Coastguard Worker</correct> 125*7c568831SAndroid Build Coastguard Worker<xsl:call-template name="invalid"/> 126*7c568831SAndroid Build Coastguard Worker</testCase> 127*7c568831SAndroid Build Coastguard Worker 128*7c568831SAndroid Build Coastguard Worker<xsl:if test="@value != 0"> 129*7c568831SAndroid Build Coastguard Worker <testCase> 130*7c568831SAndroid Build Coastguard Worker <correct> 131*7c568831SAndroid Build Coastguard Worker <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" 132*7c568831SAndroid Build Coastguard Worker datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> 133*7c568831SAndroid Build Coastguard Worker <data type="{../@name}"> 134*7c568831SAndroid Build Coastguard Worker <param name="length"><xsl:value-of select="@value - 1"/></param> 135*7c568831SAndroid Build Coastguard Worker </data> 136*7c568831SAndroid Build Coastguard Worker </element> 137*7c568831SAndroid Build Coastguard Worker </correct> 138*7c568831SAndroid Build Coastguard Worker <xsl:call-template name="invalid"/> 139*7c568831SAndroid Build Coastguard Worker </testCase> 140*7c568831SAndroid Build Coastguard Worker</xsl:if> 141*7c568831SAndroid Build Coastguard Worker 142*7c568831SAndroid Build Coastguard Worker</xsl:template> 143*7c568831SAndroid Build Coastguard Worker 144*7c568831SAndroid Build Coastguard Worker<xsl:template match="lessThan"> 145*7c568831SAndroid Build Coastguard Worker<testCase> 146*7c568831SAndroid Build Coastguard Worker<correct> 147*7c568831SAndroid Build Coastguard Worker <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" 148*7c568831SAndroid Build Coastguard Worker datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> 149*7c568831SAndroid Build Coastguard Worker <data type="{../@name}"> 150*7c568831SAndroid Build Coastguard Worker <param name="minExclusive"> 151*7c568831SAndroid Build Coastguard Worker <xsl:value-of select="value[1]"/> 152*7c568831SAndroid Build Coastguard Worker </param> 153*7c568831SAndroid Build Coastguard Worker </data> 154*7c568831SAndroid Build Coastguard Worker </element> 155*7c568831SAndroid Build Coastguard Worker</correct> 156*7c568831SAndroid Build Coastguard Worker<valid> 157*7c568831SAndroid Build Coastguard Worker<doc> 158*7c568831SAndroid Build Coastguard Worker<xsl:value-of select="value[2]"/> 159*7c568831SAndroid Build Coastguard Worker</doc> 160*7c568831SAndroid Build Coastguard Worker</valid> 161*7c568831SAndroid Build Coastguard Worker<invalid> 162*7c568831SAndroid Build Coastguard Worker<doc> 163*7c568831SAndroid Build Coastguard Worker<xsl:value-of select="value[1]"/> 164*7c568831SAndroid Build Coastguard Worker</doc> 165*7c568831SAndroid Build Coastguard Worker</invalid> 166*7c568831SAndroid Build Coastguard Worker</testCase> 167*7c568831SAndroid Build Coastguard Worker<testCase> 168*7c568831SAndroid Build Coastguard Worker<correct> 169*7c568831SAndroid Build Coastguard Worker <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" 170*7c568831SAndroid Build Coastguard Worker datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> 171*7c568831SAndroid Build Coastguard Worker <data type="{../@name}"> 172*7c568831SAndroid Build Coastguard Worker <param name="minExclusive"> 173*7c568831SAndroid Build Coastguard Worker <xsl:value-of select="value[2]"/> 174*7c568831SAndroid Build Coastguard Worker </param> 175*7c568831SAndroid Build Coastguard Worker </data> 176*7c568831SAndroid Build Coastguard Worker </element> 177*7c568831SAndroid Build Coastguard Worker</correct> 178*7c568831SAndroid Build Coastguard Worker<invalid> 179*7c568831SAndroid Build Coastguard Worker<doc> 180*7c568831SAndroid Build Coastguard Worker<xsl:value-of select="value[1]"/> 181*7c568831SAndroid Build Coastguard Worker</doc> 182*7c568831SAndroid Build Coastguard Worker</invalid> 183*7c568831SAndroid Build Coastguard Worker<invalid> 184*7c568831SAndroid Build Coastguard Worker<doc> 185*7c568831SAndroid Build Coastguard Worker<xsl:value-of select="value[2]"/> 186*7c568831SAndroid Build Coastguard Worker</doc> 187*7c568831SAndroid Build Coastguard Worker</invalid> 188*7c568831SAndroid Build Coastguard Worker</testCase> 189*7c568831SAndroid Build Coastguard Worker</xsl:template> 190*7c568831SAndroid Build Coastguard Worker 191*7c568831SAndroid Build Coastguard Worker<xsl:template match="incomparable"> 192*7c568831SAndroid Build Coastguard Worker<testCase> 193*7c568831SAndroid Build Coastguard Worker<correct> 194*7c568831SAndroid Build Coastguard Worker <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" 195*7c568831SAndroid Build Coastguard Worker datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> 196*7c568831SAndroid Build Coastguard Worker <data type="{../@name}"> 197*7c568831SAndroid Build Coastguard Worker <param name="minExclusive"> 198*7c568831SAndroid Build Coastguard Worker <xsl:value-of select="value[1]"/> 199*7c568831SAndroid Build Coastguard Worker </param> 200*7c568831SAndroid Build Coastguard Worker </data> 201*7c568831SAndroid Build Coastguard Worker </element> 202*7c568831SAndroid Build Coastguard Worker</correct> 203*7c568831SAndroid Build Coastguard Worker<invalid> 204*7c568831SAndroid Build Coastguard Worker<doc> 205*7c568831SAndroid Build Coastguard Worker<xsl:value-of select="value[2]"/> 206*7c568831SAndroid Build Coastguard Worker</doc> 207*7c568831SAndroid Build Coastguard Worker</invalid> 208*7c568831SAndroid Build Coastguard Worker<invalid> 209*7c568831SAndroid Build Coastguard Worker<doc> 210*7c568831SAndroid Build Coastguard Worker<xsl:value-of select="value[1]"/> 211*7c568831SAndroid Build Coastguard Worker</doc> 212*7c568831SAndroid Build Coastguard Worker</invalid> 213*7c568831SAndroid Build Coastguard Worker</testCase> 214*7c568831SAndroid Build Coastguard Worker<testCase> 215*7c568831SAndroid Build Coastguard Worker<correct> 216*7c568831SAndroid Build Coastguard Worker <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" 217*7c568831SAndroid Build Coastguard Worker datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> 218*7c568831SAndroid Build Coastguard Worker <data type="{../@name}"> 219*7c568831SAndroid Build Coastguard Worker <param name="minExclusive"> 220*7c568831SAndroid Build Coastguard Worker <xsl:value-of select="value[2]"/> 221*7c568831SAndroid Build Coastguard Worker </param> 222*7c568831SAndroid Build Coastguard Worker </data> 223*7c568831SAndroid Build Coastguard Worker </element> 224*7c568831SAndroid Build Coastguard Worker</correct> 225*7c568831SAndroid Build Coastguard Worker<invalid> 226*7c568831SAndroid Build Coastguard Worker<doc> 227*7c568831SAndroid Build Coastguard Worker<xsl:value-of select="value[1]"/> 228*7c568831SAndroid Build Coastguard Worker</doc> 229*7c568831SAndroid Build Coastguard Worker</invalid> 230*7c568831SAndroid Build Coastguard Worker<invalid> 231*7c568831SAndroid Build Coastguard Worker<doc> 232*7c568831SAndroid Build Coastguard Worker<xsl:value-of select="value[2]"/> 233*7c568831SAndroid Build Coastguard Worker</doc> 234*7c568831SAndroid Build Coastguard Worker</invalid> 235*7c568831SAndroid Build Coastguard Worker</testCase> 236*7c568831SAndroid Build Coastguard Worker</xsl:template> 237*7c568831SAndroid Build Coastguard Worker 238*7c568831SAndroid Build Coastguard Worker</xsl:stylesheet> 239