From: Oleg T. <he...@us...> - 2005-10-16 20:13:20
|
Update of /cvsroot/mvp-xml/EXSLT/v2/test/ExsltTest/tests/EXSLT/RegularExpressions In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14178/v2/test/ExsltTest/tests/EXSLT/RegularExpressions Added Files: match.xslt replace.xslt source.xml test.xslt Log Message: --- NEW FILE: test.xslt --- <?xml version="1.0" encoding="UTF-8" ?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:regexp="http://exslt.org/regular-expressions" exclude-result-prefixes="regexp"> <xsl:output indent="yes" omit-xml-declaration="yes"/> <xsl:template match="data"> <out> <test1> <xsl:if test="not(regexp:test(email/valid, '\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*'))">Email address is not valid.</xsl:if> </test1> <test2> <xsl:if test="not(regexp:test(email/invalid, '\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*'))">Email address is not valid.</xsl:if> </test2> <test3> <xsl:if test="not(regexp:test('', '\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*'))">Email address is not valid.</xsl:if> </test3> <test4> <xsl:if test="not(regexp:test(email/valid, ''))">Email address is not valid.</xsl:if> </test4> <test5> <xsl:if test="not(regexp:test(email/valid, '\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*', ''))">Email address is not valid.</xsl:if> </test5> <test6> <xsl:if test="not(regexp:test(email/valid, '\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*', 'dummy'))">Email address is not valid.</xsl:if> </test6> <test7> <xsl:if test="not(regexp:test(email/valid, '\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*', 'g'))">Email address is not valid.</xsl:if> </test7> <test8> <xsl:if test="regexp:test('FOO', 'foo', 'i')">Ok</xsl:if> </test8> <test9> <xsl:if test="regexp:test('FOO', 'foo')">Ok</xsl:if> </test9> </out> </xsl:template> </xsl:stylesheet> --- NEW FILE: replace.xslt --- <?xml version="1.0" encoding="UTF-8" ?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:regexp="http://exslt.org/regular-expressions" exclude-result-prefixes="regexp"> <xsl:output indent="yes" omit-xml-declaration="yes"/> <xsl:template match="data"> <out> <test1> <xsl:value-of select="regexp:replace(text, '<[^>]*>', 'g', '')"/> </test1> <test2> <xsl:value-of select="regexp:replace(text, '<[^>]*>', '', '')"/> </test2> <test3> <xsl:value-of select="regexp:replace('fooBar', 'BAR', 'i', 'Baz')"/> </test3> <test4> <xsl:value-of select="regexp:replace(/no/such/node, 'BAR', 'i', 'Baz')"/> </test4> </out> </xsl:template> </xsl:stylesheet> --- NEW FILE: source.xml --- <?xml version="1.0" encoding="utf-8"?> <?xml-stylesheet type="text/xsl" href="replace.xslt"?> <data> <email> <valid>jo...@mi...</valid> <invalid>foo@bar</invalid> </email> <entry>22/12/2003 21:00 AcmeService DB updated</entry> <text><![CDATA[<b>Bold</b> and <i>italics</i> aren't allowed here.]]></text> </data> --- NEW FILE: match.xslt --- <?xml version="1.0" encoding="UTF-8" ?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:regexp="http://exslt.org/regular-expressions" exclude-result-prefixes="regexp"> <xsl:output indent="yes" omit-xml-declaration="yes"/> <xsl:template match="data"> <out> <test1> <xsl:for-each select="regexp:match('http://www.bayes.co.uk/xml/index.xml?/xml/utils/rechecker.xml', '(\w+):\/\/([^/:]+)(:\d*)?([^# ]*)')"> Part <xsl:value-of select="position()" /> = <xsl:value-of select="." /> </xsl:for-each> </test1> <test2> <xsl:for-each select="regexp:match('This is a test string', '(\w+)', 'g')"> Part <xsl:value-of select="position()" /> = <xsl:value-of select="." /> </xsl:for-each> </test2> <test3> <xsl:for-each select="regexp:match('This is a test string', '([a-z])+ ', 'g')"> Part <xsl:value-of select="position()" /> = <xsl:value-of select="." /> </xsl:for-each> </test3> <test4> <xsl:for-each select="regexp:match('This is a test string', '([a-z])+ ', 'gi')"> Part <xsl:value-of select="position()" /> = <xsl:value-of select="." /> </xsl:for-each> </test4> <test5> <xsl:variable name="tokens" select="regexp:match(entry, '(\d{1,2}/\d{1,2}/\d{4})\s+(\d{2}:\d{2})\s+(\w*)\s+(.*)')"/> <entry date="{$tokens[2]}" time="{$tokens[3]}" application="{$tokens[4]}" message="{$tokens[5]}"/> </test5> </out> </xsl:template> </xsl:stylesheet> |