|
|
<?xml version="1.0"?> |
|
|
<tests> |
|
|
<test name="adopt_recon_default"> |
|
|
|
|
|
<doc name="doc1"><![CDATA[<p1 xmlns="urn:test:AAA"><a/></p1>]]></doc> |
|
|
<doc name="doc2"><![CDATA[<p1 xmlns="urn:test:BBB"><b/></p1>]]></doc> |
|
|
<doc name="doc3"><![CDATA[<p2 xmlns="urn:test:ZZZ"/>]]></doc> |
|
|
<var name="a"> |
|
|
<xpath doc="doc1" select-node="/a:p1/a:a"> |
|
|
<reg-ns prefix="a" ns="urn:test:AAA"/> |
|
|
</xpath> |
|
|
</var> |
|
|
<var name="b" > |
|
|
<xpath doc="doc2" select-node="/b:p1/b:b"> |
|
|
<reg-ns prefix="b" ns="urn:test:BBB"/> |
|
|
</xpath> |
|
|
</var> |
|
|
<var name="p2"> |
|
|
<xpath doc="doc3" select-node="/z:p2"> |
|
|
<reg-ns prefix="z" ns="urn:test:ZZZ"/> |
|
|
</xpath> |
|
|
</var> |
|
|
|
|
|
<remove node="a"/> |
|
|
<adopt dest-doc="doc3" node="a"/> |
|
|
<append-child parent="p2" child="a"/> |
|
|
|
|
|
|
|
|
<adopt dest-doc="doc3" node="b"/> |
|
|
<append-child parent="p2" child="b"/> |
|
|
|
|
|
<reconcile-ns node="p2"/> |
|
|
<expected doc="doc3"><![CDATA[<p2 xmlns="urn:test:ZZZ"><a xmlns="urn:test:AAA"/><b xmlns="urn:test:BBB"/></p2>]]></expected> |
|
|
</test> |
|
|
|
|
|
<test name="adopt_recon"> |
|
|
<doc name="doc1"><![CDATA[<a:p1 xmlns:a="urn:test:AAA"><a:a/></a:p1>]]></doc> |
|
|
<doc name="doc2"><![CDATA[<a:p2 xmlns:a="urn:test:AAA"/>]]></doc> |
|
|
<var name="a"> |
|
|
<xpath doc="doc1" select-node="/a:p1/a:a"> |
|
|
<reg-ns prefix="a" ns="urn:test:AAA"/> |
|
|
</xpath> |
|
|
</var> |
|
|
<var name="p2"> |
|
|
<xpath doc="doc2" select-node="/a:p2"> |
|
|
<reg-ns prefix="a" ns="urn:test:AAA"/> |
|
|
</xpath> |
|
|
</var> |
|
|
<adopt dest-doc="doc2" node="a"/> |
|
|
<append-child parent="p2" child="a"/> |
|
|
<reconcile-ns node="a"/> |
|
|
<expected doc="doc2"><![CDATA[<a:p2 xmlns:a="urn:test:AAA"><a:a/></a:p2>]]></expected> |
|
|
</test> |
|
|
|
|
|
<test name="adopt_recon_attr"> |
|
|
<doc name="doc1"><![CDATA[<p1 xmlns:b="urn:test:BBB" b:attr="marvin"/>]]></doc> |
|
|
<doc name="doc2"><![CDATA[<a:p2 xmlns:a="urn:test:AAA"/>]]></doc> |
|
|
<var name="attr"> |
|
|
<xpath doc="doc1" select-node="/p1/@b:attr"> |
|
|
<reg-ns prefix="b" ns="urn:test:BBB"/> |
|
|
</xpath> |
|
|
</var> |
|
|
<var name="p2"> |
|
|
<xpath doc="doc2" select-node="/a:p2"> |
|
|
<reg-ns prefix="a" ns="urn:test:AAA"/> |
|
|
</xpath> |
|
|
</var> |
|
|
<adopt dest-doc="doc2" node="attr" /> |
|
|
<append-child parent="p2" child="attr"/> |
|
|
<reconcile-ns node="p2"/> |
|
|
<expected doc="doc2"><![CDATA[<a:p2 xmlns:a="urn:test:AAA" xmlns:b="urn:test:BBB" b:attr="marvin"/>]]></expected> |
|
|
</test> |
|
|
|
|
|
<test name="adopt_recon_attr_2"> |
|
|
|
|
|
<doc name="doc1"><![CDATA[<p1 xmlns:b="urn:test:BBB" b:attr="marvin"/>]]></doc> |
|
|
<doc name="doc2"><![CDATA[<a:p2 xmlns:a="urn:test:AAA"/>]]></doc> |
|
|
<var name="attr"> |
|
|
<xpath doc="doc1" select-node="/p1/@b:attr"> |
|
|
<reg-ns prefix="b" ns="urn:test:BBB"/> |
|
|
</xpath> |
|
|
</var> |
|
|
<var name="p2"> |
|
|
<xpath doc="doc2" select-node="/a:p2"> |
|
|
<reg-ns prefix="a" ns="urn:test:AAA"/> |
|
|
</xpath> |
|
|
</var> |
|
|
<adopt dest-doc="doc2" dest-parent="p2" node="attr" /> |
|
|
<append-child parent="p2" child="attr"/> |
|
|
<reconcile-ns node="p2"/> |
|
|
<expected doc="doc2"><![CDATA[<a:p2 xmlns:a="urn:test:AAA" xmlns:b="urn:test:BBB" b:attr="marvin"/>]]></expected> |
|
|
</test> |
|
|
|
|
|
<test name="adopt_recon_attr_3"> |
|
|
|
|
|
<doc name="doc1"><![CDATA[<p1 xmlns:a="urn:test:AAA" a:attr="marvin"/>]]></doc> |
|
|
<doc name="doc2"><![CDATA[<a:p2 xmlns:a="urn:test:aaa"/>]]></doc> |
|
|
<var name="attr"> |
|
|
<xpath doc="doc1" select-node="/p1/@a:attr"> |
|
|
<reg-ns prefix="a" ns="urn:test:AAA"/> |
|
|
</xpath> |
|
|
</var> |
|
|
<var name="p2"> |
|
|
<xpath doc="doc2" select-node="/a:p2"> |
|
|
<reg-ns prefix="a" ns="urn:test:aaa"/> |
|
|
</xpath> |
|
|
</var> |
|
|
<adopt dest-doc="doc2" node="attr" /> |
|
|
<append-child parent="p2" child="attr"/> |
|
|
<reconcile-ns node="p2"/> |
|
|
<expected doc="doc2"><![CDATA[<a:p2 xmlns:a="urn:test:aaa" xmlns:a1="urn:test:AAA" a1:attr="marvin"/>]]></expected> |
|
|
</test> |
|
|
|
|
|
<test name="adopt_recon_attr_4"> |
|
|
|
|
|
<doc name="doc1"><![CDATA[<p1 xmlns:a="urn:test:AAA" a:attr="marvin"/>]]></doc> |
|
|
<doc name="doc2"><![CDATA[<p2 xmlns="urn:test:AAA"/>]]></doc> |
|
|
<var name="attr"> |
|
|
<xpath doc="doc1" select-node="/p1/@a:attr"> |
|
|
<reg-ns prefix="a" ns="urn:test:AAA"/> |
|
|
</xpath> |
|
|
</var> |
|
|
<var name="p2"> |
|
|
<xpath doc="doc2" select-node="/a:p2"> |
|
|
<reg-ns prefix="a" ns="urn:test:AAA"/> |
|
|
</xpath> |
|
|
</var> |
|
|
<adopt dest-doc="doc2" node="attr" /> |
|
|
<append-child parent="p2" child="attr"/> |
|
|
<reconcile-ns node="p2"/> |
|
|
<expected doc="doc2"><![CDATA[<p2 xmlns="urn:test:AAA" xmlns:a="urn:test:AAA" a:attr="marvin"/>]]></expected> |
|
|
</test> |
|
|
|
|
|
<test name="adopt_recon_attr_5"> |
|
|
|
|
|
<doc name="doc1"><![CDATA[<p1 xmlns:a="urn:test:AAA" a:attr="marvin"/>]]></doc> |
|
|
<doc name="doc2"><![CDATA[<p2 xmlns:a="urn:test:AAA"><a:p3 xmlns:a="urn:test:ZZZ"/></p2>]]></doc> |
|
|
<var name="attr"> |
|
|
<xpath doc="doc1" select-node="/p1/@a:attr"> |
|
|
<reg-ns prefix="a" ns="urn:test:AAA"/> |
|
|
</xpath> |
|
|
</var> |
|
|
<var name="p3"> |
|
|
<xpath doc="doc2" select-node="/p2/a:p3"> |
|
|
<reg-ns prefix="a" ns="urn:test:ZZZ"/> |
|
|
</xpath> |
|
|
</var> |
|
|
<adopt dest-doc="doc2" node="attr" dest-parent="p3"/> |
|
|
<append-child parent="p3" child="attr"/> |
|
|
|
|
|
|
|
|
<expected doc="doc2"><![CDATA[ |
|
|
<p2 xmlns:a="urn:test:AAA"> |
|
|
<a:p3 xmlns:a="urn:test:ZZZ" xmlns:a1="urn:test:AAA" a1:attr="marvin"/> |
|
|
</p2>]]></expected> |
|
|
</test> |
|
|
|
|
|
<test name="adopt_recon_attr_6"> |
|
|
|
|
|
<doc name="doc1"><![CDATA[<p1 xmlns:a="urn:test:AAA" a:attr="marvin"/>]]></doc> |
|
|
<doc name="doc2"><![CDATA[<p2 xmlns:a="urn:test:AAA"><a:p3 xmlns:a="urn:test:ZZZ"/></p2>]]></doc> |
|
|
<var name="attr"> |
|
|
<xpath doc="doc1" select-node="/p1/@a:attr"> |
|
|
<reg-ns prefix="a" ns="urn:test:AAA"/> |
|
|
</xpath> |
|
|
</var> |
|
|
<var name="p3"> |
|
|
<xpath doc="doc2" select-node="/p2/a:p3"> |
|
|
<reg-ns prefix="a" ns="urn:test:ZZZ"/> |
|
|
</xpath> |
|
|
</var> |
|
|
<adopt dest-doc="doc2" node="attr"/> |
|
|
<append-child parent="p3" child="attr"/> |
|
|
<reconcile-ns node="p3"/> |
|
|
<expected doc="doc2"><![CDATA[ |
|
|
<p2 xmlns:a="urn:test:AAA"> |
|
|
<a:p3 xmlns:a="urn:test:ZZZ" xmlns:a1="urn:test:AAA" a1:attr="marvin"/> |
|
|
</p2>]]></expected> |
|
|
</test> |
|
|
|
|
|
<test name="shadow_1"> |
|
|
|
|
|
<doc name="doc"><![CDATA[ |
|
|
<foo xmlns:foo="urn:test:mine"> |
|
|
<p xmlns:bar="urn:test:mine"/> |
|
|
<a1> |
|
|
<a2 xmlns:bar="urn:test:OTHER"> |
|
|
<foo:a3/> |
|
|
</a2> |
|
|
</a1> |
|
|
</foo> |
|
|
]]></doc> |
|
|
<var name="a1"> |
|
|
<xpath doc="doc" select-node="/foo/a1"/> |
|
|
</var> |
|
|
<var name="p" > |
|
|
<xpath doc="doc" select-node="/foo/p"/> |
|
|
</var> |
|
|
<remove node="a1"/> |
|
|
<append-child parent="p" child="a1"/> |
|
|
<reconcile-ns node="a1"/> |
|
|
<expected doc="doc"><![CDATA[ |
|
|
<foo xmlns:foo="urn:test:mine"> |
|
|
<p xmlns:bar="urn:test:mine"> |
|
|
<a1> |
|
|
<a2 xmlns:bar="urn:test:OTHER"> |
|
|
<foo:a3/> |
|
|
</a2> |
|
|
</a1> |
|
|
</p> |
|
|
</foo> |
|
|
]]></expected> |
|
|
</test> |
|
|
|
|
|
<test name="norm_1"> |
|
|
|
|
|
<doc name="doc"><![CDATA[ |
|
|
<foo> |
|
|
<p1 xmlns:a="urn:test:A" xmlns:b="urn:test:B" xmlns:c="urn:test:C"> |
|
|
<a:a> |
|
|
<b:b a:attr="dont" c:attr="panic"/> |
|
|
</a:a> |
|
|
</p1> |
|
|
<p2/> |
|
|
</foo> |
|
|
]]></doc> |
|
|
<var name="a"> |
|
|
<xpath doc="doc" select-node="/foo/p1/a:a"> |
|
|
<reg-ns prefix="a" ns="urn:test:A"/> |
|
|
</xpath> |
|
|
</var> |
|
|
<var name="p2" > |
|
|
<xpath doc="doc" select-node="/foo/p2"/> |
|
|
</var> |
|
|
<remove node="a"/> |
|
|
<append-child parent="p2" child="a"/> |
|
|
<reconcile-ns node="a"/> |
|
|
<expected doc="doc"><![CDATA[ |
|
|
<foo> |
|
|
<p1 xmlns:a="urn:test:A" xmlns:b="urn:test:B" xmlns:c="urn:test:C"/> |
|
|
<p2> |
|
|
<a:a xmlns:a="urn:test:A"> |
|
|
<b:b xmlns:b="urn:test:B" xmlns:c="urn:test:C" a:attr="dont" c:attr="panic"/> |
|
|
</a:a> |
|
|
</p2> |
|
|
</foo> |
|
|
]]></expected> |
|
|
</test> |
|
|
</tests> |
|
|
|