Annotation of embedaddon/libxml2/test/namespaces/reconcile/tests.xml, revision 1.1.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>