aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorAleksey Sanin <aleksey@aleksey.com>2009-07-09 10:26:22 +0200
committerDaniel Veillard <veillard@redhat.com>2009-07-09 10:26:22 +0200
commit838682478cf89ddcbda294d9557c72813135fc7a (patch)
treebeb96f53231fbd3952e611b695e7f2690715e0ad /test
parent44af232c837312900f7d5c0ad58c2d52cdc8aa8f (diff)
downloadandroid_external_libxml2-838682478cf89ddcbda294d9557c72813135fc7a.tar.gz
android_external_libxml2-838682478cf89ddcbda294d9557c72813135fc7a.tar.bz2
android_external_libxml2-838682478cf89ddcbda294d9557c72813135fc7a.zip
Aleksey Sanin support for c14n 1.1
* c14n.c include/libxml/c14n.h: adds support for C14N 1.1, new flags at the API level * runtest.c Makefile.am testC14N.c xmllint.c: add support in CLI tools and test binaries * result/c14n/1-1-without-comments/* test/c14n/1-1-without-comments/*: add a new batch of tests
Diffstat (limited to 'test')
-rw-r--r--test/.cvsignore2
-rwxr-xr-xtest/c14n/1-1-without-comments/doc.dtd1
-rwxr-xr-xtest/c14n/1-1-without-comments/example-1.xml14
-rwxr-xr-xtest/c14n/1-1-without-comments/example-2.xml11
-rwxr-xr-xtest/c14n/1-1-without-comments/example-3.xml18
-rwxr-xr-xtest/c14n/1-1-without-comments/example-4.xml9
-rwxr-xr-xtest/c14n/1-1-without-comments/example-5.xml12
-rwxr-xr-xtest/c14n/1-1-without-comments/example-6.xml2
-rwxr-xr-xtest/c14n/1-1-without-comments/example-7.xml11
-rwxr-xr-xtest/c14n/1-1-without-comments/example-7.xpath10
-rwxr-xr-xtest/c14n/1-1-without-comments/example-8.xml11
-rwxr-xr-xtest/c14n/1-1-without-comments/example-8.xpath10
-rwxr-xr-xtest/c14n/1-1-without-comments/world.txt1
-rw-r--r--test/c14n/1-1-without-comments/xmlbase-c14n11spec-102.xml16
-rw-r--r--test/c14n/1-1-without-comments/xmlbase-c14n11spec-102.xpath9
-rw-r--r--test/c14n/1-1-without-comments/xmlbase-c14n11spec2-102.xml16
-rw-r--r--test/c14n/1-1-without-comments/xmlbase-c14n11spec2-102.xpath9
-rw-r--r--test/c14n/1-1-without-comments/xmlbase-c14n11spec3-102.xml14
-rw-r--r--test/c14n/1-1-without-comments/xmlbase-c14n11spec3-102.xpath9
-rwxr-xr-xtest/c14n/1-1-without-comments/xmlbase-prop-1.xml24
-rwxr-xr-xtest/c14n/1-1-without-comments/xmlbase-prop-1.xpath11
-rwxr-xr-xtest/c14n/1-1-without-comments/xmlbase-prop-2.xml23
-rwxr-xr-xtest/c14n/1-1-without-comments/xmlbase-prop-2.xpath10
-rwxr-xr-xtest/c14n/1-1-without-comments/xmlbase-prop-3.xml24
-rwxr-xr-xtest/c14n/1-1-without-comments/xmlbase-prop-3.xpath11
-rwxr-xr-xtest/c14n/1-1-without-comments/xmlbase-prop-4.xml24
-rwxr-xr-xtest/c14n/1-1-without-comments/xmlbase-prop-4.xpath11
-rwxr-xr-xtest/c14n/1-1-without-comments/xmlbase-prop-5.xml24
-rwxr-xr-xtest/c14n/1-1-without-comments/xmlbase-prop-5.xpath11
-rwxr-xr-xtest/c14n/1-1-without-comments/xmlbase-prop-6.xml23
-rwxr-xr-xtest/c14n/1-1-without-comments/xmlbase-prop-6.xpath10
-rwxr-xr-xtest/c14n/1-1-without-comments/xmlbase-prop-7.xml23
-rwxr-xr-xtest/c14n/1-1-without-comments/xmlbase-prop-7.xpath10
-rw-r--r--test/c14n/1-1-without-comments/xmlid-prop-1.xml20
-rwxr-xr-xtest/c14n/1-1-without-comments/xmlid-prop-1.xpath10
-rw-r--r--test/c14n/1-1-without-comments/xmlid-prop-2.xml20
-rwxr-xr-xtest/c14n/1-1-without-comments/xmlid-prop-2.xpath10
-rw-r--r--test/c14n/1-1-without-comments/xmllang-prop-1.xml20
-rwxr-xr-xtest/c14n/1-1-without-comments/xmllang-prop-1.xpath10
-rw-r--r--test/c14n/1-1-without-comments/xmllang-prop-2.xml20
-rwxr-xr-xtest/c14n/1-1-without-comments/xmllang-prop-2.xpath10
-rw-r--r--test/c14n/1-1-without-comments/xmllang-prop-3.xml20
-rwxr-xr-xtest/c14n/1-1-without-comments/xmllang-prop-3.xpath10
-rw-r--r--test/c14n/1-1-without-comments/xmllang-prop-4.xml20
-rwxr-xr-xtest/c14n/1-1-without-comments/xmllang-prop-4.xpath10
-rw-r--r--test/c14n/1-1-without-comments/xmlspace-prop-1.xml20
-rwxr-xr-xtest/c14n/1-1-without-comments/xmlspace-prop-1.xpath10
-rw-r--r--test/c14n/1-1-without-comments/xmlspace-prop-2.xml20
-rwxr-xr-xtest/c14n/1-1-without-comments/xmlspace-prop-2.xpath10
-rw-r--r--test/c14n/1-1-without-comments/xmlspace-prop-3.xml20
-rwxr-xr-xtest/c14n/1-1-without-comments/xmlspace-prop-3.xpath10
-rw-r--r--test/c14n/1-1-without-comments/xmlspace-prop-4.xml20
-rwxr-xr-xtest/c14n/1-1-without-comments/xmlspace-prop-4.xpath10
-rw-r--r--test/c14n/with-comments/doc.dtd1
-rw-r--r--test/c14n/without-comments/doc.dtd1
55 files changed, 724 insertions, 2 deletions
diff --git a/test/.cvsignore b/test/.cvsignore
deleted file mode 100644
index c038ed78..00000000
--- a/test/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-Makefile
-Makefile.in \ No newline at end of file
diff --git a/test/c14n/1-1-without-comments/doc.dtd b/test/c14n/1-1-without-comments/doc.dtd
new file mode 100755
index 00000000..c4602397
--- /dev/null
+++ b/test/c14n/1-1-without-comments/doc.dtd
@@ -0,0 +1 @@
+<!-- Empty DTD --> \ No newline at end of file
diff --git a/test/c14n/1-1-without-comments/example-1.xml b/test/c14n/1-1-without-comments/example-1.xml
new file mode 100755
index 00000000..ed450c73
--- /dev/null
+++ b/test/c14n/1-1-without-comments/example-1.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+
+<?xml-stylesheet href="doc.xsl"
+ type="text/xsl" ?>
+
+<!DOCTYPE doc SYSTEM "doc.dtd">
+
+<doc>Hello, world!<!-- Comment 1 --></doc>
+
+<?pi-without-data ?>
+
+<!-- Comment 2 -->
+
+<!-- Comment 3 -->
diff --git a/test/c14n/1-1-without-comments/example-2.xml b/test/c14n/1-1-without-comments/example-2.xml
new file mode 100755
index 00000000..74eeea14
--- /dev/null
+++ b/test/c14n/1-1-without-comments/example-2.xml
@@ -0,0 +1,11 @@
+<doc>
+ <clean> </clean>
+ <dirty> A B </dirty>
+ <mixed>
+ A
+ <clean> </clean>
+ B
+ <dirty> A B </dirty>
+ C
+ </mixed>
+</doc>
diff --git a/test/c14n/1-1-without-comments/example-3.xml b/test/c14n/1-1-without-comments/example-3.xml
new file mode 100755
index 00000000..a7a1950a
--- /dev/null
+++ b/test/c14n/1-1-without-comments/example-3.xml
@@ -0,0 +1,18 @@
+<!DOCTYPE doc [<!ATTLIST e9 attr CDATA "default">]>
+<doc>
+ <e1 />
+ <e2 ></e2>
+ <e3 name = "elem3" id="elem3" />
+ <e4 name="elem4" id="elem4" ></e4>
+ <e5 a:attr="out" b:attr="sorted" attr2="all" attr="I'm"
+ xmlns:b="http://www.ietf.org"
+ xmlns:a="http://www.w3.org"
+ xmlns="http://www.uvic.ca"/>
+ <e6 xmlns="" xmlns:a="http://www.w3.org">
+ <e7 xmlns="http://www.ietf.org">
+ <e8 xmlns="" xmlns:a="http://www.w3.org">
+ <e9 xmlns="" xmlns:a="http://www.ietf.org"/>
+ </e8>
+ </e7>
+ </e6>
+</doc>
diff --git a/test/c14n/1-1-without-comments/example-4.xml b/test/c14n/1-1-without-comments/example-4.xml
new file mode 100755
index 00000000..3fba1385
--- /dev/null
+++ b/test/c14n/1-1-without-comments/example-4.xml
@@ -0,0 +1,9 @@
+<!DOCTYPE doc [<!ATTLIST normId id ID #IMPLIED>]>
+<doc>
+ <text>First line&#x0d;&#10;Second line</text>
+ <value>&#x32;</value>
+ <compute><![CDATA[value>"0" && value<"10" ?"valid":"error"]]></compute>
+ <compute expr='value>"0" &amp;&amp; value&lt;"10" ?"valid":"error"'>valid</compute>
+ <norm attr=' &apos; &#x20;&#13;&#xa;&#9; &apos; '/>
+ <normId id=' &apos; &#x20;&#13;&#xa;&#9; &apos; '/>
+</doc>
diff --git a/test/c14n/1-1-without-comments/example-5.xml b/test/c14n/1-1-without-comments/example-5.xml
new file mode 100755
index 00000000..92c5322f
--- /dev/null
+++ b/test/c14n/1-1-without-comments/example-5.xml
@@ -0,0 +1,12 @@
+<!DOCTYPE doc [
+<!ATTLIST doc attrExtEnt ENTITY #IMPLIED>
+<!ENTITY ent1 "Hello">
+<!ENTITY ent2 SYSTEM "world.txt">
+<!ENTITY entExt SYSTEM "earth.gif" NDATA gif>
+<!NOTATION gif SYSTEM "viewgif.exe">
+]>
+<doc attrExtEnt="entExt">
+ &ent1;, &ent2;!
+</doc>
+
+<!-- Let world.txt contain "world" (excluding the quotes) -->
diff --git a/test/c14n/1-1-without-comments/example-6.xml b/test/c14n/1-1-without-comments/example-6.xml
new file mode 100755
index 00000000..31e20718
--- /dev/null
+++ b/test/c14n/1-1-without-comments/example-6.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<doc>&#169;</doc>
diff --git a/test/c14n/1-1-without-comments/example-7.xml b/test/c14n/1-1-without-comments/example-7.xml
new file mode 100755
index 00000000..41171cb4
--- /dev/null
+++ b/test/c14n/1-1-without-comments/example-7.xml
@@ -0,0 +1,11 @@
+<!DOCTYPE doc [
+<!ATTLIST e2 xml:space (default|preserve) 'preserve'>
+<!ATTLIST e3 id ID #IMPLIED>
+]>
+<doc xmlns="http://www.ietf.org" xmlns:w3c="http://www.w3.org">
+ <e1>
+ <e2 xmlns="">
+ <e3 id="E3"/>
+ </e2>
+ </e1>
+</doc>
diff --git a/test/c14n/1-1-without-comments/example-7.xpath b/test/c14n/1-1-without-comments/example-7.xpath
new file mode 100755
index 00000000..84ddb081
--- /dev/null
+++ b/test/c14n/1-1-without-comments/example-7.xpath
@@ -0,0 +1,10 @@
+<XPath xmlns:ietf="http://www.ietf.org" >
+ (//.|//@*|//namespace::*)
+ [
+ self::ietf:e1
+ or
+ (parent::ietf:e1 and not(self::text() or self::e2))
+ or
+ count(id("E3")|ancestor-or-self::node()) = count(ancestor-or-self::node())
+ ]
+</XPath> \ No newline at end of file
diff --git a/test/c14n/1-1-without-comments/example-8.xml b/test/c14n/1-1-without-comments/example-8.xml
new file mode 100755
index 00000000..a07f6c7b
--- /dev/null
+++ b/test/c14n/1-1-without-comments/example-8.xml
@@ -0,0 +1,11 @@
+<!DOCTYPE doc [
+<!ATTLIST e2 xml:space (default|preserve) 'preserve'>
+<!ATTLIST e3 id ID #IMPLIED>
+]>
+<doc xmlns="http://www.ietf.org" xmlns:w3c="http://www.w3.org" xml:base="something/else">
+ <e1>
+ <e2 xmlns="" xml:id="abc" xml:base="bar/">
+ <e3 id="E3" xml:base="foo"/>
+ </e2>
+ </e1>
+</doc>
diff --git a/test/c14n/1-1-without-comments/example-8.xpath b/test/c14n/1-1-without-comments/example-8.xpath
new file mode 100755
index 00000000..84ddb081
--- /dev/null
+++ b/test/c14n/1-1-without-comments/example-8.xpath
@@ -0,0 +1,10 @@
+<XPath xmlns:ietf="http://www.ietf.org" >
+ (//.|//@*|//namespace::*)
+ [
+ self::ietf:e1
+ or
+ (parent::ietf:e1 and not(self::text() or self::e2))
+ or
+ count(id("E3")|ancestor-or-self::node()) = count(ancestor-or-self::node())
+ ]
+</XPath> \ No newline at end of file
diff --git a/test/c14n/1-1-without-comments/world.txt b/test/c14n/1-1-without-comments/world.txt
new file mode 100755
index 00000000..04fea064
--- /dev/null
+++ b/test/c14n/1-1-without-comments/world.txt
@@ -0,0 +1 @@
+world \ No newline at end of file
diff --git a/test/c14n/1-1-without-comments/xmlbase-c14n11spec-102.xml b/test/c14n/1-1-without-comments/xmlbase-c14n11spec-102.xml
new file mode 100644
index 00000000..18b7c756
--- /dev/null
+++ b/test/c14n/1-1-without-comments/xmlbase-c14n11spec-102.xml
@@ -0,0 +1,16 @@
+<!--
+http://www.w3.org/TR/xmldsig2ed-tests/#c14n11xmlbase-c14n11spec-102
+
+Check that correct xml:base fixup is performed.
+-->
+<!DOCTYPE doc [
+ <!ATTLIST e2 xml:space (default|preserve) 'preserve'>
+ <!ATTLIST e3 id ID #IMPLIED>
+]>
+<doc xmlns="http://www.ietf.org" xmlns:w3c="http://www.w3.org" xml:base="http://www.example.com/something/else">
+ <e1>
+ <e2 xmlns="" xml:id="abc" xml:base="../bar/">
+ <e3 id="E3" xml:base="foo"/>
+ </e2>
+ </e1>
+</doc> \ No newline at end of file
diff --git a/test/c14n/1-1-without-comments/xmlbase-c14n11spec-102.xpath b/test/c14n/1-1-without-comments/xmlbase-c14n11spec-102.xpath
new file mode 100644
index 00000000..e919acce
--- /dev/null
+++ b/test/c14n/1-1-without-comments/xmlbase-c14n11spec-102.xpath
@@ -0,0 +1,9 @@
+<!--
+http://www.w3.org/TR/xmldsig2ed-tests/#c14n11xmlbase-c14n11spec-102
+
+Check that correct xml:base fixup is performed.
+-->
+<XPath xmlns:ietf="http://www.ietf.org" >
+(//. | //@* | //namespace::*)
+[self::ietf:e1 or (parent::ietf:e1 and not(self::text() or self::e2)) or count(id("E3")|ancestor-or-self::node()) = count(ancestor-or-self::node())]
+</XPath>
diff --git a/test/c14n/1-1-without-comments/xmlbase-c14n11spec2-102.xml b/test/c14n/1-1-without-comments/xmlbase-c14n11spec2-102.xml
new file mode 100644
index 00000000..d271afd1
--- /dev/null
+++ b/test/c14n/1-1-without-comments/xmlbase-c14n11spec2-102.xml
@@ -0,0 +1,16 @@
+<!--
+http://www.w3.org/TR/xmldsig2ed-tests/#c14n11xmlbase-c14n11spec2-102
+
+Check that correct xml:base fixup is performed.
+-->
+<!DOCTYPE doc [
+ <!ATTLIST e2 xml:space (default|preserve) 'preserve'>
+ <!ATTLIST e3 id ID #IMPLIED>
+]>
+<doc xmlns="http://www.ietf.org" xmlns:w3c="http://www.w3.org" xml:base="something/else">
+ <e1>
+ <e2 xmlns="" xml:id="abc" xml:base="bar/">
+ <e3 id="E3" xml:base="foo"/>
+ </e2>
+ </e1>
+</doc> \ No newline at end of file
diff --git a/test/c14n/1-1-without-comments/xmlbase-c14n11spec2-102.xpath b/test/c14n/1-1-without-comments/xmlbase-c14n11spec2-102.xpath
new file mode 100644
index 00000000..cdaad3ef
--- /dev/null
+++ b/test/c14n/1-1-without-comments/xmlbase-c14n11spec2-102.xpath
@@ -0,0 +1,9 @@
+<!--
+http://www.w3.org/TR/xmldsig2ed-tests/#c14n11xmlbase-c14n11spec2-102
+
+Check that correct xml:base fixup is performed.
+-->
+<XPath xmlns:ietf="http://www.ietf.org" >
+(//. | //@* | //namespace::*)
+[self::ietf:e1 or (parent::ietf:e1 and not(self::text() or self::e2)) or count(id("E3")|ancestor-or-self::node()) = count(ancestor-or-self::node())]
+</XPath>
diff --git a/test/c14n/1-1-without-comments/xmlbase-c14n11spec3-102.xml b/test/c14n/1-1-without-comments/xmlbase-c14n11spec3-102.xml
new file mode 100644
index 00000000..f46e1e9e
--- /dev/null
+++ b/test/c14n/1-1-without-comments/xmlbase-c14n11spec3-102.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+http://www.w3.org/TR/xmldsig2ed-tests/#c14n11xmlbase-c14n11spec3-102
+
+Check that correct xml:base fixup is performed.
+-->
+<a xml:base="foo/bar">
+ <b xml:base="..">
+ <c xml:base="..">
+ <d xml:base="x">
+ </d>
+ </c>
+ </b>
+</a>
diff --git a/test/c14n/1-1-without-comments/xmlbase-c14n11spec3-102.xpath b/test/c14n/1-1-without-comments/xmlbase-c14n11spec3-102.xpath
new file mode 100644
index 00000000..1d8dd713
--- /dev/null
+++ b/test/c14n/1-1-without-comments/xmlbase-c14n11spec3-102.xpath
@@ -0,0 +1,9 @@
+<!--
+http://www.w3.org/TR/xmldsig2ed-tests/#c14n11xmlbase-c14n11spec2-102
+
+Check that correct xml:base fixup is performed.
+-->
+<XPath xmlns:ietf="http://www.ietf.org" >
+(//. | //@* | //namespace::*)
+[self::a or ancestor-or-self::d]
+</XPath>
diff --git a/test/c14n/1-1-without-comments/xmlbase-prop-1.xml b/test/c14n/1-1-without-comments/xmlbase-prop-1.xml
new file mode 100755
index 00000000..24a899b7
--- /dev/null
+++ b/test/c14n/1-1-without-comments/xmlbase-prop-1.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+http://www.w3.org/TR/xmldsig2ed-tests/#c14n11xmlbase-prop-1
+
+Check that implementations of [XML-C14N1.1] work properly when the
+xml:base origin appears in the output document subset and also children
+with xml:base, which do not require further processing, are also present.
+-->
+<ietf:c14n11XmlBaseDoc1 xmlns:ietf="http://www.ietf.org" xmlns:w3c="http://www.w3.org" xml:base="http://xmlbase.example.org/xmlbase0/">
+ <ietf:e1 xml:base="/xmlbase1/">
+ <ietf:e11 xml:base="/xmlbase11/">
+ <ietf:e111 xml:base="/xmlbase111/"/>
+ </ietf:e11>
+ <ietf:e12 at="2">
+ <ietf:e121 xml:base="/xmlbase121/"/>
+ </ietf:e12>
+ </ietf:e1>
+ <ietf:e2>
+ <ietf:e21 xml:base="/xmlbase21/"/>
+ </ietf:e2>
+ <ietf:e3>
+ <ietf:e31 at="3"/>
+ </ietf:e3>
+</ietf:c14n11XmlBaseDoc1>
diff --git a/test/c14n/1-1-without-comments/xmlbase-prop-1.xpath b/test/c14n/1-1-without-comments/xmlbase-prop-1.xpath
new file mode 100755
index 00000000..168e98d6
--- /dev/null
+++ b/test/c14n/1-1-without-comments/xmlbase-prop-1.xpath
@@ -0,0 +1,11 @@
+<!--
+http://www.w3.org/TR/xmldsig2ed-tests/#c14n11xmlbase-prop-1
+
+Check that implementations of [XML-C14N1.1] work properly when the
+xml:base origin appears in the output document subset and also children
+with xml:base, which do not require further processing, are also present.
+-->
+<XPath xmlns:ietf="http://www.ietf.org" >
+(//. | //@* | //namespace::*)
+[ancestor-or-self::ietf:c14n11XmlBaseDoc1 and not(ancestor-or-self::ietf:e2)]
+</XPath>
diff --git a/test/c14n/1-1-without-comments/xmlbase-prop-2.xml b/test/c14n/1-1-without-comments/xmlbase-prop-2.xml
new file mode 100755
index 00000000..4c85329b
--- /dev/null
+++ b/test/c14n/1-1-without-comments/xmlbase-prop-2.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+http://www.w3.org/TR/xmldsig2ed-tests/#c14n11xmlbase-prop-2
+
+Check that implementations of [XML-C14N1.1] properly build the xml:base
+at the first level (ietf:e1).
+-->
+<ietf:c14n11XmlBaseDoc1 xmlns:ietf="http://www.ietf.org" xmlns:w3c="http://www.w3.org" xml:base="http://xmlbase.example.org/xmlbase0/">
+ <ietf:e1 xml:base="/xmlbase1/">
+ <ietf:e11 xml:base="/xmlbase11/">
+ <ietf:e111 xml:base="/xmlbase111/"/>
+ </ietf:e11>
+ <ietf:e12 at="2">
+ <ietf:e121 xml:base="/xmlbase121/"/>
+ </ietf:e12>
+ </ietf:e1>
+ <ietf:e2>
+ <ietf:e21 xml:base="/xmlbase21/"/>
+ </ietf:e2>
+ <ietf:e3>
+ <ietf:e31 at="3"/>
+ </ietf:e3>
+</ietf:c14n11XmlBaseDoc1>
diff --git a/test/c14n/1-1-without-comments/xmlbase-prop-2.xpath b/test/c14n/1-1-without-comments/xmlbase-prop-2.xpath
new file mode 100755
index 00000000..fdab0856
--- /dev/null
+++ b/test/c14n/1-1-without-comments/xmlbase-prop-2.xpath
@@ -0,0 +1,10 @@
+<!--
+http://www.w3.org/TR/xmldsig2ed-tests/#c14n11xmlbase-prop-2
+
+Check that implementations of [XML-C14N1.1] properly build the xml:base
+at the first level (ietf:e1).
+-->
+<XPath xmlns:ietf="http://www.ietf.org" >
+(//. | //@* | //namespace::*)
+[ancestor-or-self::ietf:e1]
+</XPath>
diff --git a/test/c14n/1-1-without-comments/xmlbase-prop-3.xml b/test/c14n/1-1-without-comments/xmlbase-prop-3.xml
new file mode 100755
index 00000000..19ce7387
--- /dev/null
+++ b/test/c14n/1-1-without-comments/xmlbase-prop-3.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+http://www.w3.org/TR/xmldsig2ed-tests/#c14n11xmlbase-prop-3
+
+Check that implementations of [XML-C14N1.1] properly build the xml:base
+if one of intermediate the levels (ietf:e1) are absent from the document
+subset.
+-->
+<ietf:c14n11XmlBaseDoc1 xmlns:ietf="http://www.ietf.org" xmlns:w3c="http://www.w3.org" xml:base="http://xmlbase.example.org/xmlbase0/">
+ <ietf:e1 xml:base="/xmlbase1/">
+ <ietf:e11 xml:base="/xmlbase11/">
+ <ietf:e111 xml:base="/xmlbase111/"/>
+ </ietf:e11>
+ <ietf:e12 at="2">
+ <ietf:e121 xml:base="/xmlbase121/"/>
+ </ietf:e12>
+ </ietf:e1>
+ <ietf:e2>
+ <ietf:e21 xml:base="/xmlbase21/"/>
+ </ietf:e2>
+ <ietf:e3>
+ <ietf:e31 at="3"/>
+ </ietf:e3>
+</ietf:c14n11XmlBaseDoc1>
diff --git a/test/c14n/1-1-without-comments/xmlbase-prop-3.xpath b/test/c14n/1-1-without-comments/xmlbase-prop-3.xpath
new file mode 100755
index 00000000..de875083
--- /dev/null
+++ b/test/c14n/1-1-without-comments/xmlbase-prop-3.xpath
@@ -0,0 +1,11 @@
+<!--
+http://www.w3.org/TR/xmldsig2ed-tests/#c14n11xmlbase-prop-3
+
+Check that implementations of [XML-C14N1.1] properly build the xml:base
+if one of intermediate the levels (ietf:e1) are absent from the document
+subset.
+-->
+<XPath xmlns:ietf="http://www.ietf.org" >
+(//. | //@* | //namespace::*)
+[ancestor-or-self::ietf:e11]
+</XPath>
diff --git a/test/c14n/1-1-without-comments/xmlbase-prop-4.xml b/test/c14n/1-1-without-comments/xmlbase-prop-4.xml
new file mode 100755
index 00000000..57e4436f
--- /dev/null
+++ b/test/c14n/1-1-without-comments/xmlbase-prop-4.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+http://www.w3.org/TR/xmldsig2ed-tests/#c14n11xmlbase-prop-4
+
+Check that implementations of [XML-C14N1.1] properly build the xml:base
+if several intermediate levels (ietf:e1 and ietf:e11) are absent from
+the document subset.
+-->
+<ietf:c14n11XmlBaseDoc1 xmlns:ietf="http://www.ietf.org" xmlns:w3c="http://www.w3.org" xml:base="http://xmlbase.example.org/xmlbase0/">
+ <ietf:e1 xml:base="/xmlbase1/">
+ <ietf:e11 xml:base="/xmlbase11/">
+ <ietf:e111 xml:base="/xmlbase111/"/>
+ </ietf:e11>
+ <ietf:e12 at="2">
+ <ietf:e121 xml:base="/xmlbase121/"/>
+ </ietf:e12>
+ </ietf:e1>
+ <ietf:e2>
+ <ietf:e21 xml:base="/xmlbase21/"/>
+ </ietf:e2>
+ <ietf:e3>
+ <ietf:e31 at="3"/>
+ </ietf:e3>
+</ietf:c14n11XmlBaseDoc1>
diff --git a/test/c14n/1-1-without-comments/xmlbase-prop-4.xpath b/test/c14n/1-1-without-comments/xmlbase-prop-4.xpath
new file mode 100755
index 00000000..818ef109
--- /dev/null
+++ b/test/c14n/1-1-without-comments/xmlbase-prop-4.xpath
@@ -0,0 +1,11 @@
+<!--
+http://www.w3.org/TR/xmldsig2ed-tests/#c14n11xmlbase-prop-4
+
+Check that implementations of [XML-C14N1.1] properly build the xml:base
+if several intermediate levels (ietf:e1 and ietf:e11) are absent from
+the document subset.
+-->
+<XPath xmlns:ietf="http://www.ietf.org" >
+(//. | //@* | //namespace::*)
+[ancestor-or-self::ietf:e111]
+</XPath>
diff --git a/test/c14n/1-1-without-comments/xmlbase-prop-5.xml b/test/c14n/1-1-without-comments/xmlbase-prop-5.xml
new file mode 100755
index 00000000..f92a897b
--- /dev/null
+++ b/test/c14n/1-1-without-comments/xmlbase-prop-5.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+http://www.w3.org/TR/xmldsig2ed-tests/#c14n11xmlbase-prop-5
+
+Check that implementations of [XML-C14N1.1] properly build the xml:base
+if one intermediate level (ietf:e2) without any xml:base attribute is absent
+from the document subset.
+-->
+<ietf:c14n11XmlBaseDoc1 xmlns:ietf="http://www.ietf.org" xmlns:w3c="http://www.w3.org" xml:base="http://xmlbase.example.org/xmlbase0/">
+ <ietf:e1 xml:base="/xmlbase1/">
+ <ietf:e11 xml:base="/xmlbase11/">
+ <ietf:e111 xml:base="/xmlbase111/"/>
+ </ietf:e11>
+ <ietf:e12 at="2">
+ <ietf:e121 xml:base="/xmlbase121/"/>
+ </ietf:e12>
+ </ietf:e1>
+ <ietf:e2>
+ <ietf:e21 xml:base="/xmlbase21/"/>
+ </ietf:e2>
+ <ietf:e3>
+ <ietf:e31 at="3"/>
+ </ietf:e3>
+</ietf:c14n11XmlBaseDoc1>
diff --git a/test/c14n/1-1-without-comments/xmlbase-prop-5.xpath b/test/c14n/1-1-without-comments/xmlbase-prop-5.xpath
new file mode 100755
index 00000000..7020803f
--- /dev/null
+++ b/test/c14n/1-1-without-comments/xmlbase-prop-5.xpath
@@ -0,0 +1,11 @@
+<!--
+http://www.w3.org/TR/xmldsig2ed-tests/#c14n11xmlbase-prop-5
+
+Check that implementations of [XML-C14N1.1] properly build the xml:base
+if one intermediate level (ietf:e2) without any xml:base attribute is absent
+from the document subset.
+-->
+<XPath xmlns:ietf="http://www.ietf.org" >
+(//. | //@* | //namespace::*)
+[ancestor-or-self::ietf:e21]
+</XPath>
diff --git a/test/c14n/1-1-without-comments/xmlbase-prop-6.xml b/test/c14n/1-1-without-comments/xmlbase-prop-6.xml
new file mode 100755
index 00000000..62824f91
--- /dev/null
+++ b/test/c14n/1-1-without-comments/xmlbase-prop-6.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+http://www.w3.org/TR/xmldsig2ed-tests/#c14n11xmlbase-prop-6
+
+Check that implementations of [XML-C14N1.1] properly build the xml:base in
+one element that originally had no xml:base attribute.
+-->
+<ietf:c14n11XmlBaseDoc1 xmlns:ietf="http://www.ietf.org" xmlns:w3c="http://www.w3.org" xml:base="http://xmlbase.example.org/xmlbase0/">
+ <ietf:e1 xml:base="/xmlbase1/">
+ <ietf:e11 xml:base="/xmlbase11/">
+ <ietf:e111 xml:base="/xmlbase111/"/>
+ </ietf:e11>
+ <ietf:e12 at="2">
+ <ietf:e121 xml:base="/xmlbase121/"/>
+ </ietf:e12>
+ </ietf:e1>
+ <ietf:e2>
+ <ietf:e21 xml:base="/xmlbase21/"/>
+ </ietf:e2>
+ <ietf:e3>
+ <ietf:e31 at="3"/>
+ </ietf:e3>
+</ietf:c14n11XmlBaseDoc1>
diff --git a/test/c14n/1-1-without-comments/xmlbase-prop-6.xpath b/test/c14n/1-1-without-comments/xmlbase-prop-6.xpath
new file mode 100755
index 00000000..2b93c646
--- /dev/null
+++ b/test/c14n/1-1-without-comments/xmlbase-prop-6.xpath
@@ -0,0 +1,10 @@
+<!--
+http://www.w3.org/TR/xmldsig2ed-tests/#c14n11xmlbase-prop-6
+
+Check that implementations of [XML-C14N1.1] properly build the xml:base in
+one element that originally had no xml:base attribute.
+-->
+<XPath xmlns:ietf="http://www.ietf.org" >
+(//. | //@* | //namespace::*)
+[ancestor-or-self::ietf:e3]
+</XPath>
diff --git a/test/c14n/1-1-without-comments/xmlbase-prop-7.xml b/test/c14n/1-1-without-comments/xmlbase-prop-7.xml
new file mode 100755
index 00000000..ee139167
--- /dev/null
+++ b/test/c14n/1-1-without-comments/xmlbase-prop-7.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+http://www.w3.org/TR/xmldsig2ed-tests/#c14n11xmlbase-prop-7
+
+Check that implementations of [XML-C14N1.1] do not pass the xml:base
+to another element when it is not necessary.
+-->
+<ietf:c14n11XmlBaseDoc1 xmlns:ietf="http://www.ietf.org" xmlns:w3c="http://www.w3.org" xml:base="http://xmlbase.example.org/xmlbase0/">
+ <ietf:e1 xml:base="/xmlbase1/">
+ <ietf:e11 xml:base="/xmlbase11/">
+ <ietf:e111 xml:base="/xmlbase111/"/>
+ </ietf:e11>
+ <ietf:e12 at="2">
+ <ietf:e121 xml:base="/xmlbase121/"/>
+ </ietf:e12>
+ </ietf:e1>
+ <ietf:e2>
+ <ietf:e21 xml:base="/xmlbase21/"/>
+ </ietf:e2>
+ <ietf:e3>
+ <ietf:e31 at="3"/>
+ </ietf:e3>
+</ietf:c14n11XmlBaseDoc1>
diff --git a/test/c14n/1-1-without-comments/xmlbase-prop-7.xpath b/test/c14n/1-1-without-comments/xmlbase-prop-7.xpath
new file mode 100755
index 00000000..7d37ab83
--- /dev/null
+++ b/test/c14n/1-1-without-comments/xmlbase-prop-7.xpath
@@ -0,0 +1,10 @@
+<!--
+http://www.w3.org/TR/xmldsig2ed-tests/#c14n11xmlbase-prop-7
+
+Check that implementations of [XML-C14N1.1] do not pass the xml:base
+to another element when it is not necessary.
+-->
+<XPath xmlns:ietf="http://www.ietf.org" >
+(//. | //@* | //namespace::*)
+[ancestor-or-self::ietf:c14n11XmlBaseDoc1 and not(ancestor-or-self::ietf:e1 or ancestor-or-self::ietf:e2)]
+</XPath>
diff --git a/test/c14n/1-1-without-comments/xmlid-prop-1.xml b/test/c14n/1-1-without-comments/xmlid-prop-1.xml
new file mode 100644
index 00000000..ca58c2b0
--- /dev/null
+++ b/test/c14n/1-1-without-comments/xmlid-prop-1.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+http://www.w3.org/TR/xmldsig2ed-tests/#XMLID
+
+Check that implementations of [XML-C14N1.1] handle xml:id attributes
+as defined in [XML-C14N1.1]
+-->
+<ietf:c14n11XmlIdDoc1 xmlns:ietf="http://www.ietf.org" xmlns:w3c="http://www.w3.org">
+ <ietf:e1 xml:id="IdInterop">
+ <ietf:e11>
+ <ietf:e111 />
+ </ietf:e11>
+ <ietf:e12 at="2">
+ <ietf:e121 />
+ </ietf:e12>
+ </ietf:e1>
+ <ietf:e2 >
+ <ietf:e21 />
+ </ietf:e2>
+</ietf:c14n11XmlIdDoc1> \ No newline at end of file
diff --git a/test/c14n/1-1-without-comments/xmlid-prop-1.xpath b/test/c14n/1-1-without-comments/xmlid-prop-1.xpath
new file mode 100755
index 00000000..dc5573c0
--- /dev/null
+++ b/test/c14n/1-1-without-comments/xmlid-prop-1.xpath
@@ -0,0 +1,10 @@
+<!--
+http://www.w3.org/TR/xmldsig2ed-tests/#XMLID
+
+Check that implementations of [XML-C14N1.1] handle xml:id attributes
+as defined in [XML-C14N1.1]
+-->
+<XPath xmlns:ietf="http://www.ietf.org" >
+(//. | //@* | //namespace::*)
+[ancestor-or-self::ietf:e1]
+</XPath>
diff --git a/test/c14n/1-1-without-comments/xmlid-prop-2.xml b/test/c14n/1-1-without-comments/xmlid-prop-2.xml
new file mode 100644
index 00000000..ca58c2b0
--- /dev/null
+++ b/test/c14n/1-1-without-comments/xmlid-prop-2.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+http://www.w3.org/TR/xmldsig2ed-tests/#XMLID
+
+Check that implementations of [XML-C14N1.1] handle xml:id attributes
+as defined in [XML-C14N1.1]
+-->
+<ietf:c14n11XmlIdDoc1 xmlns:ietf="http://www.ietf.org" xmlns:w3c="http://www.w3.org">
+ <ietf:e1 xml:id="IdInterop">
+ <ietf:e11>
+ <ietf:e111 />
+ </ietf:e11>
+ <ietf:e12 at="2">
+ <ietf:e121 />
+ </ietf:e12>
+ </ietf:e1>
+ <ietf:e2 >
+ <ietf:e21 />
+ </ietf:e2>
+</ietf:c14n11XmlIdDoc1> \ No newline at end of file
diff --git a/test/c14n/1-1-without-comments/xmlid-prop-2.xpath b/test/c14n/1-1-without-comments/xmlid-prop-2.xpath
new file mode 100755
index 00000000..bed44b7f
--- /dev/null
+++ b/test/c14n/1-1-without-comments/xmlid-prop-2.xpath
@@ -0,0 +1,10 @@
+<!--
+http://www.w3.org/TR/xmldsig2ed-tests/#XMLID
+
+Check that implementations of [XML-C14N1.1] handle xml:id attributes
+as defined in [XML-C14N1.1]
+-->
+<XPath xmlns:ietf="http://www.ietf.org" >
+(//. | //@* | //namespace::*)
+[ancestor-or-self::ietf:e11 or ancestor-or-self::ietf:e12]
+</XPath>
diff --git a/test/c14n/1-1-without-comments/xmllang-prop-1.xml b/test/c14n/1-1-without-comments/xmllang-prop-1.xml
new file mode 100644
index 00000000..1111e33b
--- /dev/null
+++ b/test/c14n/1-1-without-comments/xmllang-prop-1.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+http://www.w3.org/TR/xmldsig2ed-tests/#XMLLANG
+
+Check that implementations of [XML-C14N1.1] handle xml:lang attributes
+as defined in [XML-C14N1.1]
+-->
+<ietf:c14n11Xmllang xmlns:ietf="http://www.ietf.org" xmlns:w3c="http://www.w3.org">
+ <ietf:e1 xml:lang="EN">
+ <ietf:e11>
+ <ietf:e111 />
+ </ietf:e11>
+ <ietf:e12 at="2">
+ <ietf:e121 />
+ </ietf:e12>
+ </ietf:e1>
+ <ietf:e2 >
+ <ietf:e21 />
+ </ietf:e2>
+</ietf:c14n11Xmllang> \ No newline at end of file
diff --git a/test/c14n/1-1-without-comments/xmllang-prop-1.xpath b/test/c14n/1-1-without-comments/xmllang-prop-1.xpath
new file mode 100755
index 00000000..224924ef
--- /dev/null
+++ b/test/c14n/1-1-without-comments/xmllang-prop-1.xpath
@@ -0,0 +1,10 @@
+<!--
+http://www.w3.org/TR/xmldsig2ed-tests/#XMLLANG
+
+Check that implementations of [XML-C14N1.1] handle xml:lang attributes
+as defined in [XML-C14N1.1]
+-->
+<XPath xmlns:ietf="http://www.ietf.org" >
+(//. | //@* | //namespace::*)
+[ancestor-or-self::ietf:e1]
+</XPath>
diff --git a/test/c14n/1-1-without-comments/xmllang-prop-2.xml b/test/c14n/1-1-without-comments/xmllang-prop-2.xml
new file mode 100644
index 00000000..1111e33b
--- /dev/null
+++ b/test/c14n/1-1-without-comments/xmllang-prop-2.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+http://www.w3.org/TR/xmldsig2ed-tests/#XMLLANG
+
+Check that implementations of [XML-C14N1.1] handle xml:lang attributes
+as defined in [XML-C14N1.1]
+-->
+<ietf:c14n11Xmllang xmlns:ietf="http://www.ietf.org" xmlns:w3c="http://www.w3.org">
+ <ietf:e1 xml:lang="EN">
+ <ietf:e11>
+ <ietf:e111 />
+ </ietf:e11>
+ <ietf:e12 at="2">
+ <ietf:e121 />
+ </ietf:e12>
+ </ietf:e1>
+ <ietf:e2 >
+ <ietf:e21 />
+ </ietf:e2>
+</ietf:c14n11Xmllang> \ No newline at end of file
diff --git a/test/c14n/1-1-without-comments/xmllang-prop-2.xpath b/test/c14n/1-1-without-comments/xmllang-prop-2.xpath
new file mode 100755
index 00000000..ca217581
--- /dev/null
+++ b/test/c14n/1-1-without-comments/xmllang-prop-2.xpath
@@ -0,0 +1,10 @@
+<!--
+http://www.w3.org/TR/xmldsig2ed-tests/#XMLLANG
+
+Check that implementations of [XML-C14N1.1] handle xml:lang attributes
+as defined in [XML-C14N1.1]
+-->
+<XPath xmlns:ietf="http://www.ietf.org" >
+(//. | //@* | //namespace::*)
+[ancestor-or-self::ietf:e2]
+</XPath>
diff --git a/test/c14n/1-1-without-comments/xmllang-prop-3.xml b/test/c14n/1-1-without-comments/xmllang-prop-3.xml
new file mode 100644
index 00000000..1111e33b
--- /dev/null
+++ b/test/c14n/1-1-without-comments/xmllang-prop-3.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+http://www.w3.org/TR/xmldsig2ed-tests/#XMLLANG
+
+Check that implementations of [XML-C14N1.1] handle xml:lang attributes
+as defined in [XML-C14N1.1]
+-->
+<ietf:c14n11Xmllang xmlns:ietf="http://www.ietf.org" xmlns:w3c="http://www.w3.org">
+ <ietf:e1 xml:lang="EN">
+ <ietf:e11>
+ <ietf:e111 />
+ </ietf:e11>
+ <ietf:e12 at="2">
+ <ietf:e121 />
+ </ietf:e12>
+ </ietf:e1>
+ <ietf:e2 >
+ <ietf:e21 />
+ </ietf:e2>
+</ietf:c14n11Xmllang> \ No newline at end of file
diff --git a/test/c14n/1-1-without-comments/xmllang-prop-3.xpath b/test/c14n/1-1-without-comments/xmllang-prop-3.xpath
new file mode 100755
index 00000000..86e77fa6
--- /dev/null
+++ b/test/c14n/1-1-without-comments/xmllang-prop-3.xpath
@@ -0,0 +1,10 @@
+<!--
+http://www.w3.org/TR/xmldsig2ed-tests/#XMLLANG
+
+Check that implementations of [XML-C14N1.1] handle xml:lang attributes
+as defined in [XML-C14N1.1]
+-->
+<XPath xmlns:ietf="http://www.ietf.org" >
+(//. | //@* | //namespace::*)
+[ancestor-or-self::ietf:e11]
+</XPath>
diff --git a/test/c14n/1-1-without-comments/xmllang-prop-4.xml b/test/c14n/1-1-without-comments/xmllang-prop-4.xml
new file mode 100644
index 00000000..1111e33b
--- /dev/null
+++ b/test/c14n/1-1-without-comments/xmllang-prop-4.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+http://www.w3.org/TR/xmldsig2ed-tests/#XMLLANG
+
+Check that implementations of [XML-C14N1.1] handle xml:lang attributes
+as defined in [XML-C14N1.1]
+-->
+<ietf:c14n11Xmllang xmlns:ietf="http://www.ietf.org" xmlns:w3c="http://www.w3.org">
+ <ietf:e1 xml:lang="EN">
+ <ietf:e11>
+ <ietf:e111 />
+ </ietf:e11>
+ <ietf:e12 at="2">
+ <ietf:e121 />
+ </ietf:e12>
+ </ietf:e1>
+ <ietf:e2 >
+ <ietf:e21 />
+ </ietf:e2>
+</ietf:c14n11Xmllang> \ No newline at end of file
diff --git a/test/c14n/1-1-without-comments/xmllang-prop-4.xpath b/test/c14n/1-1-without-comments/xmllang-prop-4.xpath
new file mode 100755
index 00000000..fdc7661e
--- /dev/null
+++ b/test/c14n/1-1-without-comments/xmllang-prop-4.xpath
@@ -0,0 +1,10 @@
+<!--
+http://www.w3.org/TR/xmldsig2ed-tests/#XMLLANG
+
+Check that implementations of [XML-C14N1.1] handle xml:lang attributes
+as defined in [XML-C14N1.1]
+-->
+<XPath xmlns:ietf="http://www.ietf.org" >
+(//. | //@* | //namespace::*)
+[ancestor-or-self::ietf:e11 or ancestor-or-self::ietf:e12]
+</XPath>
diff --git a/test/c14n/1-1-without-comments/xmlspace-prop-1.xml b/test/c14n/1-1-without-comments/xmlspace-prop-1.xml
new file mode 100644
index 00000000..62da9e4c
--- /dev/null
+++ b/test/c14n/1-1-without-comments/xmlspace-prop-1.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+http://www.w3.org/TR/xmldsig2ed-tests/#XMLSPACE
+
+Check that implementations of [XML-C14N1.1] handle xml:space attributes
+as defined in [XML-C14N1.1]
+-->
+<ietf:c14n11XmlSpaceDoc1 xmlns:ietf="http://www.ietf.org" xmlns:w3c="http://www.w3.org">
+ <ietf:e1 xml:space="true">
+ <ietf:e11>
+ <ietf:e111 />
+ </ietf:e11>
+ <ietf:e12 at="2">
+ <ietf:e121 />
+ </ietf:e12>
+ </ietf:e1>
+ <ietf:e2 >
+ <ietf:e21 />
+ </ietf:e2>
+</ietf:c14n11XmlSpaceDoc1> \ No newline at end of file
diff --git a/test/c14n/1-1-without-comments/xmlspace-prop-1.xpath b/test/c14n/1-1-without-comments/xmlspace-prop-1.xpath
new file mode 100755
index 00000000..bad373a4
--- /dev/null
+++ b/test/c14n/1-1-without-comments/xmlspace-prop-1.xpath
@@ -0,0 +1,10 @@
+<!--
+http://www.w3.org/TR/xmldsig2ed-tests/#XMLSPACE
+
+Check that implementations of [XML-C14N1.1] handle xml:space attributes
+as defined in [XML-C14N1.1]
+-->
+<XPath xmlns:ietf="http://www.ietf.org" >
+(//. | //@* | //namespace::*)
+[ancestor-or-self::ietf:e1]
+</XPath>
diff --git a/test/c14n/1-1-without-comments/xmlspace-prop-2.xml b/test/c14n/1-1-without-comments/xmlspace-prop-2.xml
new file mode 100644
index 00000000..62da9e4c
--- /dev/null
+++ b/test/c14n/1-1-without-comments/xmlspace-prop-2.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+http://www.w3.org/TR/xmldsig2ed-tests/#XMLSPACE
+
+Check that implementations of [XML-C14N1.1] handle xml:space attributes
+as defined in [XML-C14N1.1]
+-->
+<ietf:c14n11XmlSpaceDoc1 xmlns:ietf="http://www.ietf.org" xmlns:w3c="http://www.w3.org">
+ <ietf:e1 xml:space="true">
+ <ietf:e11>
+ <ietf:e111 />
+ </ietf:e11>
+ <ietf:e12 at="2">
+ <ietf:e121 />
+ </ietf:e12>
+ </ietf:e1>
+ <ietf:e2 >
+ <ietf:e21 />
+ </ietf:e2>
+</ietf:c14n11XmlSpaceDoc1> \ No newline at end of file
diff --git a/test/c14n/1-1-without-comments/xmlspace-prop-2.xpath b/test/c14n/1-1-without-comments/xmlspace-prop-2.xpath
new file mode 100755
index 00000000..ffb7d854
--- /dev/null
+++ b/test/c14n/1-1-without-comments/xmlspace-prop-2.xpath
@@ -0,0 +1,10 @@
+<!--
+http://www.w3.org/TR/xmldsig2ed-tests/#XMLSPACE
+
+Check that implementations of [XML-C14N1.1] handle xml:space attributes
+as defined in [XML-C14N1.1]
+-->
+<XPath xmlns:ietf="http://www.ietf.org" >
+(//. | //@* | //namespace::*)
+[ancestor-or-self::ietf:e2]
+</XPath>
diff --git a/test/c14n/1-1-without-comments/xmlspace-prop-3.xml b/test/c14n/1-1-without-comments/xmlspace-prop-3.xml
new file mode 100644
index 00000000..62da9e4c
--- /dev/null
+++ b/test/c14n/1-1-without-comments/xmlspace-prop-3.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+http://www.w3.org/TR/xmldsig2ed-tests/#XMLSPACE
+
+Check that implementations of [XML-C14N1.1] handle xml:space attributes
+as defined in [XML-C14N1.1]
+-->
+<ietf:c14n11XmlSpaceDoc1 xmlns:ietf="http://www.ietf.org" xmlns:w3c="http://www.w3.org">
+ <ietf:e1 xml:space="true">
+ <ietf:e11>
+ <ietf:e111 />
+ </ietf:e11>
+ <ietf:e12 at="2">
+ <ietf:e121 />
+ </ietf:e12>
+ </ietf:e1>
+ <ietf:e2 >
+ <ietf:e21 />
+ </ietf:e2>
+</ietf:c14n11XmlSpaceDoc1> \ No newline at end of file
diff --git a/test/c14n/1-1-without-comments/xmlspace-prop-3.xpath b/test/c14n/1-1-without-comments/xmlspace-prop-3.xpath
new file mode 100755
index 00000000..3f27aed4
--- /dev/null
+++ b/test/c14n/1-1-without-comments/xmlspace-prop-3.xpath
@@ -0,0 +1,10 @@
+<!--
+http://www.w3.org/TR/xmldsig2ed-tests/#XMLSPACE
+
+Check that implementations of [XML-C14N1.1] handle xml:space attributes
+as defined in [XML-C14N1.1]
+-->
+<XPath xmlns:ietf="http://www.ietf.org" >
+(//. | //@* | //namespace::*)
+[ancestor-or-self::ietf:e11]
+</XPath>
diff --git a/test/c14n/1-1-without-comments/xmlspace-prop-4.xml b/test/c14n/1-1-without-comments/xmlspace-prop-4.xml
new file mode 100644
index 00000000..62da9e4c
--- /dev/null
+++ b/test/c14n/1-1-without-comments/xmlspace-prop-4.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+http://www.w3.org/TR/xmldsig2ed-tests/#XMLSPACE
+
+Check that implementations of [XML-C14N1.1] handle xml:space attributes
+as defined in [XML-C14N1.1]
+-->
+<ietf:c14n11XmlSpaceDoc1 xmlns:ietf="http://www.ietf.org" xmlns:w3c="http://www.w3.org">
+ <ietf:e1 xml:space="true">
+ <ietf:e11>
+ <ietf:e111 />
+ </ietf:e11>
+ <ietf:e12 at="2">
+ <ietf:e121 />
+ </ietf:e12>
+ </ietf:e1>
+ <ietf:e2 >
+ <ietf:e21 />
+ </ietf:e2>
+</ietf:c14n11XmlSpaceDoc1> \ No newline at end of file
diff --git a/test/c14n/1-1-without-comments/xmlspace-prop-4.xpath b/test/c14n/1-1-without-comments/xmlspace-prop-4.xpath
new file mode 100755
index 00000000..49c43952
--- /dev/null
+++ b/test/c14n/1-1-without-comments/xmlspace-prop-4.xpath
@@ -0,0 +1,10 @@
+<!--
+http://www.w3.org/TR/xmldsig2ed-tests/#XMLSPACE
+
+Check that implementations of [XML-C14N1.1] handle xml:space attributes
+as defined in [XML-C14N1.1]
+-->
+<XPath xmlns:ietf="http://www.ietf.org" >
+(//. | //@* | //namespace::*)
+[ancestor-or-self::ietf:e11 or ancestor-or-self::ietf:e12]
+</XPath>
diff --git a/test/c14n/with-comments/doc.dtd b/test/c14n/with-comments/doc.dtd
index e69de29b..c4602397 100644
--- a/test/c14n/with-comments/doc.dtd
+++ b/test/c14n/with-comments/doc.dtd
@@ -0,0 +1 @@
+<!-- Empty DTD --> \ No newline at end of file
diff --git a/test/c14n/without-comments/doc.dtd b/test/c14n/without-comments/doc.dtd
index e69de29b..c4602397 100644
--- a/test/c14n/without-comments/doc.dtd
+++ b/test/c14n/without-comments/doc.dtd
@@ -0,0 +1 @@
+<!-- Empty DTD --> \ No newline at end of file