#36379 [Opn->Fbk]: SVG XML parsing looses child tags and attributes
| From: | chregu@php.net | Date: | Wed, 15 Feb 2006 05:55:55 +0000 |
| Subject: | #36379 [Opn->Fbk]: SVG XML parsing looses child tags and attributes | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-93274@lists.php.net to get a copy of this message | ||
ID: 36379
Updated by: chregu@php.net
Reported By: rele at gmx dot de
-Status: Open
+Status: Feedback
Bug Type: SimpleXML related
Operating System: Windows XP SP1
PHP Version: 5.1.2
New Comment:
print_r (and var_dump) isn't a reliable method for checking,
what's "inside" a simplexml object.
Please check with an iterator, if there's really something
missing and provide a reproducable script.
Previous Comments:
------------------------------------------------------------------------
[2006-02-13 15:24:18] rele at gmx dot de
Description:
------------
I want to parse SVG XML code with SimpleXML, but under certain
circumstances the parsed SimpleXMLElements do not contain either
attributes or child tags.
Reproduce code:
---------------
$test_simplexml_errors_svg = <<<EOD
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"[
<!ENTITY E1 'font-size:7pt'>
]>
<svg id="svg_output" version="1.1" xmlns="http://www.w3.org/2000/svg"
viewBox="-2 -7 1561 708">
<text id="1a" style="&E1;" x="300"
y="100">ParentText <tspan id="2a"
dy="12" x="310">ChildText1</tspan><tspan id="3a"
dy="12" x="350">
</tspan></text>
<text id="1b" style="&E1;" x="400"
y="200"><tspan id="2b" dy="12"
x="410">ChildText1</tspan><tspan id="3b" dy="12"
x="450">
</tspan></text>
<text id="1c" style="&E1;" x="500"
y="300"><tspan id="2c" dy="12"
x="510">ChildText1</tspan><tspan id="3c" dy="12"
x="550">ChildText2</tspan></text>
</svg>
EOD;
print_r(simplexml_load_string($test_simplexml_errors_svg));
Expected result:
----------------
SimpleXMLElement Object
(
[@attributes] => Array
(
[id] => svg_output
[version] => 1.1
[viewBox] => -2 -7 1561 708
)
[text] => Array
(
[0] => SimpleXMLElement Object
(
[@attributes] => Array
(
[id] => 1a
[style] => font-size:7pt
[x] => 300
[y] => 100
)
[0] => ParentText
)
[1] => SimpleXMLElement Object
(
[@attributes] => Array
(
[id] => 1b
[style] => font-size:7pt
[x] => 400
[y] => 200
)
[tspan] => Array
(
[0] => SimpleXMLElement Object
(
[@attributes] => Array
(
[id] => 2b
[dy] => 12
[x] => 410
)
[0] => ChildText1
)
[1] => SimpleXMLElement Object
(
[@attributes] => Array
(
[id] => 3b
[dy] => 12
[x] => 450
)
[0] =>
)
)
)
[2] => SimpleXMLElement Object
(
[@attributes] => Array
(
[id] => 1c
[style] => font-size:7pt
[x] => 500
[y] => 300
)
[tspan] => Array
(
[0] => SimpleXMLElement Object
(
[@attributes] => Array
(
[id] => 2c
[dy] => 12
[x] => 510
)
[0] => ChildText1
)
[1] => SimpleXMLElement Object
(
[@attributes] => Array
(
[id] => 3c
[dy] => 12
[x] => 550
)
[0] => ChildText2
)
)
)
)
)
Actual result:
--------------
SimpleXMLElement Object
(
[@attributes] => Array
(
[id] => svg_output
[version] => 1.1
[viewBox] => -2 -7 1561 708
)
[text] => Array
(
[0] => ParentText
[1] => SimpleXMLElement Object
(
[@attributes] => Array
(
[id] => 1b
[style] => font-size:7pt
[x] => 400
[y] => 200
)
[tspan] => Array
(
[0] => ChildText1
[1] => SimpleXMLElement Object
(
[@attributes] => Array
(
[id] => 3b
[dy] => 12
[x] => 450
)
[0] =>
)
)
)
[2] => SimpleXMLElement Object
(
[@attributes] => Array
(
[id] => 1c
[style] => font-size:7pt
[x] => 500
[y] => 300
)
[tspan] => Array
(
[0] => ChildText1
[1] => ChildText2
)
)
)
)
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=36379&edit=1