<test-group xmlns="http://www.w3.org/2005/02/query-test-XQTSCatalog" name="StringJoinFunc" featureOwner="Frans Englich">
   <GroupInfo>
      <title>fn:string-join</title>
      <description/>
   </GroupInfo>
   <test-case is-XPath2="true" name="fn-string-join2args-1" FilePath="Functions/AllStringFunc/GeneralStringFunc/StringJoinFunc/" scenario="standard" Creator="Carmelo Montanez">
      <description>Evaluates the "string-join" function with the arguments set as follows: $arg1 = xs:string(lower bound) $arg2 = xs:string(lower bound).</description>
      <spec-citation spec="FuncOps" section-number="7.4.2" section-title="fn:string-join" section-pointer="func-string-join"/>
      <query name="fn-string-join2args-1" date="2004-12-13"/>
      <input-file role="principal-data" variable="input-context">emptydoc</input-file>
      <output-file role="principal" compare="Text">fn-string-join2args-1.txt</output-file>
   </test-case>
   <test-case is-XPath2="true" name="fn-string-join2args-2" FilePath="Functions/AllStringFunc/GeneralStringFunc/StringJoinFunc/" scenario="standard" Creator="Carmelo Montanez">
      <description>Evaluates the "string-join" function with the arguments set as follows: $arg1 = xs:string(mid range) $arg2 = xs:string(lower bound).</description>
      <spec-citation spec="FuncOps" section-number="7.4.2" section-title="fn:string-join" section-pointer="func-string-join"/>
      <query name="fn-string-join2args-2" date="2004-12-13"/>
      <input-file role="principal-data" variable="input-context">emptydoc</input-file>
      <output-file role="principal" compare="Text">fn-string-join2args-2.txt</output-file>
   </test-case>
   <test-case is-XPath2="true" name="fn-string-join2args-3" FilePath="Functions/AllStringFunc/GeneralStringFunc/StringJoinFunc/" scenario="standard" Creator="Carmelo Montanez">
      <description>Evaluates the "string-join" function with the arguments set as follows: $arg1 = xs:string(upper bound) $arg2 = xs:string(lower bound).</description>
      <spec-citation spec="FuncOps" section-number="7.4.2" section-title="fn:string-join" section-pointer="func-string-join"/>
      <query name="fn-string-join2args-3" date="2004-12-13"/>
      <input-file role="principal-data" variable="input-context">emptydoc</input-file>
      <output-file role="principal" compare="Text">fn-string-join2args-3.txt</output-file>
   </test-case>
   <test-case is-XPath2="true" name="fn-string-join2args-4" FilePath="Functions/AllStringFunc/GeneralStringFunc/StringJoinFunc/" scenario="standard" Creator="Carmelo Montanez">
      <description>Evaluates the "string-join" function with the arguments set as follows: $arg1 = xs:string(lower bound) $arg2 = xs:string(mid range).</description>
      <spec-citation spec="FuncOps" section-number="7.4.2" section-title="fn:string-join" section-pointer="func-string-join"/>
      <query name="fn-string-join2args-4" date="2004-12-13"/>
      <input-file role="principal-data" variable="input-context">emptydoc</input-file>
      <output-file role="principal" compare="Text">fn-string-join2args-4.txt</output-file>
   </test-case>
   <test-case is-XPath2="true" name="fn-string-join2args-5" FilePath="Functions/AllStringFunc/GeneralStringFunc/StringJoinFunc/" scenario="standard" Creator="Carmelo Montanez">
      <description>Evaluates the "string-join" function with the arguments set as follows: $arg1 = xs:string(lower bound) $arg2 = xs:string(upper bound).</description>
      <spec-citation spec="FuncOps" section-number="7.4.2" section-title="fn:string-join" section-pointer="func-string-join"/>
      <query name="fn-string-join2args-5" date="2004-12-13"/>
      <input-file role="principal-data" variable="input-context">emptydoc</input-file>
      <output-file role="principal" compare="Text">fn-string-join2args-5.txt</output-file>
   </test-case>
   <test-case is-XPath2="true" name="fn-string-join-1" FilePath="Functions/AllStringFunc/GeneralStringFunc/StringJoinFunc/" scenario="standard" Creator="Carmelo Montanez">
      <description>Evaluates the "string-join" function as per example 1 for this function in the FandO specs.</description>
      <spec-citation spec="FuncOps" section-number="7.4.2" section-title="fn:string-join" section-pointer="func-string-join"/>
      <query name="fn-string-join-1" date="2005-06-24"/>
      <input-file role="principal-data" variable="input-context">emptydoc</input-file>
      <output-file role="principal" compare="Text">fn-string-join-1.txt</output-file>
   </test-case>
   <test-case is-XPath2="true" name="fn-string-join-2" FilePath="Functions/AllStringFunc/GeneralStringFunc/StringJoinFunc/" scenario="standard" Creator="Carmelo Montanez">
      <description>Evaluates the "string-join" function as per example 2 for this function in the FandO specs.</description>
      <spec-citation spec="FuncOps" section-number="7.4.2" section-title="fn:string-join" section-pointer="func-string-join"/>
      <query name="fn-string-join-2" date="2005-06-24"/>
      <input-file role="principal-data" variable="input-context">emptydoc</input-file>
      <output-file role="principal" compare="Text">fn-string-join-2.txt</output-file>
   </test-case>
   <test-case is-XPath2="true" name="fn-string-join-3" FilePath="Functions/AllStringFunc/GeneralStringFunc/StringJoinFunc/" scenario="standard" Creator="Carmelo Montanez">
      <description>Evaluates the "string-join" function as per example 3 for this function in the FandO specs.</description>
      <spec-citation spec="FuncOps" section-number="7.4.2" section-title="fn:string-join" section-pointer="func-string-join"/>
      <query name="fn-string-join-3" date="2005-06-24"/>
      <input-file role="principal-data" variable="input-context">emptydoc</input-file>
      <output-file role="principal" compare="Text">fn-string-join-3.txt</output-file>
   </test-case>
   <test-case is-XPath2="true" name="fn-string-join-4" FilePath="Functions/AllStringFunc/GeneralStringFunc/StringJoinFunc/" scenario="standard" Creator="Carmelo Montanez">
      <description>Evaluates the "string-join" function with the arguments set as follows: $arg1 = () $arg2 = "". Use of fn:count to avoid empty file.</description>
      <spec-citation spec="FuncOps" section-number="7.4.2" section-title="fn:string-join" section-pointer="func-string-join"/>
      <query name="fn-string-join-4" date="2005-06-24"/>
      <input-file role="principal-data" variable="input-context">emptydoc</input-file>
      <output-file role="principal" compare="Text">fn-string-join-4.txt</output-file>
   </test-case>
   <test-case is-XPath2="true" name="fn-string-join-5" FilePath="Functions/AllStringFunc/GeneralStringFunc/StringJoinFunc/" scenario="standard" Creator="Carmelo Montanez">
      <description>Evaluates the "string-join" function with the arguments set as follows: $arg1 = "" $arg2 = "". Use of fn:count to avoid empty file.</description>
      <spec-citation spec="FuncOps" section-number="7.4.2" section-title="fn:string-join" section-pointer="func-string-join"/>
      <query name="fn-string-join-5" date="2005-06-24"/>
      <input-file role="principal-data" variable="input-context">emptydoc</input-file>
      <output-file role="principal" compare="Text">fn-string-join-5.txt</output-file>
   </test-case>
   <test-case is-XPath2="true" name="fn-string-join-6" FilePath="Functions/AllStringFunc/GeneralStringFunc/StringJoinFunc/" scenario="standard" Creator="Carmelo Montanez">
      <description>Evaluates the "string-join" function with the arguments set as follows: $arg1 = "" $arg2 = "A Character String". Use of fn:count to avoid empty file.</description>
      <spec-citation spec="FuncOps" section-number="7.4.2" section-title="fn:string-join" section-pointer="func-string-join"/>
      <query name="fn-string-join-6" date="2005-06-24"/>
      <input-file role="principal-data" variable="input-context">emptydoc</input-file>
      <output-file role="principal" compare="Text">fn-string-join-6.txt</output-file>
   </test-case>
   <test-case is-XPath2="true" name="fn-string-join-7" FilePath="Functions/AllStringFunc/GeneralStringFunc/StringJoinFunc/" scenario="standard" Creator="Carmelo Montanez">
      <description>Evaluates the "string-join" function with the arguments set as follows: $arg1 = () $arg2 = "A Character String". Use of fn:count to avoid empty file.</description>
      <spec-citation spec="FuncOps" section-number="7.4.2" section-title="fn:string-join" section-pointer="func-string-join"/>
      <query name="fn-string-join-7" date="2005-06-24"/>
      <input-file role="principal-data" variable="input-context">emptydoc</input-file>
      <output-file role="principal" compare="Text">fn-string-join-7.txt</output-file>
   </test-case>
   <test-case is-XPath2="true" name="fn-string-join-8" FilePath="Functions/AllStringFunc/GeneralStringFunc/StringJoinFunc/" scenario="standard" Creator="Carmelo Montanez">
      <description>Evaluates the "string-join" function with the arguments set as follows: $arg1 = "AAAAABBBBBCCCCC" $arg2 = "BBBBB".</description>
      <spec-citation spec="FuncOps" section-number="7.4.2" section-title="fn:string-join" section-pointer="func-string-join"/>
      <query name="fn-string-join-8" date="2005-06-24"/>
      <input-file role="principal-data" variable="input-context">emptydoc</input-file>
      <output-file role="principal" compare="Text">fn-string-join-8.txt</output-file>
   </test-case>
   <test-case is-XPath2="true" name="fn-string-join-9" FilePath="Functions/AllStringFunc/GeneralStringFunc/StringJoinFunc/" scenario="standard" Creator="Carmelo Montanez">
      <description>Evaluates the "string-join" function with the arguments set as follows: $arg1 = "AAAAABBBBB" $arg2 = " ".</description>
      <spec-citation spec="FuncOps" section-number="7.4.2" section-title="fn:string-join" section-pointer="func-string-join"/>
      <query name="fn-string-join-9" date="2005-06-24"/>
      <input-file role="principal-data" variable="input-context">emptydoc</input-file>
      <output-file role="principal" compare="Text">fn-string-join-9.txt</output-file>
   </test-case>
   <test-case is-XPath2="true" name="fn-string-join-10" FilePath="Functions/AllStringFunc/GeneralStringFunc/StringJoinFunc/" scenario="standard" Creator="Carmelo Montanez">
      <description>Evaluates the "string-join" function with the arguments set as follows: $arg1 = " " $arg2 = "AAAAABBBBB". Use of fn:count to avoid empty file.</description>
      <spec-citation spec="FuncOps" section-number="7.4.2" section-title="fn:string-join" section-pointer="func-string-join"/>
      <query name="fn-string-join-10" date="2005-06-24"/>
      <input-file role="principal-data" variable="input-context">emptydoc</input-file>
      <output-file role="principal" compare="Text">fn-string-join-10.txt</output-file>
   </test-case>
   <test-case is-XPath2="true" name="fn-string-join-11" FilePath="Functions/AllStringFunc/GeneralStringFunc/StringJoinFunc/" scenario="standard" Creator="Carmelo Montanez">
      <description>Evaluates the "string-join" function as an argument of another function (fn:not)- return true.</description>
      <spec-citation spec="FuncOps" section-number="7.4.2" section-title="fn:string-join" section-pointer="func-string-join"/>
      <query name="fn-string-join-11" date="2005-06-24"/>
      <input-file role="principal-data" variable="input-context">emptydoc</input-file>
      <output-file role="principal" compare="Text">fn-string-join-11.txt</output-file>
   </test-case>
   <test-case is-XPath2="true" name="fn-string-join-12" FilePath="Functions/AllStringFunc/GeneralStringFunc/StringJoinFunc/" scenario="standard" Creator="Carmelo Montanez">
      <description>Evaluates the "string-join" function as an argument of another function (fn:not) - return true.</description>
      <spec-citation spec="FuncOps" section-number="7.4.2" section-title="fn:string-join" section-pointer="func-string-join"/>
      <query name="fn-string-join-12" date="2005-06-24"/>
      <input-file role="principal-data" variable="input-context">emptydoc</input-file>
      <output-file role="principal" compare="Text">fn-string-join-12.txt</output-file>
   </test-case>
   <test-case is-XPath2="true" name="fn-string-join-13" FilePath="Functions/AllStringFunc/GeneralStringFunc/StringJoinFunc/" scenario="standard" Creator="Carmelo Montanez">
      <description>Evaluates the "string-join" function with the arguments set as follows: $arg1 = xs:string("A") $arg2 = "A".</description>
      <spec-citation spec="FuncOps" section-number="7.4.2" section-title="fn:string-join" section-pointer="func-string-join"/>
      <query name="fn-string-join-13" date="2005-06-24"/>
      <input-file role="principal-data" variable="input-context">emptydoc</input-file>
      <output-file role="principal" compare="Text">fn-string-join-13.txt</output-file>
   </test-case>
   <test-case is-XPath2="true" name="fn-string-join-14" FilePath="Functions/AllStringFunc/GeneralStringFunc/StringJoinFunc/" scenario="standard" Creator="Carmelo Montanez">
      <description>Evaluates the "string-join" function with the arguments set as follows: $arg1 = "A" $arg2 = xs:string("A").</description>
      <spec-citation spec="FuncOps" section-number="7.4.2" section-title="fn:string-join" section-pointer="func-string-join"/>
      <query name="fn-string-join-14" date="2005-06-24"/>
      <input-file role="principal-data" variable="input-context">emptydoc</input-file>
      <output-file role="principal" compare="Text">fn-string-join-14.txt</output-file>
   </test-case>
   <test-case is-XPath2="true" name="fn-string-join-15" FilePath="Functions/AllStringFunc/GeneralStringFunc/StringJoinFunc/" scenario="standard" Creator="Carmelo Montanez">
      <description>Evaluates the "string-join" function with the arguments set as follows: $arg1 = "A" $arg2 = "a".</description>
      <spec-citation spec="FuncOps" section-number="7.4.2" section-title="fn:string-join" section-pointer="func-string-join"/>
      <query name="fn-string-join-15" date="2005-06-24"/>
      <input-file role="principal-data" variable="input-context">emptydoc</input-file>
      <output-file role="principal" compare="Text">fn-string-join-15.txt</output-file>
   </test-case>
   <test-case is-XPath2="true" name="fn-string-join-16" FilePath="Functions/AllStringFunc/GeneralStringFunc/StringJoinFunc/" scenario="standard" Creator="Carmelo Montanez">
      <description>Evaluates the "string-join" function with the arguments set as follows: $arg1 = "a" $arg2 = "A".</description>
      <spec-citation spec="FuncOps" section-number="7.4.2" section-title="fn:string-join" section-pointer="func-string-join"/>
      <query name="fn-string-join-16" date="2005-06-24"/>
      <input-file role="principal-data" variable="input-context">emptydoc</input-file>
      <output-file role="principal" compare="Text">fn-string-join-16.txt</output-file>
   </test-case>
   <test-case is-XPath2="true" name="fn-string-join-17" FilePath="Functions/AllStringFunc/GeneralStringFunc/StringJoinFunc/" scenario="standard" Creator="Carmelo Montanez">
      <description>Evaluates the "string-join" function with the arguments set as follows: $arg1 = "string-join" $arg2 = "string-join".</description>
      <spec-citation spec="FuncOps" section-number="7.4.2" section-title="fn:string-join" section-pointer="func-string-join"/>
      <query name="fn-string-join-17" date="2005-06-24"/>
      <input-file role="principal-data" variable="input-context">emptydoc</input-file>
      <output-file role="principal" compare="Text">fn-string-join-17.txt</output-file>
   </test-case>
   <test-case is-XPath2="true" name="fn-string-join-18" FilePath="Functions/AllStringFunc/GeneralStringFunc/StringJoinFunc/" scenario="standard" Creator="Carmelo Montanez">
      <description>Evaluates the "string-join" function with the arguments set as follows: $arg1 = "string-joinstring-join" $arg2 = "string-join".</description>
      <spec-citation spec="FuncOps" section-number="7.4.2" section-title="fn:string-join" section-pointer="func-string-join"/>
      <query name="fn-string-join-18" date="2005-06-24"/>
      <input-file role="principal-data" variable="input-context">emptydoc</input-file>
      <output-file role="principal" compare="Text">fn-string-join-18.txt</output-file>
   </test-case>
   <test-case is-XPath2="true" name="fn-string-join-19" FilePath="Functions/AllStringFunc/GeneralStringFunc/StringJoinFunc/" scenario="standard" Creator="Carmelo Montanez">
      <description>Evaluates the "string-join" function with the arguments set as follows: $arg1 = "****" $arg2 = "***".</description>
      <spec-citation spec="FuncOps" section-number="7.4.2" section-title="fn:string-join" section-pointer="func-string-join"/>
      <query name="fn-string-join-19" date="2005-06-24"/>
      <input-file role="principal-data" variable="input-context">emptydoc</input-file>
      <output-file role="principal" compare="Text">fn-string-join-19.txt</output-file>
   </test-case>
   <test-case is-XPath2="true" name="fn-string-join-20" FilePath="Functions/AllStringFunc/GeneralStringFunc/StringJoinFunc/" scenario="standard" Creator="Carmelo Montanez">
      <description>Evaluates the "string-join" function using numbers as part of the string. Arguments set as follows: $arg1 = "12345" $arg2 = "1234".</description>
      <spec-citation spec="FuncOps" section-number="7.4.2" section-title="fn:string-join" section-pointer="func-string-join"/>
      <query name="fn-string-join-20" date="2005-06-24"/>
      <input-file role="principal-data" variable="input-context">emptydoc</input-file>
      <output-file role="principal" compare="Text">fn-string-join-20.txt</output-file>
   </test-case>
   <test-case is-XPath2="true" name="fn-string-join-21" FilePath="Functions/AllStringFunc/GeneralStringFunc/StringJoinFunc/" scenario="standard" Creator="Carmelo Montanez">
      <description>Evaluates the "string-join" function using "string-join" backwards. Arguments set as follows: $arg1 = "string-join" $arg2 = "nioj-gnirts".</description>
      <spec-citation spec="FuncOps" section-number="7.4.2" section-title="fn:string-join" section-pointer="func-string-join"/>
      <query name="fn-string-join-21" date="2005-06-24"/>
      <input-file role="principal-data" variable="input-context">emptydoc</input-file>
      <output-file role="principal" compare="Text">fn-string-join-21.txt</output-file>
   </test-case>
   <test-case is-XPath2="true" Creator="Frans Englich" name="K-StringJoinFunc-1" FilePath="Functions/AllStringFunc/GeneralStringFunc/StringJoinFunc/" scenario="runtime-error">
      <description>A test whose essence is: `string-join("a string")`.</description>
      <query name="K-StringJoinFunc-1" date="2007-11-26+01:00"/>
      <input-file role="principal-data" variable="input-context">emptydoc</input-file>
      <expected-error>XPST0017</expected-error>
   </test-case>
   <test-case is-XPath2="true" Creator="Frans Englich" name="K-StringJoinFunc-2" FilePath="Functions/AllStringFunc/GeneralStringFunc/StringJoinFunc/" scenario="runtime-error">
      <description>A test whose essence is: `string-join("a string", "a string", "wrong param")`.</description>
      <query name="K-StringJoinFunc-2" date="2007-11-26+01:00"/>
      <input-file role="principal-data" variable="input-context">emptydoc</input-file>
      <expected-error>XPST0017</expected-error>
   </test-case>
   <test-case is-XPath2="true" Creator="Frans Englich" name="K-StringJoinFunc-3" FilePath="Functions/AllStringFunc/GeneralStringFunc/StringJoinFunc/" scenario="standard">
      <description>A test whose essence is: `string-join(('Now', 'is', 'the', 'time', '...'), ' ') eq "Now is the time ..."`.</description>
      <query name="K-StringJoinFunc-3" date="2007-11-26+01:00"/>
      <input-file role="principal-data" variable="input-context">emptydoc</input-file>
      <output-file role="principal" compare="Text">K-StringJoinFunc-3.txt</output-file>
   </test-case>
   <test-case is-XPath2="true" Creator="Frans Englich" name="K-StringJoinFunc-4" FilePath="Functions/AllStringFunc/GeneralStringFunc/StringJoinFunc/" scenario="standard">
      <description>A test whose essence is: `string-join(("abc", "def"), "") eq "abcdef"`.</description>
      <query name="K-StringJoinFunc-4" date="2007-11-26+01:00"/>
      <input-file role="principal-data" variable="input-context">emptydoc</input-file>
      <output-file role="principal" compare="Text">K-StringJoinFunc-4.txt</output-file>
   </test-case>
   <test-case is-XPath2="true" Creator="Frans Englich" name="K-StringJoinFunc-5" FilePath="Functions/AllStringFunc/GeneralStringFunc/StringJoinFunc/" scenario="standard">
      <description>A test whose essence is: `string-join(('Blow, ', 'blow, ', 'thou ', 'winter ', 'wind!'), '') eq "Blow, blow, thou winter wind!"`.</description>
      <query name="K-StringJoinFunc-5" date="2007-11-26+01:00"/>
      <input-file role="principal-data" variable="input-context">emptydoc</input-file>
      <output-file role="principal" compare="Text">K-StringJoinFunc-5.txt</output-file>
   </test-case>
   <test-case is-XPath2="true" Creator="Frans Englich" name="K-StringJoinFunc-6" FilePath="Functions/AllStringFunc/GeneralStringFunc/StringJoinFunc/" scenario="standard">
      <description>A test whose essence is: `string-join((), 'separator') eq ""`.</description>
      <query name="K-StringJoinFunc-6" date="2007-11-26+01:00"/>
      <input-file role="principal-data" variable="input-context">emptydoc</input-file>
      <output-file role="principal" compare="Text">K-StringJoinFunc-6.txt</output-file>
   </test-case>
   <test-case is-XPath2="true" Creator="Frans Englich" name="K-StringJoinFunc-7" FilePath="Functions/AllStringFunc/GeneralStringFunc/StringJoinFunc/" scenario="runtime-error">
      <description>A test whose essence is: `string-join("a string", ())`.</description>
      <query name="K-StringJoinFunc-7" date="2007-11-26+01:00"/>
      <input-file role="principal-data" variable="input-context">emptydoc</input-file>
      <expected-error>XPTY0004</expected-error>
   </test-case>
</test-group>