File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / libxml2 / test / namespaces / reconcile / tests.xml
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue Feb 21 23:37:59 2012 UTC (12 years, 5 months ago) by misho
Branches: libxml2, MAIN
CVS tags: v2_9_1p0, v2_9_1, v2_8_0p0, v2_8_0, v2_7_8, HEAD
libxml2

    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>