Дочерний XML не включен в родительский XML
Как начинающий XML, я пытаюсь использовать ENTITY для включения xml в другой.
Родительский xml
<?xml version="1.0" standalone="no"?>
<!DOCTYPE install SYSTEM "https://foo.org/xml-shemas/install.xsd" [
<!ENTITY tables SYSTEM "install/db/tables/tables.xml">
]>
<install xmlns="h4a:install">
<database>
&tables;
</database>
</install>
Детский xml
<?xml version="1.0"?>
<tables>
<table name="my-table">
<column name="column_id" ... />
...
</table>
</tables>
Чтобы проверить это, я использую PHP-код
Код PHP
$str_install = file_get_contents( $config_path . "install.xml" );
$xml_install = simplexml_load_string( $str_install );
$config['install'] = $xml_install;
var_dump( $config['install'] );
Выход
object(SimpleXMLElement)#1106 (1) {
["database"]=> object(SimpleXMLElement)#1107 (1) {
["tables"]=> object(SimpleXMLElement)#1108 (1) {
["tables"]=> object(SimpleXMLElement)#1109 (0) {
}
}
}
}
Я не понимаю, почему я получил ["tables"]=> object(SimpleXMLElement)
дважды, и я что-то упустил, чтобы это исправить.