Annotation of embedaddon/libxml2/test/namespaces/reconcile/tests.xml, revision 1.1
1.1 ! misho 1: <?xml version="1.0"?>
! 2: <tests>
! 3: <test name="adopt_recon_default">
! 4:
! 5: <doc name="doc1"><![CDATA[<p1 xmlns="urn:test:AAA"><a/></p1>]]></doc>
! 6: <doc name="doc2"><![CDATA[<p1 xmlns="urn:test:BBB"><b/></p1>]]></doc>
! 7: <doc name="doc3"><![CDATA[<p2 xmlns="urn:test:ZZZ"/>]]></doc>
! 8: <var name="a">
! 9: <xpath doc="doc1" select-node="/a:p1/a:a">
! 10: <reg-ns prefix="a" ns="urn:test:AAA"/>
! 11: </xpath>
! 12: </var>
! 13: <var name="b" >
! 14: <xpath doc="doc2" select-node="/b:p1/b:b">
! 15: <reg-ns prefix="b" ns="urn:test:BBB"/>
! 16: </xpath>
! 17: </var>
! 18: <var name="p2">
! 19: <xpath doc="doc3" select-node="/z:p2">
! 20: <reg-ns prefix="z" ns="urn:test:ZZZ"/>
! 21: </xpath>
! 22: </var>
! 23:
! 24: <remove node="a"/>
! 25: <adopt dest-doc="doc3" node="a"/>
! 26: <append-child parent="p2" child="a"/>
! 27:
! 28: <!-- This time without a previous removing. -->
! 29: <adopt dest-doc="doc3" node="b"/>
! 30: <append-child parent="p2" child="b"/>
! 31:
! 32: <reconcile-ns node="p2"/>
! 33: <expected doc="doc3"><![CDATA[<p2 xmlns="urn:test:ZZZ"><a xmlns="urn:test:AAA"/><b xmlns="urn:test:BBB"/></p2>]]></expected>
! 34: </test>
! 35:
! 36: <test name="adopt_recon">
! 37: <doc name="doc1"><![CDATA[<a:p1 xmlns:a="urn:test:AAA"><a:a/></a:p1>]]></doc>
! 38: <doc name="doc2"><![CDATA[<a:p2 xmlns:a="urn:test:AAA"/>]]></doc>
! 39: <var name="a">
! 40: <xpath doc="doc1" select-node="/a:p1/a:a">
! 41: <reg-ns prefix="a" ns="urn:test:AAA"/>
! 42: </xpath>
! 43: </var>
! 44: <var name="p2">
! 45: <xpath doc="doc2" select-node="/a:p2">
! 46: <reg-ns prefix="a" ns="urn:test:AAA"/>
! 47: </xpath>
! 48: </var>
! 49: <adopt dest-doc="doc2" node="a"/>
! 50: <append-child parent="p2" child="a"/>
! 51: <reconcile-ns node="a"/>
! 52: <expected doc="doc2"><![CDATA[<a:p2 xmlns:a="urn:test:AAA"><a:a/></a:p2>]]></expected>
! 53: </test>
! 54:
! 55: <test name="adopt_recon_attr">
! 56: <doc name="doc1"><![CDATA[<p1 xmlns:b="urn:test:BBB" b:attr="marvin"/>]]></doc>
! 57: <doc name="doc2"><![CDATA[<a:p2 xmlns:a="urn:test:AAA"/>]]></doc>
! 58: <var name="attr">
! 59: <xpath doc="doc1" select-node="/p1/@b:attr">
! 60: <reg-ns prefix="b" ns="urn:test:BBB"/>
! 61: </xpath>
! 62: </var>
! 63: <var name="p2">
! 64: <xpath doc="doc2" select-node="/a:p2">
! 65: <reg-ns prefix="a" ns="urn:test:AAA"/>
! 66: </xpath>
! 67: </var>
! 68: <adopt dest-doc="doc2" node="attr" />
! 69: <append-child parent="p2" child="attr"/>
! 70: <reconcile-ns node="p2"/>
! 71: <expected doc="doc2"><![CDATA[<a:p2 xmlns:a="urn:test:AAA" xmlns:b="urn:test:BBB" b:attr="marvin"/>]]></expected>
! 72: </test>
! 73:
! 74: <test name="adopt_recon_attr_2">
! 75: <!-- Here we will specify a destination-parent for adoption. -->
! 76: <doc name="doc1"><![CDATA[<p1 xmlns:b="urn:test:BBB" b:attr="marvin"/>]]></doc>
! 77: <doc name="doc2"><![CDATA[<a:p2 xmlns:a="urn:test:AAA"/>]]></doc>
! 78: <var name="attr">
! 79: <xpath doc="doc1" select-node="/p1/@b:attr">
! 80: <reg-ns prefix="b" ns="urn:test:BBB"/>
! 81: </xpath>
! 82: </var>
! 83: <var name="p2">
! 84: <xpath doc="doc2" select-node="/a:p2">
! 85: <reg-ns prefix="a" ns="urn:test:AAA"/>
! 86: </xpath>
! 87: </var>
! 88: <adopt dest-doc="doc2" dest-parent="p2" node="attr" />
! 89: <append-child parent="p2" child="attr"/>
! 90: <reconcile-ns node="p2"/>
! 91: <expected doc="doc2"><![CDATA[<a:p2 xmlns:a="urn:test:AAA" xmlns:b="urn:test:BBB" b:attr="marvin"/>]]></expected>
! 92: </test>
! 93:
! 94: <test name="adopt_recon_attr_3">
! 95: <!-- Conflicting ns-prefixes for the added attribute. -->
! 96: <doc name="doc1"><![CDATA[<p1 xmlns:a="urn:test:AAA" a:attr="marvin"/>]]></doc>
! 97: <doc name="doc2"><![CDATA[<a:p2 xmlns:a="urn:test:aaa"/>]]></doc>
! 98: <var name="attr">
! 99: <xpath doc="doc1" select-node="/p1/@a:attr">
! 100: <reg-ns prefix="a" ns="urn:test:AAA"/>
! 101: </xpath>
! 102: </var>
! 103: <var name="p2">
! 104: <xpath doc="doc2" select-node="/a:p2">
! 105: <reg-ns prefix="a" ns="urn:test:aaa"/>
! 106: </xpath>
! 107: </var>
! 108: <adopt dest-doc="doc2" node="attr" />
! 109: <append-child parent="p2" child="attr"/>
! 110: <reconcile-ns node="p2"/>
! 111: <expected doc="doc2"><![CDATA[<a:p2 xmlns:a="urn:test:aaa" xmlns:a1="urn:test:AAA" a1:attr="marvin"/>]]></expected>
! 112: </test>
! 113:
! 114: <test name="adopt_recon_attr_4">
! 115: <!-- Qualified attribute added to default namespaced elem. -->
! 116: <doc name="doc1"><![CDATA[<p1 xmlns:a="urn:test:AAA" a:attr="marvin"/>]]></doc>
! 117: <doc name="doc2"><![CDATA[<p2 xmlns="urn:test:AAA"/>]]></doc>
! 118: <var name="attr">
! 119: <xpath doc="doc1" select-node="/p1/@a:attr">
! 120: <reg-ns prefix="a" ns="urn:test:AAA"/>
! 121: </xpath>
! 122: </var>
! 123: <var name="p2">
! 124: <xpath doc="doc2" select-node="/a:p2">
! 125: <reg-ns prefix="a" ns="urn:test:AAA"/>
! 126: </xpath>
! 127: </var>
! 128: <adopt dest-doc="doc2" node="attr" />
! 129: <append-child parent="p2" child="attr"/>
! 130: <reconcile-ns node="p2"/>
! 131: <expected doc="doc2"><![CDATA[<p2 xmlns="urn:test:AAA" xmlns:a="urn:test:AAA" a:attr="marvin"/>]]></expected>
! 132: </test>
! 133:
! 134: <test name="adopt_recon_attr_5">
! 135: <!-- Shadowed and conflicting prefix. dest-parent IS given. -->
! 136: <doc name="doc1"><![CDATA[<p1 xmlns:a="urn:test:AAA" a:attr="marvin"/>]]></doc>
! 137: <doc name="doc2"><![CDATA[<p2 xmlns:a="urn:test:AAA"><a:p3 xmlns:a="urn:test:ZZZ"/></p2>]]></doc>
! 138: <var name="attr">
! 139: <xpath doc="doc1" select-node="/p1/@a:attr">
! 140: <reg-ns prefix="a" ns="urn:test:AAA"/>
! 141: </xpath>
! 142: </var>
! 143: <var name="p3">
! 144: <xpath doc="doc2" select-node="/p2/a:p3">
! 145: <reg-ns prefix="a" ns="urn:test:ZZZ"/>
! 146: </xpath>
! 147: </var>
! 148: <adopt dest-doc="doc2" node="attr" dest-parent="p3"/>
! 149: <append-child parent="p3" child="attr"/>
! 150: <!-- Note that we don't need to reconcile here, since done during
! 151: adoption. -->
! 152: <expected doc="doc2"><![CDATA[
! 153: <p2 xmlns:a="urn:test:AAA">
! 154: <a:p3 xmlns:a="urn:test:ZZZ" xmlns:a1="urn:test:AAA" a1:attr="marvin"/>
! 155: </p2>]]></expected>
! 156: </test>
! 157:
! 158: <test name="adopt_recon_attr_6">
! 159: <!-- Shadowed and conflicting prefix. dest-parent NOT given. -->
! 160: <doc name="doc1"><![CDATA[<p1 xmlns:a="urn:test:AAA" a:attr="marvin"/>]]></doc>
! 161: <doc name="doc2"><![CDATA[<p2 xmlns:a="urn:test:AAA"><a:p3 xmlns:a="urn:test:ZZZ"/></p2>]]></doc>
! 162: <var name="attr">
! 163: <xpath doc="doc1" select-node="/p1/@a:attr">
! 164: <reg-ns prefix="a" ns="urn:test:AAA"/>
! 165: </xpath>
! 166: </var>
! 167: <var name="p3">
! 168: <xpath doc="doc2" select-node="/p2/a:p3">
! 169: <reg-ns prefix="a" ns="urn:test:ZZZ"/>
! 170: </xpath>
! 171: </var>
! 172: <adopt dest-doc="doc2" node="attr"/>
! 173: <append-child parent="p3" child="attr"/>
! 174: <reconcile-ns node="p3"/>
! 175: <expected doc="doc2"><![CDATA[
! 176: <p2 xmlns:a="urn:test:AAA">
! 177: <a:p3 xmlns:a="urn:test:ZZZ" xmlns:a1="urn:test:AAA" a1:attr="marvin"/>
! 178: </p2>]]></expected>
! 179: </test>
! 180:
! 181: <test name="shadow_1">
! 182:
! 183: <doc name="doc"><![CDATA[
! 184: <foo xmlns:foo="urn:test:mine">
! 185: <p xmlns:bar="urn:test:mine"/>
! 186: <a1>
! 187: <a2 xmlns:bar="urn:test:OTHER">
! 188: <foo:a3/>
! 189: </a2>
! 190: </a1>
! 191: </foo>
! 192: ]]></doc>
! 193: <var name="a1">
! 194: <xpath doc="doc" select-node="/foo/a1"/>
! 195: </var>
! 196: <var name="p" >
! 197: <xpath doc="doc" select-node="/foo/p"/>
! 198: </var>
! 199: <remove node="a1"/>
! 200: <append-child parent="p" child="a1"/>
! 201: <reconcile-ns node="a1"/>
! 202: <expected doc="doc"><![CDATA[
! 203: <foo xmlns:foo="urn:test:mine">
! 204: <p xmlns:bar="urn:test:mine">
! 205: <a1>
! 206: <a2 xmlns:bar="urn:test:OTHER">
! 207: <foo:a3/>
! 208: </a2>
! 209: </a1>
! 210: </p>
! 211: </foo>
! 212: ]]></expected>
! 213: </test>
! 214:
! 215: <test name="norm_1">
! 216:
! 217: <doc name="doc"><![CDATA[
! 218: <foo>
! 219: <p1 xmlns:a="urn:test:A" xmlns:b="urn:test:B" xmlns:c="urn:test:C">
! 220: <a:a>
! 221: <b:b a:attr="dont" c:attr="panic"/>
! 222: </a:a>
! 223: </p1>
! 224: <p2/>
! 225: </foo>
! 226: ]]></doc>
! 227: <var name="a">
! 228: <xpath doc="doc" select-node="/foo/p1/a:a">
! 229: <reg-ns prefix="a" ns="urn:test:A"/>
! 230: </xpath>
! 231: </var>
! 232: <var name="p2" >
! 233: <xpath doc="doc" select-node="/foo/p2"/>
! 234: </var>
! 235: <remove node="a"/>
! 236: <append-child parent="p2" child="a"/>
! 237: <reconcile-ns node="a"/>
! 238: <expected doc="doc"><![CDATA[
! 239: <foo>
! 240: <p1 xmlns:a="urn:test:A" xmlns:b="urn:test:B" xmlns:c="urn:test:C"/>
! 241: <p2>
! 242: <a:a xmlns:a="urn:test:A">
! 243: <b:b xmlns:b="urn:test:B" xmlns:c="urn:test:C" a:attr="dont" c:attr="panic"/>
! 244: </a:a>
! 245: </p2>
! 246: </foo>
! 247: ]]></expected>
! 248: </test>
! 249: </tests>
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>