- PR -

外部および内部エンティティの取得&出力方法について

1
投稿者投稿内容
未記入
会議室デビュー日: 2006/01/26
投稿数: 1
投稿日時: 2006-01-26 06:56
DOMを使用してXMLファイルを操作しているのですが、元のXMLファイルに定義されているエンティティ([ <!ENTITY ・・・>の事です。)を加工せずに、そのままファイルへ出力したいのですが、出力できません。恐れ入りますが、どなたかご教授お願いします。
※ getEntities()メソッドで取得できるみたいなのですが、nullが戻ってきてしまいます。

マシン環境:AIX5.3
Java環境 :jre1.4.2_10
パーサー:crimson(都合により、Xercesが使用できません。)

以上、よろしくお願い致します。
MMX
ぬし
会議室デビュー日: 2001/10/26
投稿数: 861
投稿日時: 2006-01-26 10:07
インタフェース Entity
http://java.sun.com/j2se/1.4/ja/docs/ja/api/org/w3c/dom/Entity.html
このインタフェースによってモデル化されるのは、エンティティ宣言ではなくエンティティ自体です。Entity 宣言のモデル化については、将来の DOM 仕様で規定される予定です。

XML プロセッサは、構造モデルを DOM に渡す前にエンティティを完全に拡張することができます。拡張が行われた場合、文書ツリー内に EntityReference ノードは作成されません。

xmlを読み込むとき、「エンティティを展開する=true」設定になっているかもしれません。
===================================
Document から下って DocumentType → Entity をたどり
interface Entity : Node {
readonly attribute DOMString publicId;
readonly attribute DOMString systemId;
readonly attribute DOMString notationName;
};

Node を継承する nodeName 属性には、エンティティ名が含まれています。
で <!ENTITY を再構成できるのでは?

http://www.asahi-net.or.jp/~dp8t-asm/java/articles/XMLJava2/article.html#id_752_

[ メッセージ編集済み 編集者: MMX 編集日時 2006-01-26 10:43 ]
1

スキルアップ/キャリアアップ(JOB@IT)