Hi all, I've few questions as follows. There was a commit to Xalan-J's XSLT 3.0 development branch few minutes ago, for an implementation of XPath 3.1 function fn:random-number-generator.
I wish to write an XSL 3 test case for that, on Xalan-J's XSLT 3.0 development branch. I have following two XSLT stylesheets for this, along with the mentioned XSL stylesheet transformation results. 1) <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn0="http://fn0" exclude-result-prefixes="xs fn0" version="3.0"> <xsl:output method="xml" indent="yes"/> <xsl:template match="/"> <result> <xsl:variable name="rngFunc" select="random-number-generator()" as="map(xs:string, item())"/> <one><xsl:value-of select="$rngFunc?number"/></one> <two><xsl:value-of select="let $fn1 := $rngFunc?next, $fn2 := $fn1() return $fn2?number"/></two> <three><xsl:value-of select="let $fn1 := $rngFunc?permute return $fn1((1,2,3,4,5,6,7))"/></three> </result> </xsl:template> </xsl:stylesheet> XSL transformation result: <?xml version="1.0" encoding="UTF-8"?><result> <one>0.6085228890023606</one> <two>0.0834059172050203</two> <three>2 3 1 6 4 5 7</three> </result> 2) <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn0="http://fn0" exclude-result-prefixes="xs fn0" version="3.0"> <xsl:output method="xml" indent="yes"/> <xsl:template match="/"> <result> <xsl:variable name="rngFunc" select="random-number-generator()" as="map(xs:string, item())"/> <number><xsl:value-of select="$rngFunc?number"/></number> <xsl:variable name="seq1" select="(1,2,3,4,5,6,7)" as="xs:integer*"/> <sequence><xsl:value-of select="let $fn1 := $rngFunc?permute return $fn1($seq1)"/></sequence> <xsl:for-each select="1 to 3"> <number_and_sequence id="{.}"> <number><xsl:value-of select="let $fn1 := $rngFunc?next, $fn2 := $fn1() return $fn2?number"/></number> <sequence><xsl:value-of select="let $fn1 := $rngFunc?permute return $fn1($seq1)"/></sequence> </number_and_sequence> </xsl:for-each> </result> </xsl:template> </xsl:stylesheet> XSL transformation result: <?xml version="1.0" encoding="UTF-8"?><result> <number>0.6098714393771809</number> <sequence>7 5 2 3 6 1 4</sequence> <number_and_sequence id="1"> <number>0.0657944709157764</number> <sequence>3 7 4 1 2 6 5</sequence> </number_and_sequence> <number_and_sequence id="2"> <number>0.2284167574420906</number> <sequence>1 6 2 3 4 7 5</sequence> </number_and_sequence> <number_and_sequence id="3"> <number>0.7263336140028495</number> <sequence>5 7 3 6 2 4 1</sequence> </number_and_sequence> </result> How can we write JUnit test cases for these mentioned XSL transformation stylesheets, since these XSL transformation results produce numeric random values and permutations? Thanks in advance for any answers. -- Regards, Mukul Gandhi --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
