diff --git a/tests/src/xinclude/harness.pl b/tests/src/xinclude/harness.pl new file mode 100644 index 0000000000000000000000000000000000000000..47df625966c8fa4060e41ea6d52f658283ff608e --- /dev/null +++ b/tests/src/xinclude/harness.pl @@ -0,0 +1,223 @@ +#use strict; + +# usage perl harness.pl [testNum] +# where testNum is an integer from 1 to 41 +# testNum may also be a list of integers denoting tests to be run +# ommitting testNum will lead to all tests being run +# +# this harness outputs the results to the file results.html as well +# as reporting them to stderr. +# +# note that the XInclude sample application must be discoverable on +# the current PATH. + +# +# Find out the platform from 'uname -s' +# +open(PLATFORM, "uname -s|"); +$platform = <PLATFORM>; +chomp($platform); +close (PLATFORM); + +if ($platform =~ m/Windows/i || $platform =~ m/CYGWIN/i) { + $pathsep = "\\"; +} +else { + $pathsep = "/"; +} + +@CORRECT_TEST_RESULTS = ( + -3, + 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, + 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, + 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, + 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, + 1 +); + +# private static boolean[] TEST_RESULTS = new boolean[] { +# // one value for each test +# true, true, true, true, true, true, false, true, false, true, // 10 +# false, false, false, false, true, true, true, false, true, true, // 20 +# true, false, true, false, false, false, true, true, false, true, // 30 +# true, false, true, true, true, true, true, true, false, false, // 40 +# true, }; + +#no need to add one to this value since there is a dummy value in the tables +$NUM_TESTS = $#CORRECT_TEST_RESULTS; + +@ACTUAL_TEST_RESULTS = ( + -3, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1 +); + +print "Running XInclude Tests\n"; + +$dateAndTime = localtime(); + +open(outfile, ">results.html"); +print outfile "<html><head><title>XInclude results generated at $dateAndTime </title>"; +print outfile "</head><body bgcolor=\"black\" text=\"white\"><center>"; + +print outfile "<table border cellspacing=\"0\" cellpadding=\"5\"><caption align=\"bottom\">Results of XI Test Run</caption>"; +print outfile "<tr><th>Test Number</th><th>Test Input File</th><th>Generated Output File</th>"; +print outfile "<th>Reference Result File</th><th>Result</th><th>Expected Result</th><th>Test Status</th></tr>"; + +$successes = 0; +$correct = 0; +$numTestsToRun = $#ARGV + 1; +while (<@ARGV>){ + $i = $_; + if ($i < 10) { + $testNum = "0$i"; + } else { + $testNum = "$i"; + } + $input_file = "tests".$pathsep."xinclude".$pathsep."tests".$pathsep."test$testNum.xml"; + if ($CORRECT_TEST_RESULTS[$i] == 1) { + $output_file = "tests".$pathsep."xinclude".$pathsep."written".$pathsep."test$testNum.xml"; + $expected_result_file = "tests".$pathsep."xinclude".$pathsep."cppoutput".$pathsep."test$testNum.xml"; + } else { + $output_file = "tests".$pathsep."xinclude".$pathsep."written".$pathsep."test$testNum.txt"; + $expected_result_file = "tests".$pathsep."xinclude".$pathsep."cppoutput".$pathsep."test$testNum.txt"; + } + + # run the tests and apture the output + $command = "XInclude $input_file $output_file"; + print "R[$command]\n"; + system("$command"); + + $ACTUAL_TEST_RESULTS[$i] = &compareFiles($expected_result_file, $output_file); + + print outfile "<tr bgcolor="; + if ($ACTUAL_TEST_RESULTS[$i] eq $CORRECT_TEST_RESULTS[$i]) { + print outfile "green"; + } else { + print outfile "red"; + } + + print outfile ">"; + #test number + print outfile "<td>$testNum</td>"; + print outfile "<td>"; + $anchor = &createHTMLAnchor("$input_file"); + print outfile "$anchor"; + print outfile "</td><td>"; + $anchor = &createHTMLAnchor("$output_file"); + print outfile "$anchor"; + print outfile "</td><td>"; + $anchor = &createHTMLAnchor("$expected_result_file"); + print outfile "$anchor"; + print outfile "</td>"; + # actual result + $result = (($ACTUAL_TEST_RESULTS[$i])?"true":"false"); + print outfile "<td>$result</td>"; + if($ACTUAL_TEST_RESULTS[$i]) { + $successes++; + } + + # correct result + $result = (($CORRECT_TEST_RESULTS[$i])?"true":"false"); + print outfile "<td>$result</td>"; + + if ($ACTUAL_TEST_RESULTS[$i] eq $CORRECT_TEST_RESULTS[$i]) { + $result = "Passed"; + print "[test $testNum PASSED]\n"; + $correct++; + } else { + $result = "Failed"; + print "[test $testNum FAILED]\n"; + } + print outfile "<td>$result</td></tr>"; +} + +print outfile "</table>"; + +print "Tests Passed: $correct\n"; +$percentSucceeding = $correct / $numTestsToRun * 100.0; +print outfile "<hr/><h2>$percentSucceeding% of tests that were run passed ($correct out of $numTestsToRun).</h2>"; + +$shPass = 0; +$shFail = 0; +for ($i = 1; $i < $NUM_TESTS+1; $i++){ + if ($CORRECT_TEST_RESULTS[$i]){ + $shPass++; + } else { + $shFail++; + } +} + +print outfile "<h2>$shPass should pass ($successes) did</h2>"; +$failures = $NUM_TESTS - $successes; +print outfile "<h2>$shFail should fail ($failures) did</h2>"; + +$percentSucceeding = $correct / $NUM_TESTS * 100.0; +print outfile "<h2>$percentSucceeding% of all available tests passed ($correct out of $NUM_TESTS).</h2>"; + +$percentSucceeding = $numTestsToRun / $NUM_TESTS * 100.0; +print outfile "<h2>$percentSucceeding% of all available tests were run ($numTestsToRun out of $NUM_TESTS).</h2>"; + +print outfile "</center><hr/></body></html>"; +close(outfile); + +# quick and dirty but functional +sub compareFiles +{ + $result = 1; + print "C[$_[0]]:[$_[1]]\n"; + + if (! -e $_[0]) { + print "No such file as $_[0] - cannot compare\n"; + return 0; + } + + if (! -e $_[1]) { + print "No such file as $_[1] - cannot compare\n"; + return 0; + } + + open(expected, "<$_[0]"); + open(actual, "<$_[1]"); + + #compare the files + @expectedData = <expected>; + @actualData = <actual>; + + close(expected); + close(actual); + + for ($x = 0, $a = 0; $x < $#expectedData && $a < $#actualData; $x++, $a++){ + $dataLineEx = $expectedData[$x]; + $dataLineAc = $actualData[$a]; + chomp($dataLineEx); + chomp($dataLineAc); + if ($dataLineEx ne $dataLineAc) { + # check if its a warning and can be ignored at this stage + if ($dataLineEx =~ /Warning/) { + print "probably just a warning line:\n"; + print "[$dataLineEx]\n"; + $a-- + } elsif ( $dataLineEx =~ m/^\s*$/ && $dataLineAc =~ m/^\s*$/ ) { + $line_num = $x + 1; + print "Line $line_num ws difference: \n[$dataLineEx] != \n[$dataLineAc]\n"; + print "probably just white space on both lines\n"; + $a-- + } else { + $line_num = $x + 1; + print "Line $line_num difference: \n[$dataLineEx] != \n[$dataLineAc]\n"; + print "From files: $_[0] $_[1]\n"; + return 0; + } + } + } + + return 1; +} + +sub createHTMLAnchor { + "<a target=\"_blank\" href=\"$_[0]\">$_[0]</a>"; +} diff --git a/tests/src/xinclude/run.bat b/tests/src/xinclude/run.bat new file mode 100644 index 0000000000000000000000000000000000000000..524e02c1671723273f63ba5c1a8a4b40b2a480a5 --- /dev/null +++ b/tests/src/xinclude/run.bat @@ -0,0 +1,14 @@ +set PATH=../../../samples;%PATH% + +rem not running / current failures +rem 1 7 9 11 12 13 14 18 19 21 22 23 29 32 34 35 36 37 38 39 40 41 +del /Q tests\xinclude\written\* + +if %1. NEQ . goto USEARGS + +perl harness.pl 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 + +goto END +:USEARGS +perl harness.pl %1 %2 %3 %4 %5 %6 %7 %8 %9 +:END diff --git a/tests/src/xinclude/tests/xinclude/cppoutput/readme.txt b/tests/src/xinclude/tests/xinclude/cppoutput/readme.txt new file mode 100644 index 0000000000000000000000000000000000000000..1071a89255f489df5d0dcf16a3983cb1d2c2df1e --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/cppoutput/readme.txt @@ -0,0 +1,14 @@ +The following changes are made to the java xinclude test output files; + +1) [ standalone="no" ] is added to the XML Declaration in each file. + +2) Attributes on the included top level include element are reordered +alphabetically as this is the xerces c++ behaviour! + +3) Removed a space from after the xml declaration and before the first +document element (thats a single space btw). + +4) xerces c++ parser's don't expand quotation entities to ". Java does. Investigate! + +5) added xmlns:xml="http://www.w3.org/XML/1998/namespace" attribute to appropriate top level elements + diff --git a/tests/src/xinclude/tests/xinclude/cppoutput/test01.xml b/tests/src/xinclude/tests/xinclude/cppoutput/test01.xml new file mode 100644 index 0000000000000000000000000000000000000000..ff1e7edf44d4dbcfa4d0babbd135bba5d5fb577b --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/cppoutput/test01.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?><!-- This test doesn't test anything in particular. But it is an example of a + somewhat complicated setup. --><xit:myRoot xmlns:xit="http://www.schemaTest.org/xinclude-test" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + [Warning] test01.xml:8:87 + + [Warning] test01.xml:11:47 + + <child1 name="kid1" xmlns:test01="http://www.test.org/test02" xmlns:test02="http://www.test.org/TEST02"><desc>Text1</desc></child1> + + + [Warning] test01.xml:22:45 + + <child2 name="kid2"><desc>Text2</desc></child2> + + + <!-- this tests a valid include --> + <!-- tests that files included from other directories work -->[Warning] include09.xml:3:69 +<child3 xmlns="" name="kid3" xml:base="../included/dir/include09.xml"><desc>Text3</desc></child3> + + <!-- this tests that idrefs still work when an ID from an included file is used --> + <select name="kid3"/> + + <!-- this tests when an included file has a DTD, but the base file doesn't --> + <view sun="image" xml:base="../included/unparsed.xml"/> +</xit:myRoot> diff --git a/tests/src/xinclude/tests/xinclude/cppoutput/test02.xml b/tests/src/xinclude/tests/xinclude/cppoutput/test02.xml new file mode 100644 index 0000000000000000000000000000000000000000..1a926adc28afe0ec78f9079a5ed5ed645fc4a962 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/cppoutput/test02.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?><x xmlns="http://www.schemaTest.org/xinclude-test" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- tests that attributes from other namespaces on xi:include elements are ignored --> + <elem xml:base="../included/elem.xml" xmlns="http://www.schemaTest.org/xinclude-test"/> +</x> diff --git a/tests/src/xinclude/tests/xinclude/cppoutput/test03.xml b/tests/src/xinclude/tests/xinclude/cppoutput/test03.xml new file mode 100644 index 0000000000000000000000000000000000000000..06bd4c6aa7fb69b1ec8f5d0549b612217915116c --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/cppoutput/test03.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?><x xmlns="http://www.schemaTest.org/xinclude-test" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- tests that attributes from the XInclude namespace are ignored --> + <elem xml:base="../included/elem.xml" xmlns="http://www.schemaTest.org/xinclude-test"/> +</x> diff --git a/tests/src/xinclude/tests/xinclude/cppoutput/test04.xml b/tests/src/xinclude/tests/xinclude/cppoutput/test04.xml new file mode 100644 index 0000000000000000000000000000000000000000..b3de003c9d77049ac98cbb587364c121b34643fb --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/cppoutput/test04.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?><x xmlns="http://www.schemaTest.org/xinclude-test" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- thats that parse="xml" works --> + <elem xml:base="../included/elem.xml" xmlns="http://www.schemaTest.org/xinclude-test"/> +</x> diff --git a/tests/src/xinclude/tests/xinclude/cppoutput/test05.xml b/tests/src/xinclude/tests/xinclude/cppoutput/test05.xml new file mode 100644 index 0000000000000000000000000000000000000000..034b8c9565f2124445997a481fdb40caf138b9f6 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/cppoutput/test05.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?><x xmlns="http://www.schemaTest.org/xinclude-test" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- tests that parse="text" works --> + blah blah blah +</x> diff --git a/tests/src/xinclude/tests/xinclude/cppoutput/test06.xml b/tests/src/xinclude/tests/xinclude/cppoutput/test06.xml new file mode 100644 index 0000000000000000000000000000000000000000..9e08751c91f6075e972c1e1a84933afc862b86ec --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/cppoutput/test06.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?><x xmlns="http://www.schemaTest.org/xinclude-test" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- tests that parse="xml" is the default --> + <elem xml:base="../included/elem.xml" xmlns="http://www.schemaTest.org/xinclude-test"/> +</x> diff --git a/tests/src/xinclude/tests/xinclude/cppoutput/test07.txt b/tests/src/xinclude/tests/xinclude/cppoutput/test07.txt new file mode 100644 index 0000000000000000000000000000000000000000..6310cd9a461c80076bda7fdac2cc6ec8c63621e1 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/cppoutput/test07.txt @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<x xmlns="http://www.schemaTest.org/xinclude-test" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- tests that values for parse other than "xml" or "text" are invalid --> + <!-- EXPECT FAILURE --> + [Fatal Error] test07.xml:9:45 diff --git a/tests/src/xinclude/tests/xinclude/cppoutput/test08.xml b/tests/src/xinclude/tests/xinclude/cppoutput/test08.xml new file mode 100644 index 0000000000000000000000000000000000000000..87100f59b26c5350881dadfa65583b924061adcc --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/cppoutput/test08.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?><x xmlns="http://www.schemaTest.org/xinclude-test" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- tests that 0 fallbacks is not a failure when the include is successful --> + <elem xml:base="../included/elem.xml" xmlns="http://www.schemaTest.org/xinclude-test"/> +</x> diff --git a/tests/src/xinclude/tests/xinclude/cppoutput/test09.txt b/tests/src/xinclude/tests/xinclude/cppoutput/test09.txt new file mode 100644 index 0000000000000000000000000000000000000000..5a0982be4c10674d0909a5f786d7a9cecd1a922a --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/cppoutput/test09.txt @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<x xmlns="http://www.schemaTest.org/xinclude-test" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- tests that 0 fallbacks is a failure when the include is unsuccessful --> + <!-- EXPECT FAILURE --> + [Warning] test09.xml:9:48 +[Fatal Error] test09.xml:9:48 diff --git a/tests/src/xinclude/tests/xinclude/cppoutput/test10.xml b/tests/src/xinclude/tests/xinclude/cppoutput/test10.xml new file mode 100644 index 0000000000000000000000000000000000000000..411b5482c006cc7a89916daa7f91b6c36d514d7a --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/cppoutput/test10.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?><x xmlns="http://www.schemaTest.org/xinclude-test" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- tests that a fallback is used when the include is unsuccessful --> + <elem xml:base="../included/elem.xml" xmlns="http://www.schemaTest.org/xinclude-test"/> +</x> diff --git a/tests/src/xinclude/tests/xinclude/cppoutput/test11.txt b/tests/src/xinclude/tests/xinclude/cppoutput/test11.txt new file mode 100644 index 0000000000000000000000000000000000000000..89c9d410b902c4620850c639948e39972bda9f27 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/cppoutput/test11.txt @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<x xmlns="http://www.schemaTest.org/xinclude-test" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- tests that 2 fallbacks cause a failure when the include is successful --> + <!-- EXPECT FAILURE --> + <elem xmlns="http://www.schemaTest.org/xinclude-test" xml:base="../included/elem.xml"/>[Fatal Error] test11.xml:11:22 diff --git a/tests/src/xinclude/tests/xinclude/cppoutput/test12.txt b/tests/src/xinclude/tests/xinclude/cppoutput/test12.txt new file mode 100644 index 0000000000000000000000000000000000000000..34ed37524d56a854735ec8badbcc29d25a2511f4 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/cppoutput/test12.txt @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<x xmlns="http://www.schemaTest.org/xinclude-test" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- tests that 2 fallbacks cause a failure when the include is unsuccessful --> + <!-- EXPECT FAILURE --> + [Warning] test12.xml:9:47 +[Fatal Error] test12.xml:11:22 diff --git a/tests/src/xinclude/tests/xinclude/cppoutput/test13.txt b/tests/src/xinclude/tests/xinclude/cppoutput/test13.txt new file mode 100644 index 0000000000000000000000000000000000000000..145d37a59084d0d409d89bf8f7cf039028350cc7 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/cppoutput/test13.txt @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<x xmlns="http://www.schemaTest.org/xinclude-test" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- tests that other elements from xi namespace are not allowed when include is successful --> + <!-- EXPECT FAILURE --> + <elem xmlns="http://www.schemaTest.org/xinclude-test" xml:base="../included/elem.xml"/>[Fatal Error] test13.xml:10:19 diff --git a/tests/src/xinclude/tests/xinclude/cppoutput/test14.txt b/tests/src/xinclude/tests/xinclude/cppoutput/test14.txt new file mode 100644 index 0000000000000000000000000000000000000000..f582a37f09a2bf7dcf6e9cf348a2010ab4181982 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/cppoutput/test14.txt @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<x xmlns="http://www.schemaTest.org/xinclude-test" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- tests that other elements from xi namespace are not allowed when include is not successful --> + <!-- EXPECT FAILURE --> + [Warning] test14.xml:9:47 +[Fatal Error] test14.xml:10:19 diff --git a/tests/src/xinclude/tests/xinclude/cppoutput/test15.xml b/tests/src/xinclude/tests/xinclude/cppoutput/test15.xml new file mode 100644 index 0000000000000000000000000000000000000000..374d267c4246898ffd0f775052b14ad78089837f --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/cppoutput/test15.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?><x xmlns="http://www.schemaTest.org/xinclude-test" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- test that parser can be reused --> + <elem xml:base="../included/elem.xml" xmlns="http://www.schemaTest.org/xinclude-test"/> + <elem xml:base="../included/elem.xml" xmlns="http://www.schemaTest.org/xinclude-test"/> + <elem xml:base="../included/elem.xml" xmlns="http://www.schemaTest.org/xinclude-test"/> +</x> diff --git a/tests/src/xinclude/tests/xinclude/cppoutput/test16.xml b/tests/src/xinclude/tests/xinclude/cppoutput/test16.xml new file mode 100644 index 0000000000000000000000000000000000000000..f9946f12af29b15cea529f8f8cf18d01961bb119 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/cppoutput/test16.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?><x xmlns="http://www.schemaTest.org/xinclude-test" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- included file includes another file --> + <elem xml:base="../included/elem.xml" xmlns="http://www.schemaTest.org/xinclude-test"/> +</x> diff --git a/tests/src/xinclude/tests/xinclude/cppoutput/test17.xml b/tests/src/xinclude/tests/xinclude/cppoutput/test17.xml new file mode 100644 index 0000000000000000000000000000000000000000..07bb59beac995f0f4a9db45748b120fa586b0991 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/cppoutput/test17.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?><x xmlns="http://www.schemaTest.org/xinclude-test" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- test that empty fallback is valid --> + <elem xml:base="../included/elem.xml" xmlns="http://www.schemaTest.org/xinclude-test"/> +</x> diff --git a/tests/src/xinclude/tests/xinclude/cppoutput/test18.txt b/tests/src/xinclude/tests/xinclude/cppoutput/test18.txt new file mode 100644 index 0000000000000000000000000000000000000000..341262392142bcb745529a7e2631ac2332b5d751 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/cppoutput/test18.txt @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<x xmlns="http://www.schemaTest.org/xinclude-test" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- tests that fallback must be child of include --> + <!-- EXPECT FAILURE --> + [Fatal Error] test18.xml:8:18 diff --git a/tests/src/xinclude/tests/xinclude/cppoutput/test19.xml b/tests/src/xinclude/tests/xinclude/cppoutput/test19.xml new file mode 100644 index 0000000000000000000000000000000000000000..2710e35e86b4b529f2ee2f31f7172bbc3de1e6f6 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/cppoutput/test19.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?><x xmlns="http://www.schemaTest.org/xinclude-test" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- test including XML as text --> + <?xml version="1.0"?> +<elem xmlns="http://www.schemaTest.org/xinclude-test"/> +</x> diff --git a/tests/src/xinclude/tests/xinclude/cppoutput/test20.xml b/tests/src/xinclude/tests/xinclude/cppoutput/test20.xml new file mode 100644 index 0000000000000000000000000000000000000000..c133c4555e68906aa94c08327e15a68b59ff1e29 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/cppoutput/test20.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?><x xmlns="http://www.schemaTest.org/xinclude-test" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- test including file with different MIME-type as XML --> + <elem xml:base="../included/elem.jpg" xmlns="http://www.schemaTest.org/xinclude-test"/> +</x> diff --git a/tests/src/xinclude/tests/xinclude/cppoutput/test21.xml b/tests/src/xinclude/tests/xinclude/cppoutput/test21.xml new file mode 100644 index 0000000000000000000000000000000000000000..5ef01d161f97ec08a2a0561cbe4affcd6535ba53 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/cppoutput/test21.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?><x xmlns="http://www.schemaTest.org/xinclude-test" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- test including file with different MIME-type as text --> + <?xml version="1.0"?> +<elem xmlns="http://www.schemaTest.org/xinclude-test"/> +</x> diff --git a/tests/src/xinclude/tests/xinclude/cppoutput/test22.txt b/tests/src/xinclude/tests/xinclude/cppoutput/test22.txt new file mode 100644 index 0000000000000000000000000000000000000000..854e7f9d8034869aaa1b6dd684e664203038b598 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/cppoutput/test22.txt @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<x xmlns="http://www.schemaTest.org/xinclude-test" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- include not well formed XML --> + <!-- EXPECT FAILURE --> + [Fatal Error] not-well-formed.xml:1:10 +[Fatal Error] test22.xml:9:56 diff --git a/tests/src/xinclude/tests/xinclude/cppoutput/test23.xml b/tests/src/xinclude/tests/xinclude/cppoutput/test23.xml new file mode 100644 index 0000000000000000000000000000000000000000..6bc629cf2579ec2042fc903a7e228b0f3c3acd13 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/cppoutput/test23.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?><x xmlns="http://www.schemaTest.org/xinclude-test" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- including the same document, but as text --> + <?xml version="1.0"?> +<x xmlns="http://www.schemaTest.org/xinclude-test" + xmlns:xi="http://www.w3.org/2001/XInclude" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- test that including the same document fails --> + <!-- EXPECT FAILURE --> + <xi:include parse="xml" + href="test24.xml"/> +</x> + +</x> diff --git a/tests/src/xinclude/tests/xinclude/cppoutput/test24.txt b/tests/src/xinclude/tests/xinclude/cppoutput/test24.txt new file mode 100644 index 0000000000000000000000000000000000000000..9b6b8ed5d541b69c805abb549935c410b4dbe4ae --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/cppoutput/test24.txt @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<x xmlns="http://www.schemaTest.org/xinclude-test" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- test that including the same document fails --> + <!-- EXPECT FAILURE --> + [Fatal Error] test24.xml:1:1 +[Fatal Error] test24.xml:9:35 diff --git a/tests/src/xinclude/tests/xinclude/cppoutput/test25.txt b/tests/src/xinclude/tests/xinclude/cppoutput/test25.txt new file mode 100644 index 0000000000000000000000000000000000000000..aff93aaa3d73a0e0f687df205709856f7650df62 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/cppoutput/test25.txt @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<x xmlns="http://www.schemaTest.org/xinclude-test" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- test including a resource that isn't there, when parse="xml" --> + <!-- EXPECT FAILURE --> + [Warning] test25.xml:9:48 +[Fatal Error] test25.xml:9:48 diff --git a/tests/src/xinclude/tests/xinclude/cppoutput/test26.txt b/tests/src/xinclude/tests/xinclude/cppoutput/test26.txt new file mode 100644 index 0000000000000000000000000000000000000000..a4e9a542b5d9ff9e3decdd434f75f61fbe27dd10 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/cppoutput/test26.txt @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<x xmlns="http://www.schemaTest.org/xinclude-test" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- test including a resource that isn't there, when parse="text" --> + <!-- EXPECT FAILURE --> + [Warning] test26.xml:9:48 +[Fatal Error] test26.xml:9:48 diff --git a/tests/src/xinclude/tests/xinclude/cppoutput/test27.xml b/tests/src/xinclude/tests/xinclude/cppoutput/test27.xml new file mode 100644 index 0000000000000000000000000000000000000000..0d33f170b79a60949c80d57d757e0e77fb779c86 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/cppoutput/test27.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?><x xmlns="http://www.schemaTest.org/xinclude-test" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <elem bar="xjpg"/> + <!-- test including a document with a non-conflicting notation --> + <elem bar="jpg" xml:base="../included/not.xml" xmlns="http://www.schemaTest.org/xinclude-test"/> +</x> diff --git a/tests/src/xinclude/tests/xinclude/cppoutput/test28.xml b/tests/src/xinclude/tests/xinclude/cppoutput/test28.xml new file mode 100644 index 0000000000000000000000000000000000000000..5b93b1300cc81b38a0495777bab95cfe75034a60 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/cppoutput/test28.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?><x xmlns="http://www.schemaTest.org/xinclude-test" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <elem bar="jpg"/> + <!-- test including a document with a duplicate notation --> + <elem bar="jpg" xml:base="../included/not.xml" xmlns="http://www.schemaTest.org/xinclude-test"/> +</x> diff --git a/tests/src/xinclude/tests/xinclude/cppoutput/test29.txt b/tests/src/xinclude/tests/xinclude/cppoutput/test29.txt new file mode 100644 index 0000000000000000000000000000000000000000..d966f29dea51bab98b8f179a7ca71761e9eb2bcc --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/cppoutput/test29.txt @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<x xmlns="http://www.schemaTest.org/xinclude-test" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <elem bar="jpg"/> + <!-- test including a document with a conflicting notation --> + <!-- EXPECT FAILURE --> + [Fatal Error] not2.xml:12:56 +[Fatal Error] test29.xml:11:45 diff --git a/tests/src/xinclude/tests/xinclude/cppoutput/test30.xml b/tests/src/xinclude/tests/xinclude/cppoutput/test30.xml new file mode 100644 index 0000000000000000000000000000000000000000..3cb6b389dff066c3937bd87ca87e994085eaab4a --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/cppoutput/test30.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?><x xmlns="http://www.schemaTest.org/xinclude-test" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- including document with non-conflicting unparsed entity --> + <elem foo="ximage"/> + <elem foo="image" xml:base="../included/ue.xml" xmlns="http://www.schemaTest.org/xinclude-test"/> +</x> diff --git a/tests/src/xinclude/tests/xinclude/cppoutput/test31.xml b/tests/src/xinclude/tests/xinclude/cppoutput/test31.xml new file mode 100644 index 0000000000000000000000000000000000000000..bd28c69c8c104e7adf3b16aa5fcb526307c37b43 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/cppoutput/test31.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?><x xmlns="http://www.schemaTest.org/xinclude-test" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- including document with duplicate unparsed entity --> + <elem foo="image"/> + <elem foo="image" xml:base="../included/ue.xml" xmlns="http://www.schemaTest.org/xinclude-test"/> +</x> diff --git a/tests/src/xinclude/tests/xinclude/cppoutput/test32.txt b/tests/src/xinclude/tests/xinclude/cppoutput/test32.txt new file mode 100644 index 0000000000000000000000000000000000000000..315b97d1589bde98430c1ab5648e4f25ad897bdb --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/cppoutput/test32.txt @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<x xmlns="http://www.schemaTest.org/xinclude-test" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- test including document with conflicting unparsed entity --> + <!-- Note: this actually fails because of the conflicting notation; I'm not + sure how to make a conflicting unparsed entity without having a conflicting + notation --> + <!-- EXPECT FAILURE --> + <elem foo="image"/> + [Fatal Error] ue2.xml:12:56 +[Fatal Error] test32.xml:14:44 diff --git a/tests/src/xinclude/tests/xinclude/cppoutput/test33.xml b/tests/src/xinclude/tests/xinclude/cppoutput/test33.xml new file mode 100644 index 0000000000000000000000000000000000000000..99a6a2d80903f149a4837d29a4f2da290171a055 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/cppoutput/test33.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?><x xmlns="http://www.schemaTest.org/xinclude-test" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- including document with a DTD, and unparsed entities and notations, + when the root document doesn't have one --> + <elem foo="image" xml:base="../included/ue.xml" xmlns="http://www.schemaTest.org/xinclude-test"/> +</x> diff --git a/tests/src/xinclude/tests/xinclude/cppoutput/test34.xml b/tests/src/xinclude/tests/xinclude/cppoutput/test34.xml new file mode 100644 index 0000000000000000000000000000000000000000..73081c7fdb93ac5bf987e6cb989cbcc2bbe458b5 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/cppoutput/test34.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?><x xmlns="http://www.schemaTest.org/xinclude-test" xml:base="../" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- using xml:base on parent element to move back a directory --> + <elem xml:base="included/elem.xml" xmlns="http://www.schemaTest.org/xinclude-test"/> +</x> diff --git a/tests/src/xinclude/tests/xinclude/cppoutput/test35.xml b/tests/src/xinclude/tests/xinclude/cppoutput/test35.xml new file mode 100644 index 0000000000000000000000000000000000000000..af162891bd80389c2bc0a6ec3e86cc5edf7123c1 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/cppoutput/test35.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?><x xmlns="http://www.schemaTest.org/xinclude-test" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- using xml:base on include element to move back a directory --> + <elem xml:base="../included/elem.xml" xmlns="http://www.schemaTest.org/xinclude-test"/> +</x> diff --git a/tests/src/xinclude/tests/xinclude/cppoutput/test36.xml b/tests/src/xinclude/tests/xinclude/cppoutput/test36.xml new file mode 100644 index 0000000000000000000000000000000000000000..eb03db505f5515642ec85f31cc15f52eb4888c98 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/cppoutput/test36.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?><x xmlns="http://www.schemaTest.org/xinclude-test" xml:base="../included/" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.schemaTest.org/xinclude-test ../tests/tests.xsd"> + <!-- using xml:base on parent element to move to the included directory --> + <elem xml:base="elem.xml" xmlns="http://www.schemaTest.org/xinclude-test"/> +</x> diff --git a/tests/src/xinclude/tests/xinclude/cppoutput/test37.xml b/tests/src/xinclude/tests/xinclude/cppoutput/test37.xml new file mode 100644 index 0000000000000000000000000000000000000000..3be0f2f1c3bae22a666ffb32c57fb91f25bb15af --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/cppoutput/test37.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?><x xmlns="http://www.schemaTest.org/xinclude-test" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- using xml:base on include element to move to the included directory --> + <elem xml:base="../included/elem.xml" xmlns="http://www.schemaTest.org/xinclude-test"/> +</x> diff --git a/tests/src/xinclude/tests/xinclude/cppoutput/test38.xml b/tests/src/xinclude/tests/xinclude/cppoutput/test38.xml new file mode 100644 index 0000000000000000000000000000000000000000..933ab8a92270b425df3a401f5a781a16c43db846 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/cppoutput/test38.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?><x xmlns="http://www.schemaTest.org/xinclude-test" xml:base="../" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- using xml:base on both parent element and include element --> + <elem xml:base="included/elem.xml" xmlns="http://www.schemaTest.org/xinclude-test"/> +</x> diff --git a/tests/src/xinclude/tests/xinclude/cppoutput/test39.txt b/tests/src/xinclude/tests/xinclude/cppoutput/test39.txt new file mode 100644 index 0000000000000000000000000000000000000000..8b84bd78bdc6a57fd2006d1f3343296a83be6630 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/cppoutput/test39.txt @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<x xmlns="http://www.schemaTest.org/xinclude-test" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd" xml:base="../"> + <!-- using xml:base on both parent element to move to wrong directory --> + <!-- EXPECT FAILURE --> + [Warning] test39.xml:10:45 +[Fatal Error] test39.xml:10:45 diff --git a/tests/src/xinclude/tests/xinclude/cppoutput/test40.txt b/tests/src/xinclude/tests/xinclude/cppoutput/test40.txt new file mode 100644 index 0000000000000000000000000000000000000000..d0d6a9c41b45dbe9fc15d973d49533fd01728067 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/cppoutput/test40.txt @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<x xmlns="http://www.schemaTest.org/xinclude-test" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- using xml:base on include element to move to wrong directory --> + <!-- EXPECT FAILURE --> + [Warning] test40.xml:10:45 +[Fatal Error] test40.xml:10:45 diff --git a/tests/src/xinclude/tests/xinclude/cppoutput/test41.xml b/tests/src/xinclude/tests/xinclude/cppoutput/test41.xml new file mode 100644 index 0000000000000000000000000000000000000000..1ba2d481686e0d33bbf9395e934b6a158fde603a --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/cppoutput/test41.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?><x xmlns="http://www.schemaTest.org/xinclude-test" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- final included element specifies an xml:base attribute, which will be + overwritten by the new xml:base attribute --> + <!-- redundant path structure --><elem xml:base="../included/dir/" xmlns="http://www.schemaTest.org/xinclude-test" xmlns:xml="http://www.w3.org/XML/1998/namespace"/> +</x> diff --git a/tests/src/xinclude/tests/xinclude/included/base.xml b/tests/src/xinclude/tests/xinclude/included/base.xml new file mode 100644 index 0000000000000000000000000000000000000000..1151769d2bd1e56329cfd26a1e64341abcc99fd4 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/included/base.xml @@ -0,0 +1,4 @@ +<?xml version="1.0"?> +<!-- redundant path structure --> +<include xml:base="../included/" xmlns="http://www.w3.org/2001/XInclude" + href="../included/elem_base.xml"/> diff --git a/tests/src/xinclude/tests/xinclude/included/dir/include09.xml b/tests/src/xinclude/tests/xinclude/included/dir/include09.xml new file mode 100644 index 0000000000000000000000000000000000000000..4b2f6a08edad8a7dc6cfa38e6b67cf8d653a1cfb --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/included/dir/include09.xml @@ -0,0 +1,18 @@ +<?xml version='1.0'?> +<!-- tests that files included from other directories work --> +<include xmlns="http://www.w3.org/2001/XInclude" href="invalid.xml"> + <fallback> + <child3 xmlns="" name="kid3"> + <desc> + <include xmlns="http://www.w3.org/2001/XInclude" href="../include10.txt" parse="text"> + <fallback> + <!-- this fallback won't be used --> + <child4 xmlns="" name="kid4"> + <desc>Text4</desc> + </child4> + </fallback> + </include> + </desc> + </child3> + </fallback> +</include> diff --git a/tests/src/xinclude/tests/xinclude/included/elem.jpg b/tests/src/xinclude/tests/xinclude/included/elem.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f4e0a7269bc6eaa79a5c12f0ec7e5ce06950d06e Binary files /dev/null and b/tests/src/xinclude/tests/xinclude/included/elem.jpg differ diff --git a/tests/src/xinclude/tests/xinclude/included/elem.xml b/tests/src/xinclude/tests/xinclude/included/elem.xml new file mode 100644 index 0000000000000000000000000000000000000000..f4e0a7269bc6eaa79a5c12f0ec7e5ce06950d06e --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/included/elem.xml @@ -0,0 +1,2 @@ +<?xml version="1.0"?> +<elem xmlns="http://www.schemaTest.org/xinclude-test"/> diff --git a/tests/src/xinclude/tests/xinclude/included/elem_base.xml b/tests/src/xinclude/tests/xinclude/included/elem_base.xml new file mode 100644 index 0000000000000000000000000000000000000000..25da39d15a2f3bfffdeccd67581d3d7eb55b4295 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/included/elem_base.xml @@ -0,0 +1,3 @@ +<?xml version="1.0"?> +<elem xmlns="http://www.schemaTest.org/xinclude-test" + xml:base="dir/"/> diff --git a/tests/src/xinclude/tests/xinclude/included/include.xml b/tests/src/xinclude/tests/xinclude/included/include.xml new file mode 100644 index 0000000000000000000000000000000000000000..25171d86bd96f7cd87c49add816c0c0971a6f0f7 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/included/include.xml @@ -0,0 +1,3 @@ +<?xml version="1.0"?> +<include xml:base="../included/" xmlns="http://www.w3.org/2001/XInclude" + href="elem.xml"/> diff --git a/tests/src/xinclude/tests/xinclude/included/include01.xml b/tests/src/xinclude/tests/xinclude/included/include01.xml new file mode 100644 index 0000000000000000000000000000000000000000..9bb5b773b436379db1d886da04de762ae193ab05 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/included/include01.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<xi1:include xmlns:xi1="http://www.w3.org/2001/XInclude" + xmlns:abc="asdfasdfasdf" + href="include02.xml"/> diff --git a/tests/src/xinclude/tests/xinclude/included/include02.xml b/tests/src/xinclude/tests/xinclude/included/include02.xml new file mode 100644 index 0000000000000000000000000000000000000000..c84b31dbd3872c06f7fc29c98c1a170105409299 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/included/include02.xml @@ -0,0 +1,3 @@ +<?xml version='1.0'?> +<xi2:include xmlns:xi2="http://www.w3.org/2001/XInclude" + xmlns:abc="asdfasdfasdf" href="include03.xml"/> diff --git a/tests/src/xinclude/tests/xinclude/included/include03.xml b/tests/src/xinclude/tests/xinclude/included/include03.xml new file mode 100644 index 0000000000000000000000000000000000000000..4fb94c24615c1d00c58cad7a7763853559edfe10 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/included/include03.xml @@ -0,0 +1,3 @@ +<?xml version='1.0'?> +<xi3:include xmlns:xi3="http://www.w3.org/2001/XInclude" + xmlns:abc="asdfasdfasdf" href="include04.xml"/> diff --git a/tests/src/xinclude/tests/xinclude/included/include04.xml b/tests/src/xinclude/tests/xinclude/included/include04.xml new file mode 100644 index 0000000000000000000000000000000000000000..079fb4ff0c0d0d7546b34523f33eba33d31ca075 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/included/include04.xml @@ -0,0 +1,3 @@ +<?xml version='1.0'?> +<xi4:include xmlns:xi4="http://www.w3.org/2001/XInclude" + xmlns:abc="asdfasdfasdf" href="include05.xml"/> diff --git a/tests/src/xinclude/tests/xinclude/included/include05.xml b/tests/src/xinclude/tests/xinclude/included/include05.xml new file mode 100644 index 0000000000000000000000000000000000000000..f4a7fa7d203fef84c2732c1dd74750256b2ea46a --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/included/include05.xml @@ -0,0 +1,3 @@ +<?xml version='1.0'?> +<xi5:include xmlns:xi5="http://www.w3.org/2001/XInclude" + xmlns:abc="asdfasdfasdf" href="include06.xml"/> diff --git a/tests/src/xinclude/tests/xinclude/included/include06.xml b/tests/src/xinclude/tests/xinclude/included/include06.xml new file mode 100644 index 0000000000000000000000000000000000000000..6af71d46cc0b92baaf6ddd016b152ef464e9f3a3 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/included/include06.xml @@ -0,0 +1,2 @@ +<?xml version='1.0'?> +<xi6:include xmlns:xi6="http://www.w3.org/2001/XInclude" href="include07.xml"/> diff --git a/tests/src/xinclude/tests/xinclude/included/include07.xml b/tests/src/xinclude/tests/xinclude/included/include07.xml new file mode 100644 index 0000000000000000000000000000000000000000..cb1f4306004706100aed95cf03a64e82cfdd17cc --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/included/include07.xml @@ -0,0 +1,2 @@ +<?xml version='1.0'?> +<xi7:include xmlns:xi7="http://www.w3.org/2001/XInclude" href="include08.xml"/> diff --git a/tests/src/xinclude/tests/xinclude/included/include08.xml b/tests/src/xinclude/tests/xinclude/included/include08.xml new file mode 100644 index 0000000000000000000000000000000000000000..6d574e6dbb9e00749ed15130c1d899f7b399c6ce --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/included/include08.xml @@ -0,0 +1,2 @@ +<?xml version='1.0'?> +<xi8:include xmlns:xi8="http://www.w3.org/2001/XInclude" href="dir/include09.xml"/> diff --git a/tests/src/xinclude/tests/xinclude/included/include10.txt b/tests/src/xinclude/tests/xinclude/included/include10.txt new file mode 100644 index 0000000000000000000000000000000000000000..35fa189198e5eda2dde678466e45deb52caf8b8a --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/included/include10.txt @@ -0,0 +1 @@ +Text3 diff --git a/tests/src/xinclude/tests/xinclude/included/not-well-formed.xml b/tests/src/xinclude/tests/xinclude/included/not-well-formed.xml new file mode 100644 index 0000000000000000000000000000000000000000..956f390cb4f9ced0671c3809562fb18c9bc09705 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/included/not-well-formed.xml @@ -0,0 +1 @@ +<this is not XML> diff --git a/tests/src/xinclude/tests/xinclude/included/not.xml b/tests/src/xinclude/tests/xinclude/included/not.xml new file mode 100644 index 0000000000000000000000000000000000000000..64a22db3302c8467b51607fde255fc4d1ef708da --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/included/not.xml @@ -0,0 +1,4 @@ +<?xml version='1.0'?> +<!DOCTYPE elem SYSTEM "../tests/tests.dtd"> +<elem bar="jpg" + xmlns="http://www.schemaTest.org/xinclude-test"/> diff --git a/tests/src/xinclude/tests/xinclude/included/not2.xml b/tests/src/xinclude/tests/xinclude/included/not2.xml new file mode 100644 index 0000000000000000000000000000000000000000..2ed4a0788ec7e9907f286b979ec2d8f7b7c0973f --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/included/not2.xml @@ -0,0 +1,12 @@ +<?xml version='1.0'?> +<!DOCTYPE elem [ +<!ELEMENT elem EMPTY> +<!ATTLIST elem + xmlns CDATA #FIXED "http://www.schemaTest.org/xinclude-test" + xml:base CDATA #IMPLIED + foo ENTITY #IMPLIED + bar NOTATION (jpg) #IMPLIED> +<!NOTATION jpg SYSTEM "jpg"> +]> +<elem bar="jpg" + xmlns="http://www.schemaTest.org/xinclude-test"/> diff --git a/tests/src/xinclude/tests/xinclude/included/text.txt b/tests/src/xinclude/tests/xinclude/included/text.txt new file mode 100644 index 0000000000000000000000000000000000000000..c1a7bd5f160289036fb22e98c9ffc240a1582d67 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/included/text.txt @@ -0,0 +1 @@ +blah blah blah diff --git a/tests/src/xinclude/tests/xinclude/included/ue.xml b/tests/src/xinclude/tests/xinclude/included/ue.xml new file mode 100644 index 0000000000000000000000000000000000000000..08d5883e2cf748697f91776db6867d43ae0060af --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/included/ue.xml @@ -0,0 +1,4 @@ +<?xml version='1.0'?> +<!DOCTYPE elem SYSTEM "../tests/tests.dtd"> +<elem foo="image" + xmlns="http://www.schemaTest.org/xinclude-test"/> diff --git a/tests/src/xinclude/tests/xinclude/included/ue2.xml b/tests/src/xinclude/tests/xinclude/included/ue2.xml new file mode 100644 index 0000000000000000000000000000000000000000..e90c6d77817396557829700605774cd003d6e7ec --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/included/ue2.xml @@ -0,0 +1,12 @@ +<?xml version='1.0'?> +<!DOCTYPE elem [ +<!ELEMENT elem EMPTY> +<!ATTLIST elem + xmlns CDATA #FIXED "http://www.schemaTest.org/xinclude-test" + foo ENTITY #IMPLIED + bar NOTATION (jpg) #IMPLIED> +<!NOTATION jpg SYSTEM "jpg"> +<!ENTITY image SYSTEM "foobar.jpg" NDATA jpg> +]> +<elem foo="image" + xmlns="http://www.schemaTest.org/xinclude-test"/> diff --git a/tests/src/xinclude/tests/xinclude/included/unparsed.xml b/tests/src/xinclude/tests/xinclude/included/unparsed.xml new file mode 100644 index 0000000000000000000000000000000000000000..cb701436b555402ed2b2fa959d2f3c99ed2b0529 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/included/unparsed.xml @@ -0,0 +1,7 @@ +<?xml version='1.0'?> +<!DOCTYPE view [ + <!ELEMENT view EMPTY> + <!NOTATION xjpg SYSTEM "jpg"> + <!ENTITY image SYSTEM "gris.jpg" NDATA xjpg> + <!ATTLIST view sun ENTITY #IMPLIED>]> +<view sun="image"/> diff --git a/tests/src/xinclude/tests/xinclude/tests/test01.xml b/tests/src/xinclude/tests/xinclude/tests/test01.xml new file mode 100644 index 0000000000000000000000000000000000000000..543d2c163ba02d6e0e9ecc60f5f8f20a8315c295 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/tests/test01.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!-- This test doesn't test anything in particular. But it is an example of a + somewhat complicated setup. --> +<xit:myRoot xmlns:xit="http://www.schemaTest.org/xinclude-test" + xmlns:xi="http://www.w3.org/2001/XInclude" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <xi:include xmlns:test01="http://www.test.org/test02" href="../included/invalid.xml"> + <!-- comment --> + <xi:fallback xmlns:test02="http://www.test.org/test02"> + <xi:include href="../included/invalid.xml"> + <invalid1 xmlns:test03="http://www.test.org/test03"> + <invalid2> + </invalid2> + </invalid1> + <xi:fallback xmlns:test02="http://www.test.org/TEST02"> + <child1 name="kid1"><desc>Text1</desc></child1> + </xi:fallback> + </xi:include> + </xi:fallback> + </xi:include> + <xi:include href="../included/invalid.xml"> + <xi:fallback> + <child2 name="kid2"><desc>Text2</desc></child2> + </xi:fallback> + </xi:include> + + <!-- this tests a valid include --> + <xi:include href="../included/include01.xml" parse="xml"> + <xi:fallback> + <!-- this should be ignored --> + <child2>Text2</child2> + </xi:fallback> + </xi:include> + + <!-- this tests that idrefs still work when an ID from an included file is used --> + <select name="kid3"/> + + <!-- this tests when an included file has a DTD, but the base file doesn't --> + <xi:include href="../included/unparsed.xml"><xi:fallback/></xi:include> +</xit:myRoot> diff --git a/tests/src/xinclude/tests/xinclude/tests/test02.xml b/tests/src/xinclude/tests/xinclude/tests/test02.xml new file mode 100644 index 0000000000000000000000000000000000000000..7c5aab384643eed516e428d10081cd8b71ae80d9 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/tests/test02.xml @@ -0,0 +1,10 @@ +<?xml version="1.0"?> +<x xmlns="http://www.schemaTest.org/xinclude-test" + xmlns:xi="http://www.w3.org/2001/XInclude" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- tests that attributes from other namespaces on xi:include elements are ignored --> + <xi:include foo="bar" + parse="xml" + href="../included/elem.xml"/> +</x> diff --git a/tests/src/xinclude/tests/xinclude/tests/test03.xml b/tests/src/xinclude/tests/xinclude/tests/test03.xml new file mode 100644 index 0000000000000000000000000000000000000000..9a886db17b74a17faf645867d2751657cc814ffe --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/tests/test03.xml @@ -0,0 +1,10 @@ +<?xml version="1.0"?> +<x xmlns="http://www.schemaTest.org/xinclude-test" + xmlns:xi="http://www.w3.org/2001/XInclude" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- tests that attributes from the XInclude namespace are ignored --> + <xi:include parse="xml" + href="../included/elem.xml" + xi:foo="bar"/> +</x> diff --git a/tests/src/xinclude/tests/xinclude/tests/test04.xml b/tests/src/xinclude/tests/xinclude/tests/test04.xml new file mode 100644 index 0000000000000000000000000000000000000000..f34792243ceadbe0d8db420e2fe4797a8e037c56 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/tests/test04.xml @@ -0,0 +1,9 @@ +<?xml version="1.0"?> +<x xmlns="http://www.schemaTest.org/xinclude-test" + xmlns:xi="http://www.w3.org/2001/XInclude" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- thats that parse="xml" works --> + <xi:include parse="xml" + href="../included/elem.xml"/> +</x> diff --git a/tests/src/xinclude/tests/xinclude/tests/test05.xml b/tests/src/xinclude/tests/xinclude/tests/test05.xml new file mode 100644 index 0000000000000000000000000000000000000000..f0f2e2e4dd81ce1ac78e0247dc62cc680e4560ea --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/tests/test05.xml @@ -0,0 +1,9 @@ +<?xml version="1.0"?> +<x xmlns="http://www.schemaTest.org/xinclude-test" + xmlns:xi="http://www.w3.org/2001/XInclude" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- tests that parse="text" works --> + <xi:include parse="text" + href="../included/text.txt"/> +</x> diff --git a/tests/src/xinclude/tests/xinclude/tests/test06.xml b/tests/src/xinclude/tests/xinclude/tests/test06.xml new file mode 100644 index 0000000000000000000000000000000000000000..0261ba40a47753b8b82008315a22cf671a1fb5f5 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/tests/test06.xml @@ -0,0 +1,8 @@ +<?xml version="1.0"?> +<x xmlns="http://www.schemaTest.org/xinclude-test" + xmlns:xi="http://www.w3.org/2001/XInclude" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- tests that parse="xml" is the default --> + <xi:include href="../included/elem.xml"/> +</x> diff --git a/tests/src/xinclude/tests/xinclude/tests/test07.xml b/tests/src/xinclude/tests/xinclude/tests/test07.xml new file mode 100644 index 0000000000000000000000000000000000000000..98db57034d0ad9e637831c614445fe18451ba993 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/tests/test07.xml @@ -0,0 +1,10 @@ +<?xml version="1.0"?> +<x xmlns="http://www.schemaTest.org/xinclude-test" + xmlns:xi="http://www.w3.org/2001/XInclude" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- tests that values for parse other than "xml" or "text" are invalid --> + <!-- EXPECT FAILURE --> + <xi:include parse="xxx" + href="../included/elem.xml"/> +</x> diff --git a/tests/src/xinclude/tests/xinclude/tests/test08.xml b/tests/src/xinclude/tests/xinclude/tests/test08.xml new file mode 100644 index 0000000000000000000000000000000000000000..d41c6419179558f68fcec0714bfad89e6fb911d4 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/tests/test08.xml @@ -0,0 +1,9 @@ +<?xml version="1.0"?> +<x xmlns="http://www.schemaTest.org/xinclude-test" + xmlns:xi="http://www.w3.org/2001/XInclude" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- tests that 0 fallbacks is not a failure when the include is successful --> + <xi:include parse="xml" + href="../included/elem.xml"/> +</x> diff --git a/tests/src/xinclude/tests/xinclude/tests/test09.xml b/tests/src/xinclude/tests/xinclude/tests/test09.xml new file mode 100644 index 0000000000000000000000000000000000000000..4e1d464ab40635c50605e468b5b56d2e87ef47ec --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/tests/test09.xml @@ -0,0 +1,10 @@ +<?xml version="1.0"?> +<x xmlns="http://www.schemaTest.org/xinclude-test" + xmlns:xi="http://www.w3.org/2001/XInclude" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- tests that 0 fallbacks is a failure when the include is unsuccessful --> + <!-- EXPECT FAILURE --> + <xi:include parse="xml" + href="../included/invalid.xml"/> +</x> diff --git a/tests/src/xinclude/tests/xinclude/tests/test10.xml b/tests/src/xinclude/tests/xinclude/tests/test10.xml new file mode 100644 index 0000000000000000000000000000000000000000..a35af0650dd071b8740b0e530e6562f0ea010fc8 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/tests/test10.xml @@ -0,0 +1,13 @@ +<?xml version="1.0"?> +<x xmlns="http://www.schemaTest.org/xinclude-test" + xmlns:xi="http://www.w3.org/2001/XInclude" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- tests that a fallback is used when the include is unsuccessful --> + <xi:include parse="xml" + href="../included/elem.xml"> + <xi:fallback> + <elem/> + </xi:fallback> + </xi:include> +</x> diff --git a/tests/src/xinclude/tests/xinclude/tests/test11.xml b/tests/src/xinclude/tests/xinclude/tests/test11.xml new file mode 100644 index 0000000000000000000000000000000000000000..fc0c855791b47f1f042fc7d0cb16ba156f5d08e1 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/tests/test11.xml @@ -0,0 +1,13 @@ +<?xml version="1.0"?> +<x xmlns="http://www.schemaTest.org/xinclude-test" + xmlns:xi="http://www.w3.org/2001/XInclude" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- tests that 2 fallbacks cause a failure when the include is successful --> + <!-- EXPECT FAILURE --> + <xi:include parse="xml" + href="../included/elem.xml"> + <xi:fallback/> + <xi:fallback/> + </xi:include> +</x> diff --git a/tests/src/xinclude/tests/xinclude/tests/test12.xml b/tests/src/xinclude/tests/xinclude/tests/test12.xml new file mode 100644 index 0000000000000000000000000000000000000000..bbbf8de774e770c92e16f3217fce16217e5f17eb --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/tests/test12.xml @@ -0,0 +1,13 @@ +<?xml version="1.0"?> +<x xmlns="http://www.schemaTest.org/xinclude-test" + xmlns:xi="http://www.w3.org/2001/XInclude" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- tests that 2 fallbacks cause a failure when the include is unsuccessful --> + <!-- EXPECT FAILURE --> + <xi:include parse="xml" + href="../included/invalid.xml"> + <xi:fallback/> + <xi:fallback/> + </xi:include> +</x> diff --git a/tests/src/xinclude/tests/xinclude/tests/test13.xml b/tests/src/xinclude/tests/xinclude/tests/test13.xml new file mode 100644 index 0000000000000000000000000000000000000000..8bc480dbee879c207d99eb65d20c826f7a5a2ff0 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/tests/test13.xml @@ -0,0 +1,12 @@ +<?xml version="1.0"?> +<x xmlns="http://www.schemaTest.org/xinclude-test" + xmlns:xi="http://www.w3.org/2001/XInclude" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- tests that other elements from xi namespace are not allowed when include is successful --> + <!-- EXPECT FAILURE --> + <xi:include parse="xml" + href="../included/elem.xml"> + <xi:other/> + </xi:include> +</x> diff --git a/tests/src/xinclude/tests/xinclude/tests/test14.xml b/tests/src/xinclude/tests/xinclude/tests/test14.xml new file mode 100644 index 0000000000000000000000000000000000000000..1bb790c2b853c821ef35912f5d2ffd0ac1b1eef4 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/tests/test14.xml @@ -0,0 +1,12 @@ +<?xml version="1.0"?> +<x xmlns="http://www.schemaTest.org/xinclude-test" + xmlns:xi="http://www.w3.org/2001/XInclude" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- tests that other elements from xi namespace are not allowed when include is not successful --> + <!-- EXPECT FAILURE --> + <xi:include parse="xml" + href="../included/invalid.xml"> + <xi:other/> + </xi:include> +</x> diff --git a/tests/src/xinclude/tests/xinclude/tests/test15.xml b/tests/src/xinclude/tests/xinclude/tests/test15.xml new file mode 100644 index 0000000000000000000000000000000000000000..64bdeaeac62ecd67bd8ee3693da4dde081a9c4f3 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/tests/test15.xml @@ -0,0 +1,10 @@ +<?xml version="1.0"?> +<x xmlns="http://www.schemaTest.org/xinclude-test" + xmlns:xi="http://www.w3.org/2001/XInclude" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- test that parser can be reused --> + <xi:include href="../included/elem.xml"/> + <xi:include href="../included/elem.xml"/> + <xi:include href="../included/elem.xml"/> +</x> diff --git a/tests/src/xinclude/tests/xinclude/tests/test16.xml b/tests/src/xinclude/tests/xinclude/tests/test16.xml new file mode 100644 index 0000000000000000000000000000000000000000..6313a2839341dc540fc284aaeaae0c2c802599e8 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/tests/test16.xml @@ -0,0 +1,9 @@ +<?xml version="1.0"?> +<x xmlns="http://www.schemaTest.org/xinclude-test" + xmlns:xi="http://www.w3.org/2001/XInclude" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- included file includes another file --> + <xi:include parse="xml" + href="../included/include.xml"/> +</x> diff --git a/tests/src/xinclude/tests/xinclude/tests/test17.xml b/tests/src/xinclude/tests/xinclude/tests/test17.xml new file mode 100644 index 0000000000000000000000000000000000000000..cbb72763238df97f22499a4fef1823c66466ca61 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/tests/test17.xml @@ -0,0 +1,11 @@ +<?xml version="1.0"?> +<x xmlns="http://www.schemaTest.org/xinclude-test" + xmlns:xi="http://www.w3.org/2001/XInclude" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- test that empty fallback is valid --> + <xi:include parse="xml" + href="../included/elem.xml"> + <xi:fallback/> + </xi:include> +</x> diff --git a/tests/src/xinclude/tests/xinclude/tests/test18.xml b/tests/src/xinclude/tests/xinclude/tests/test18.xml new file mode 100644 index 0000000000000000000000000000000000000000..5994be05041485a03cb6003c617285ca065482d0 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/tests/test18.xml @@ -0,0 +1,11 @@ +<?xml version="1.0"?> +<x xmlns="http://www.schemaTest.org/xinclude-test" + xmlns:xi="http://www.w3.org/2001/XInclude" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- tests that fallback must be child of include --> + <!-- EXPECT FAILURE --> + <xi:fallback/> + <xi:include parse="xml" + href="../included/elem.xml"/> +</x> diff --git a/tests/src/xinclude/tests/xinclude/tests/test19.xml b/tests/src/xinclude/tests/xinclude/tests/test19.xml new file mode 100644 index 0000000000000000000000000000000000000000..e1e23b46a2cb8c90dd182af0a17090a84a77f5d4 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/tests/test19.xml @@ -0,0 +1,9 @@ +<?xml version="1.0"?> +<x xmlns="http://www.schemaTest.org/xinclude-test" + xmlns:xi="http://www.w3.org/2001/XInclude" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- test including XML as text --> + <xi:include parse="text" + href="../included/elem.xml"/> +</x> diff --git a/tests/src/xinclude/tests/xinclude/tests/test20.xml b/tests/src/xinclude/tests/xinclude/tests/test20.xml new file mode 100644 index 0000000000000000000000000000000000000000..63e05f6ed408c9b13d9ab48cd662b680442521cb --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/tests/test20.xml @@ -0,0 +1,9 @@ +<?xml version="1.0"?> +<x xmlns="http://www.schemaTest.org/xinclude-test" + xmlns:xi="http://www.w3.org/2001/XInclude" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- test including file with different MIME-type as XML --> + <xi:include parse="xml" + href="../included/elem.jpg"/> +</x> diff --git a/tests/src/xinclude/tests/xinclude/tests/test21.xml b/tests/src/xinclude/tests/xinclude/tests/test21.xml new file mode 100644 index 0000000000000000000000000000000000000000..2a3c8b004be08b76373824564de51897d3d7914f --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/tests/test21.xml @@ -0,0 +1,9 @@ +<?xml version="1.0"?> +<x xmlns="http://www.schemaTest.org/xinclude-test" + xmlns:xi="http://www.w3.org/2001/XInclude" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- test including file with different MIME-type as text --> + <xi:include parse="text" + href="../included/elem.jpg"/> +</x> diff --git a/tests/src/xinclude/tests/xinclude/tests/test22.xml b/tests/src/xinclude/tests/xinclude/tests/test22.xml new file mode 100644 index 0000000000000000000000000000000000000000..ec58a326bdfe2eeccab8e3ec7f90f2b0eb5c544c --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/tests/test22.xml @@ -0,0 +1,10 @@ +<?xml version="1.0"?> +<x xmlns="http://www.schemaTest.org/xinclude-test" + xmlns:xi="http://www.w3.org/2001/XInclude" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- include not well formed XML --> + <!-- EXPECT FAILURE --> + <xi:include parse="xml" + href="../included/not-well-formed.xml"/> +</x> diff --git a/tests/src/xinclude/tests/xinclude/tests/test23.xml b/tests/src/xinclude/tests/xinclude/tests/test23.xml new file mode 100644 index 0000000000000000000000000000000000000000..afe8a04cbc0f50914f2c53fad1550b65a72ba5ab --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/tests/test23.xml @@ -0,0 +1,9 @@ +<?xml version="1.0"?> +<x xmlns="http://www.schemaTest.org/xinclude-test" + xmlns:xi="http://www.w3.org/2001/XInclude" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- including the same document, but as text --> + <xi:include parse="text" + href="test24.xml"/> +</x> diff --git a/tests/src/xinclude/tests/xinclude/tests/test24.xml b/tests/src/xinclude/tests/xinclude/tests/test24.xml new file mode 100644 index 0000000000000000000000000000000000000000..2c6cb8865c8a6221efa130932624ee6717228c2b --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/tests/test24.xml @@ -0,0 +1,10 @@ +<?xml version="1.0"?> +<x xmlns="http://www.schemaTest.org/xinclude-test" + xmlns:xi="http://www.w3.org/2001/XInclude" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- test that including the same document fails --> + <!-- EXPECT FAILURE --> + <xi:include parse="xml" + href="test24.xml"/> +</x> diff --git a/tests/src/xinclude/tests/xinclude/tests/test25.xml b/tests/src/xinclude/tests/xinclude/tests/test25.xml new file mode 100644 index 0000000000000000000000000000000000000000..d5c73d7f5188b048b54914b1308b98589e32060e --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/tests/test25.xml @@ -0,0 +1,10 @@ +<?xml version="1.0"?> +<x xmlns="http://www.schemaTest.org/xinclude-test" + xmlns:xi="http://www.w3.org/2001/XInclude" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- test including a resource that isn't there, when parse="xml" --> + <!-- EXPECT FAILURE --> + <xi:include parse="xml" + href="../included/invalid.xml"/> +</x> diff --git a/tests/src/xinclude/tests/xinclude/tests/test26.xml b/tests/src/xinclude/tests/xinclude/tests/test26.xml new file mode 100644 index 0000000000000000000000000000000000000000..2c6407ea5110c2b00165d3ed2fb2255e721802be --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/tests/test26.xml @@ -0,0 +1,10 @@ +<?xml version="1.0"?> +<x xmlns="http://www.schemaTest.org/xinclude-test" + xmlns:xi="http://www.w3.org/2001/XInclude" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- test including a resource that isn't there, when parse="text" --> + <!-- EXPECT FAILURE --> + <xi:include parse="text" + href="../included/invalid.xml"/> +</x> diff --git a/tests/src/xinclude/tests/xinclude/tests/test27.xml b/tests/src/xinclude/tests/xinclude/tests/test27.xml new file mode 100644 index 0000000000000000000000000000000000000000..9d68f1058f4b3ee658ffd0d0af0e79fbacdbec4f --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/tests/test27.xml @@ -0,0 +1,11 @@ +<?xml version='1.0'?> +<!DOCTYPE x SYSTEM "tests.dtd"> +<x xmlns="http://www.schemaTest.org/xinclude-test" + xmlns:xi="http://www.w3.org/2001/XInclude" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <elem bar="xjpg"/> + <!-- test including a document with a non-conflicting notation --> + <xi:include parse="xml" + href="../included/not.xml"/> +</x> diff --git a/tests/src/xinclude/tests/xinclude/tests/test28.xml b/tests/src/xinclude/tests/xinclude/tests/test28.xml new file mode 100644 index 0000000000000000000000000000000000000000..33eead08cf0c7338fc2d3528c252885077a811f9 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/tests/test28.xml @@ -0,0 +1,11 @@ +<?xml version='1.0'?> +<!DOCTYPE x SYSTEM "tests.dtd"> +<x xmlns="http://www.schemaTest.org/xinclude-test" + xmlns:xi="http://www.w3.org/2001/XInclude" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <elem bar="jpg"/> + <!-- test including a document with a duplicate notation --> + <xi:include parse="xml" + href="../included/not.xml"/> +</x> diff --git a/tests/src/xinclude/tests/xinclude/tests/test29.xml b/tests/src/xinclude/tests/xinclude/tests/test29.xml new file mode 100644 index 0000000000000000000000000000000000000000..2a6f1939bb7eabbc6d695239f21e1571c91f588d --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/tests/test29.xml @@ -0,0 +1,12 @@ +<?xml version='1.0'?> +<!DOCTYPE x SYSTEM "tests.dtd"> +<x xmlns="http://www.schemaTest.org/xinclude-test" + xmlns:xi="http://www.w3.org/2001/XInclude" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <elem bar="jpg"/> + <!-- test including a document with a conflicting notation --> + <!-- EXPECT FAILURE --> + <xi:include parse="xml" + href="../included/not2.xml"/> +</x> diff --git a/tests/src/xinclude/tests/xinclude/tests/test30.xml b/tests/src/xinclude/tests/xinclude/tests/test30.xml new file mode 100644 index 0000000000000000000000000000000000000000..11912059e7015c90d0ad6aa4206018b842f52844 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/tests/test30.xml @@ -0,0 +1,11 @@ +<?xml version="1.0"?> +<!DOCTYPE x SYSTEM "tests.dtd"> +<x xmlns="http://www.schemaTest.org/xinclude-test" + xmlns:xi="http://www.w3.org/2001/XInclude" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- including document with non-conflicting unparsed entity --> + <elem foo="ximage"/> + <xi:include parse="xml" + href="../included/ue.xml"/> +</x> diff --git a/tests/src/xinclude/tests/xinclude/tests/test31.xml b/tests/src/xinclude/tests/xinclude/tests/test31.xml new file mode 100644 index 0000000000000000000000000000000000000000..39a5fe38d660914fb16ff083da5fbe966e754061 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/tests/test31.xml @@ -0,0 +1,11 @@ +<?xml version="1.0"?> +<!DOCTYPE x SYSTEM "tests.dtd"> +<x xmlns="http://www.schemaTest.org/xinclude-test" + xmlns:xi="http://www.w3.org/2001/XInclude" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- including document with duplicate unparsed entity --> + <elem foo="image"/> + <xi:include parse="xml" + href="../included/ue.xml"/> +</x> diff --git a/tests/src/xinclude/tests/xinclude/tests/test32.xml b/tests/src/xinclude/tests/xinclude/tests/test32.xml new file mode 100644 index 0000000000000000000000000000000000000000..466f069af23062a3d70c77f07695b62fafe1a06d --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/tests/test32.xml @@ -0,0 +1,15 @@ +<?xml version="1.0"?> +<!DOCTYPE x SYSTEM "tests.dtd"> +<x xmlns="http://www.schemaTest.org/xinclude-test" + xmlns:xi="http://www.w3.org/2001/XInclude" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- test including document with conflicting unparsed entity --> + <!-- Note: this actually fails because of the conflicting notation; I'm not + sure how to make a conflicting unparsed entity without having a conflicting + notation --> + <!-- EXPECT FAILURE --> + <elem foo="image"/> + <xi:include parse="xml" + href="../included/ue2.xml"/> +</x> diff --git a/tests/src/xinclude/tests/xinclude/tests/test33.xml b/tests/src/xinclude/tests/xinclude/tests/test33.xml new file mode 100644 index 0000000000000000000000000000000000000000..1b78fcd53691d5c9df56c95cc1f0882791503df4 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/tests/test33.xml @@ -0,0 +1,10 @@ +<?xml version="1.0"?> +<x xmlns="http://www.schemaTest.org/xinclude-test" + xmlns:xi="http://www.w3.org/2001/XInclude" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- including document with a DTD, and unparsed entities and notations, + when the root document doesn't have one --> + <xi:include parse="xml" + href="../included/ue.xml"/> +</x> diff --git a/tests/src/xinclude/tests/xinclude/tests/test34.xml b/tests/src/xinclude/tests/xinclude/tests/test34.xml new file mode 100644 index 0000000000000000000000000000000000000000..7584ca2dfff2bb475301b9d46ffec67eae5b9cbe --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/tests/test34.xml @@ -0,0 +1,10 @@ +<?xml version="1.0"?> +<x xmlns="http://www.schemaTest.org/xinclude-test" + xmlns:xi="http://www.w3.org/2001/XInclude" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd" + xml:base="../"> + <!-- using xml:base on parent element to move back a directory --> + <xi:include parse="xml" + href="included/elem.xml"/> +</x> diff --git a/tests/src/xinclude/tests/xinclude/tests/test35.xml b/tests/src/xinclude/tests/xinclude/tests/test35.xml new file mode 100644 index 0000000000000000000000000000000000000000..3efd5904ae8a1a5397da75d2bd195aa2856d4383 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/tests/test35.xml @@ -0,0 +1,10 @@ +<?xml version="1.0"?> +<x xmlns="http://www.schemaTest.org/xinclude-test" + xmlns:xi="http://www.w3.org/2001/XInclude" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- using xml:base on include element to move back a directory --> + <xi:include xml:base="../" + parse="xml" + href="included/elem.xml"/> +</x> diff --git a/tests/src/xinclude/tests/xinclude/tests/test36.xml b/tests/src/xinclude/tests/xinclude/tests/test36.xml new file mode 100644 index 0000000000000000000000000000000000000000..8cf564cf9749c429838b202b97352c27a93322af --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/tests/test36.xml @@ -0,0 +1,10 @@ +<?xml version="1.0"?> +<x xmlns="http://www.schemaTest.org/xinclude-test" + xmlns:xi="http://www.w3.org/2001/XInclude" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.schemaTest.org/xinclude-test ../tests/tests.xsd" + xml:base="../included/"> + <!-- using xml:base on parent element to move to the included directory --> + <xi:include parse="xml" + href="elem.xml"/> +</x> diff --git a/tests/src/xinclude/tests/xinclude/tests/test37.xml b/tests/src/xinclude/tests/xinclude/tests/test37.xml new file mode 100644 index 0000000000000000000000000000000000000000..95fd24010192d425959dca77a6ebffb9026ce74a --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/tests/test37.xml @@ -0,0 +1,10 @@ +<?xml version="1.0"?> +<x xmlns="http://www.schemaTest.org/xinclude-test" + xmlns:xi="http://www.w3.org/2001/XInclude" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- using xml:base on include element to move to the included directory --> + <xi:include xml:base="../included/" + parse="xml" + href="elem.xml"/> +</x> diff --git a/tests/src/xinclude/tests/xinclude/tests/test38.xml b/tests/src/xinclude/tests/xinclude/tests/test38.xml new file mode 100644 index 0000000000000000000000000000000000000000..1c7d462b42ee6644daf1eeaf184e8c05101ecf94 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/tests/test38.xml @@ -0,0 +1,11 @@ +<?xml version="1.0"?> +<x xmlns="http://www.schemaTest.org/xinclude-test" + xmlns:xi="http://www.w3.org/2001/XInclude" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd" + xml:base="../"> + <!-- using xml:base on both parent element and include element --> + <xi:include xml:base="included/" + parse="xml" + href="elem.xml"/> +</x> diff --git a/tests/src/xinclude/tests/xinclude/tests/test39.xml b/tests/src/xinclude/tests/xinclude/tests/test39.xml new file mode 100644 index 0000000000000000000000000000000000000000..3d194a6fc41c64c7361efe27243e6436a4ae71bf --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/tests/test39.xml @@ -0,0 +1,11 @@ +<?xml version="1.0"?> +<x xmlns="http://www.schemaTest.org/xinclude-test" + xmlns:xi="http://www.w3.org/2001/XInclude" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd" + xml:base="../"> + <!-- using xml:base on both parent element to move to wrong directory --> + <!-- EXPECT FAILURE --> + <xi:include parse="xml" + href="../included/elem.xml"/> +</x> diff --git a/tests/src/xinclude/tests/xinclude/tests/test40.xml b/tests/src/xinclude/tests/xinclude/tests/test40.xml new file mode 100644 index 0000000000000000000000000000000000000000..c7c35e8d26956d6bd8584f6b9054e38d22aa669f --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/tests/test40.xml @@ -0,0 +1,11 @@ +<?xml version="1.0"?> +<x xmlns="http://www.schemaTest.org/xinclude-test" + xmlns:xi="http://www.w3.org/2001/XInclude" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- using xml:base on include element to move to wrong directory --> + <!-- EXPECT FAILURE --> + <xi:include xml:base="../" + parse="xml" + href="../included/elem.xml"/> +</x> diff --git a/tests/src/xinclude/tests/xinclude/tests/test41.xml b/tests/src/xinclude/tests/xinclude/tests/test41.xml new file mode 100644 index 0000000000000000000000000000000000000000..7d379c75f0253493c7317c2d8e9330f835909385 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/tests/test41.xml @@ -0,0 +1,10 @@ +<?xml version="1.0"?> +<x xmlns="http://www.schemaTest.org/xinclude-test" + xmlns:xi="http://www.w3.org/2001/XInclude" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.schemaTest.org/xinclude-test tests.xsd"> + <!-- final included element specifies an xml:base attribute, which will be + overwritten by the new xml:base attribute --> + <xi:include parse="xml" + href="../included/base.xml"/> +</x> diff --git a/tests/src/xinclude/tests/xinclude/tests/tests.dtd b/tests/src/xinclude/tests/xinclude/tests/tests.dtd new file mode 100644 index 0000000000000000000000000000000000000000..aeb39e43e026cb7f869cd2c225ad717c74fbb720 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/tests/tests.dtd @@ -0,0 +1,5 @@ +<?xml version='1.0' encoding="UTF-8"?> +<!NOTATION jpg SYSTEM "jpg"> +<!NOTATION xjpg SYSTEM "jpg"> +<!ENTITY image SYSTEM "foobar.jpg" NDATA jpg> +<!ENTITY ximage SYSTEM "foobar.jpg" NDATA xjpg> diff --git a/tests/src/xinclude/tests/xinclude/tests/tests.xsd b/tests/src/xinclude/tests/xinclude/tests/tests.xsd new file mode 100644 index 0000000000000000000000000000000000000000..61dbfe80ddf809cdf1cdb9541b83ce7233190d22 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/tests/tests.xsd @@ -0,0 +1,68 @@ +<?xml version="1.0"?> +<schema xmlns="http://www.w3.org/2001/XMLSchema" + xmlns:xml="http://www.w3.org/XML/1998/namespace" + targetNamespace="http://www.schemaTest.org/xinclude-test" + xmlns:xit="http://www.schemaTest.org/xinclude-test"> + +<import namespace="http://www.w3.org/XML/1998/namespace" + schemaLocation="./xmlbase.xsd"/> + +<!-- used for test01.xml --> +<complexType name="childType" mixed="true"> + <sequence> + <element name="desc"> + <simpleType> + <restriction base="string"> + <pattern value="Text\d"/> + </restriction> + </simpleType> + </element> + </sequence> + <attribute name="name" type="ID"/> + <attribute ref="xml:base"/> +</complexType> + +<!-- used for test01.xml --> +<complexType name="selectType"> + <attribute name="name" type="IDREF"/> +</complexType> + +<!-- used for test01.xml --> +<element name="myRoot"> + <complexType> + <sequence> + <element name="child1" type="xit:childType"/> + <element name="child2" type="xit:childType"/> + <element name="child3" type="xit:childType"/> + <element name="select" type="xit:selectType"/> + <element name="view"> + <complexType> + <attribute ref="xml:base"/> + <attribute name="sun" type="string"/> + </complexType> + </element> + </sequence> + </complexType> +</element> + +<attribute name="foo" type="string"/> + +<attribute name="bar" type="string"/> + +<element name="elem"> + <complexType> + <attribute name="foo" type="string"/> + <attribute name="bar" type="string"/> + <attribute ref="xml:base"/> + </complexType> +</element> + +<element name="x"> + <complexType mixed="true"> + <sequence> + <element ref="xit:elem" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + </complexType> +</element> + +</schema> diff --git a/tests/src/xinclude/tests/xinclude/tests/xmlbase.xsd b/tests/src/xinclude/tests/xinclude/tests/xmlbase.xsd new file mode 100644 index 0000000000000000000000000000000000000000..1bd0e346c99927b81497162f737e3ce4dfa39722 --- /dev/null +++ b/tests/src/xinclude/tests/xinclude/tests/xmlbase.xsd @@ -0,0 +1,12 @@ +<?xml version="1.0"?> +<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns:xml="http://www.w3.org/XML/1998/namespace" + targetNamespace="http://www.w3.org/XML/1998/namespace"> + +<xsd:attribute name="base" type="xsd:anyURI"> + <xsd:annotation> + <xsd:documentation>A definition for xml:base.</xsd:documentation> + </xsd:annotation> +</xsd:attribute> + +</xsd:schema>