DOMEntity (JavaScript)

文書のエンティティを表します (解析対象か解析対象外かは無関係です)。

定義場所

DOM (JavaScript)

メソッド

このクラスは、DOMNode (JavaScript) のメソッドを継承します。 ほかのメソッドも追加されています。

使用法

このインターフェースは、XML 文書の 解析対象と解析対象外の両方のエンティティを表します。モデル化しているのはエンティティ宣言ではなく、 エンティティ自体であることに注意してください。エンティティ宣言のモデル化は、 今後のレベルの DOM 仕様で扱われることになっています。

Node から 継承される nodeName 属性はエンティティの名前を 含んでいます。

XML プロセッサは、 構造モデルを DOM に渡す前にエンティティを完全に展開する可能性があります。 その場合、文書ツリーに EntityReference ノードは存在しません。XML では、 非検証 XML プロセッサが外部サブセットで行われたか外部パラメータエンティティで 宣言されたエンティティ宣言を読み取って処理することを 義務付けていません。そのため、 外部サブセットで宣言された解析対象エンティティは、 アプリケーションのクラスによって展開する必要がないことがあります。 また、エンティティの置換値が使用可能でないことがあります。置換値が使用可能な場合は、 対応する Entity ノードの子リストがその置換テキストの構造を表します。 それ以外の場合、子リストは空です。

DOM レベル 2 は Entity ノードの 編集をサポートしていません。Entity の内容を変更したい場合は、 構造モデルで、関連したすべての EntityReference ノードを Entity の内容の複製で置換した後、 それぞれの複製に対して変更を加える必要があります。Entity ノードと そのすべての子孫は読み取り専用です。

Entity ノードは親を持ちません。 バインドされていない名前空間プレフィックスがエンティティに 含まれる場合、Entity ノードサブツリーの対応するノードの namespaceURI は NULL になります。このことは、このエンティティを参照する EntityReference ノードにも当てはまります。 この場合、それらのノードは Document インターフェースの createEntityReference メソッドを 使用して作成されます。DOM Level 2 は、 名前空間プレフィックスを解決するためのメカニズムをサポートしていません。