Дочерний 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)дважды, и я что-то упустил, чтобы это исправить.

0 ответов

Другие вопросы по тегам