[PHP-users 23023]Re: XML DOM処理で要素追加
Hitoshi Kawano
kawano @ topics.or.jp
2004年 8月 19日 (木) 18:15:35 JST
河野です。
Ushiroさん、安高さんありがとうございます。
$doc = domxml_open_file("fileA.xml");
で読めました。
エンティティですが、次のようなサンプルになります。
<!DOCTYPE test [
<!ENTITY % sample.dtd SYSTEM "../DTD/sample.dtd">
%sample.dtd;
]>
ここで、sample.dtdが展開されてしまうのですが、もしおわかりでしたら
教えてください。
> > fileA.xmlの先頭にエンティティ宣言があるのですが、そこにある
> > DTDがエレメントの置き換えを行った後、展開されてしまいます。
> > この展開をしないようにするにはどうすればいいのでしょうか?
>
> 以下のような感じで先日のテストスクリプト([PHP-users 23010])で実験
> してみましたが(php4.3.4)、展開はされませんでした。
>
> [fileA.xml]
> -------------------------------------------------
> <?xml version = "1.0" encoding="UTF-8"?>
> <!DOCTYPE test [
> <!ENTITY aaa SYSTEM "fileC.xml">
> <!ENTITY bbb "hello">
> ]>
> <EL1>
> <EL2>
> <EL3>&aaa;</EL3>
> <EL4>&bbb;</EL4>
> </EL2>
> <EL6>
> <EL7>ddd</EL7>
> </EL6>
> </EL1>
> -------------------------------------------------
>
> [fileB.xml]
> -------------------------------------------------
> <?xml version = "1.0" encoding="UTF-8"?>
> <!DOCTYPE test [
> <!ENTITY aaa SYSTEM "fileC.xml">
> <!ENTITY bbb "hello">
> ]>
> <EL1>
> <EL2>
> <EL3>&aaa;</EL3>
> <EL4>&bbb;</EL4>
> <EL5>&bbb;</EL5>
> </EL2>
> </EL1>
> -------------------------------------------------
>
>
> [fileC.xml]
> -------------------------------------------------
> <?xml version = "1.0" encoding="UTF-8"?>
> <TT>
> <XX>ENT</XX>
> </TT>
> -------------------------------------------------
>
> [出力結果]
> -------------------------------------------------
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE test [
> <!ENTITY aaa SYSTEM "fileC.xml">
> <!ENTITY bbb "hello">
> ]>
> <EL1>
> <EL2>
> <EL3>&aaa;</EL3>
> <EL4>&bbb;</EL4>
> <EL5>&bbb;</EL5>
> </EL2>
> <EL6>
> <EL7>ddd</EL7>
> </EL6>
> </EL1>
> -------------------------------------------------
>
> こういうことではなくて?
> もう少し具体的なサンプルがあるとわかりいいかもしれません。
_/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/☆彡
河野 仁(Hitoshi Kawano)
E-Mail:kawano @ topics.or.jp
_/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/
PHP-users メーリングリストの案内