Annotation of embedaddon/php/ext/simplexml/tests/024.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: SimpleXML: XPath and attributes
                      3: --SKIPIF--
                      4: <?php if (!extension_loaded("simplexml")) print "skip"; ?>
                      5: --FILE--
                      6: <?php
                      7: 
                      8: $xml =<<<EOF
                      9: <?xml version='1.0'?>
                     10: <root>
                     11: <elem attr1='11' attr2='12' attr3='13'/>
                     12: <elem attr1='21' attr2='22' attr3='23'/>
                     13: <elem attr1='31' attr2='32' attr3='33'/>
                     14: </root>
                     15: EOF;
                     16: 
                     17: $sxe = simplexml_load_string($xml);
                     18: 
                     19: function test($xpath)
                     20: {
                     21:        global $sxe;
                     22: 
                     23:        echo "===$xpath===\n";
                     24:        var_dump($sxe->xpath($xpath));
                     25: }
                     26: 
                     27: test('elem/@attr2');
                     28: test('//@attr2');
                     29: test('//@*');
                     30: test('elem[2]/@attr2');
                     31: 
                     32: ?>
                     33: ===DONE===
                     34: --EXPECTF--
                     35: ===elem/@attr2===
                     36: array(3) {
                     37:   [0]=>
                     38:   object(SimpleXMLElement)#%d (1) {
                     39:     ["@attributes"]=>
                     40:     array(1) {
                     41:       ["attr2"]=>
                     42:       string(2) "12"
                     43:     }
                     44:   }
                     45:   [1]=>
                     46:   object(SimpleXMLElement)#%d (1) {
                     47:     ["@attributes"]=>
                     48:     array(1) {
                     49:       ["attr2"]=>
                     50:       string(2) "22"
                     51:     }
                     52:   }
                     53:   [2]=>
                     54:   object(SimpleXMLElement)#%d (1) {
                     55:     ["@attributes"]=>
                     56:     array(1) {
                     57:       ["attr2"]=>
                     58:       string(2) "32"
                     59:     }
                     60:   }
                     61: }
                     62: ===//@attr2===
                     63: array(3) {
                     64:   [0]=>
                     65:   object(SimpleXMLElement)#%d (1) {
                     66:     ["@attributes"]=>
                     67:     array(1) {
                     68:       ["attr2"]=>
                     69:       string(2) "12"
                     70:     }
                     71:   }
                     72:   [1]=>
                     73:   object(SimpleXMLElement)#%d (1) {
                     74:     ["@attributes"]=>
                     75:     array(1) {
                     76:       ["attr2"]=>
                     77:       string(2) "22"
                     78:     }
                     79:   }
                     80:   [2]=>
                     81:   object(SimpleXMLElement)#%d (1) {
                     82:     ["@attributes"]=>
                     83:     array(1) {
                     84:       ["attr2"]=>
                     85:       string(2) "32"
                     86:     }
                     87:   }
                     88: }
                     89: ===//@*===
                     90: array(9) {
                     91:   [0]=>
                     92:   object(SimpleXMLElement)#%d (1) {
                     93:     ["@attributes"]=>
                     94:     array(1) {
                     95:       ["attr1"]=>
                     96:       string(2) "11"
                     97:     }
                     98:   }
                     99:   [1]=>
                    100:   object(SimpleXMLElement)#%d (1) {
                    101:     ["@attributes"]=>
                    102:     array(1) {
                    103:       ["attr2"]=>
                    104:       string(2) "12"
                    105:     }
                    106:   }
                    107:   [2]=>
                    108:   object(SimpleXMLElement)#%d (1) {
                    109:     ["@attributes"]=>
                    110:     array(1) {
                    111:       ["attr3"]=>
                    112:       string(2) "13"
                    113:     }
                    114:   }
                    115:   [3]=>
                    116:   object(SimpleXMLElement)#%d (1) {
                    117:     ["@attributes"]=>
                    118:     array(1) {
                    119:       ["attr1"]=>
                    120:       string(2) "21"
                    121:     }
                    122:   }
                    123:   [4]=>
                    124:   object(SimpleXMLElement)#%d (1) {
                    125:     ["@attributes"]=>
                    126:     array(1) {
                    127:       ["attr2"]=>
                    128:       string(2) "22"
                    129:     }
                    130:   }
                    131:   [5]=>
                    132:   object(SimpleXMLElement)#%d (1) {
                    133:     ["@attributes"]=>
                    134:     array(1) {
                    135:       ["attr3"]=>
                    136:       string(2) "23"
                    137:     }
                    138:   }
                    139:   [6]=>
                    140:   object(SimpleXMLElement)#%d (1) {
                    141:     ["@attributes"]=>
                    142:     array(1) {
                    143:       ["attr1"]=>
                    144:       string(2) "31"
                    145:     }
                    146:   }
                    147:   [7]=>
                    148:   object(SimpleXMLElement)#%d (1) {
                    149:     ["@attributes"]=>
                    150:     array(1) {
                    151:       ["attr2"]=>
                    152:       string(2) "32"
                    153:     }
                    154:   }
                    155:   [8]=>
                    156:   object(SimpleXMLElement)#%d (1) {
                    157:     ["@attributes"]=>
                    158:     array(1) {
                    159:       ["attr3"]=>
                    160:       string(2) "33"
                    161:     }
                    162:   }
                    163: }
                    164: ===elem[2]/@attr2===
                    165: array(1) {
                    166:   [0]=>
                    167:   object(SimpleXMLElement)#%d (1) {
                    168:     ["@attributes"]=>
                    169:     array(1) {
                    170:       ["attr2"]=>
                    171:       string(2) "22"
                    172:     }
                    173:   }
                    174: }
                    175: ===DONE===

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>