Document
インターフェイスは HTML/XML 文書全体をあらわす。概念上、 これは文書ツリーの ルート であり、文書データへの基本的なアクセスを提供する。
要素、テキストノード、注釈処理命令、他は、 Document
の文脈の外部には存在できないので、 Document
インターフェイスはこれらのオブジェクトの生成を必要とする製造(factory)メソッドも持つ。生成された Node
オブジェクトは ownerDocument
プロパティを持ち、内部でそのノードを生成した文脈の Document
に関連付ける。
doctype
DocumentType
型, 読取専用
DocumentType
参照)。文書型宣言のないものについては、 HTML文書、XML文書ともに null
を返す。 DOMレベル2 は文書型宣言の編集をサポートしない。 insertNode
や removeNode
のような Node
インターフェイスを継承するメソッド使用を含め、どんな方法を使っても docType
をの変更はできない。documentElement
Element
型, 読取専用
implementation
DOMImplementation
型, 読取専用
DOMImplementation
オブジェクト。DOM アプリケーションは複数の実装からオブジェクトを使用してよい。createAttribute
( name )与えられた名前の Attr
を生成する。 Attr
インスタンスは setAttributeNode
メソッドを用いて Element
上に置くことが可能であることに注意。
修飾名と名前空間URIを持つ属性の生成には、createAttributeNS
メソッドを使用する。
Attr 型。新しい Attr
オブジェクトで、 nodeName
プロパティは name
に、また localName
, prefix
, namespaceURI
は null
に設定される。属性の値は空文字列である。
createAttributeNS
( namespaceURI, qualifiedName )与えられた修飾名と名前空間URIの属性を生成する。 HTML限定の実装はこのメソッドを実装する必要はない。
Attr 型。Attr
オブジェクトで、次に挙げるプロパティを持つ:
Attribute | Value |
---|---|
Node.nodeName |
qualifiedName |
Node.namespaceURI |
namespaceURI |
Node.prefix |
接頭辞。これは
qualifiedName から抽出される。接頭辞が存在しない場合は null |
Node.localName |
qualifiedName から抽出される ローカル名 |
Attr.name |
qualifiedName |
Node.nodeValue |
空文字列 |
qualifiedName
が奇形(malformed)である場合、 qualifiedName
が接頭辞を持ち namespaceURI
が null
である場合、 qualifiedName
が接頭辞 "xml" を持つのに namespaceURI
が "http://www.w3.org/XML/1998/namespace" ではない場合、 qualifiedName
が "xmlns" であるが namespaceURI
が "http://www.w3.org/2000/xmlns/" ではない場合に発生。createCDATASection
( data )指定された文字列を値に持つ CDATASection
ノードを生成。
CDATASection
の内容のためのデータ。CDATASection 型。新しい CDATASection
オブジェクト。
createComment
( data )createDocumentFragment
( )createElement
( tagName )指定した型の要素を生成する。 Note
that 返されるインスタンスは Element
インターフェイスを実装し、したがって返されるオブジェクト上に直接属性を指定可能であることに注意。
加えて、デフォルト値を持つ既知の属性がある場合、それらを表す Attr
ノードが自動生成され、その要素に据えられる。
修飾名と名前空間URIを持つ要素の生成には、 createElementNS
メソッドを用いる。
tagName
パラメータは任意の文字ケースで提供されてよいが、DOM実装によって正統(canonical)大文字形式にマップされなければならない。Element 型。新しい Element
オブジェクトで、 nodeName
プロパティは tagName
に、 localName
, prefix
, namespaceURI
は null
に設定される。
createElementNS
( namespaceURI, qualifiedName )与えられた修飾名と名前空間URIをの要素を生成する。 HTML限定の実装はこのメソッドを実装する必要はない。
Element 型。新しい Element
オブジェクトで、次に挙げるプロパティを持つ:
プロパティ | 値 |
---|---|
Node.nodeName |
qualifiedName |
Node.namespaceURI |
namespaceURI |
Node.prefix |
接頭辞。これは qualifiedName から抽出される。接頭辞が存在しない場合は null 。 |
Node.localName |
ローカル名。これは qualifiedName から抽出される。 |
Element.tagName |
qualifiedName |
qualifiedName
が奇形(malformed)である場合、 qualifiedName
が接頭辞を持ち namespaceURI
が null
である場合、 qualifiedName
が接頭辞 "xml" を持つのに namespaceURI
が "http://www.w3.org/XML/1998/namespace" [Namespaces] ではない場合に発生。createEntityReference
( name )EntityReference
オブジェクトを生成する。更に、参照される実体が既知のものである場合、EntityReference
ノードの子のリストが、該当する Entity
ノードの子のリストと同じように作成される。
Note: Entity
ノードの子孫に結合されない 名前空間接頭辞 を持つものがある場合、生成された EntityReference
ノードの該当する子孫も結合されない; (それの namespaceURI
は null
である)。 DOMレベル2 は名前空間接頭辞を解決するいかなる機構もサポートしない。
EntityReference 型。新しい EntityReference
オブジェクト。
createProcessingInstruction
( target, data )与えられた名前とデータ文字列を持つ ProcessingInstruction
ノードを生成する。
ProcessingInstruction 型。新しい ProcessingInstruction
オブジェクト。
createTextNode
( data )getElementById
( elementId )getElementsByTagName
( tagname )getElementsByTagNameNS
( namespaceURI, localName )importNode
( importedNode, deep )別文書からこの文書にノードをインポートする。返されるノードは親を持たない; (parentNode
が null
である)。ソースノードは元文書から変更されたり除去されたりしない; このメソッドはソースノードの新しい複製を作成する。
全ノードについて、ノードのインポートはインポートする文書に所有されるノードオブジェクトを生成し、これはソースノードの nodeName
, nodeType
と一致するプロパティ値, 加えて名前空間の関連するプロパティ(prefix
, localName
, namespaceURI
) を持つ。 Node
上の cloneNode
操作のように、ソースノードは変更されない。
追加情報は nodeType
に適切なように複製され、XMLまたはHTML のソース片を一方から他方へ複製する場合は期待する振る舞いの模倣を試み、XMLでは2個の文書は異なるDTDを持ってよいと認識する。次のリストに各ノード型についての仕様を述べる。
Attr
上の ownerElement
プロパティは null
に、 specified
フラグは true
に設定される。ソースとなる Attr
の 子孫 は再帰的にインポートされ、結果のノードは該当する下位ツリーを形成するように再構築される。deep
パラメータは Attr
ノードには影響がないことに注意; それらはインポート時に常に子を運んで来る。deep
オプションが true
ならば、ソース要素の 子孫 は再帰的にインポートされ、結果のノードは該当する下位ツリーを形成するように再構築される。 そうでない場合は、これは単に空の DocumentFragment
を生成する。Document
ノードのインポートはできない。DocumentType
ノードのインポートはできない。Attr
ノードは生成された Element
ノードに添付される。 デフォルトの属性は複製され ず、だがインポートを行う文書がこの要素名にデフォルトの属性を定義する場合、それらは代入される。 importNode
の deep
パラメータが true
ならば、ソース要素の 子孫 は再帰的にインポートされ、結果のノードは該当する下位ツリーを形成するように再構築される。Entity
ノードはインポート可能だが、DOMの現在のリリースでは DocumentType
は読取専用である。 DocumentType
へインポートされるノードの追加の可能性は、 DOMの将来のリリースへの追加のために熟考されるだろう.publicId
, systemId
, notationName
プロパティは複製される。 deep
インポートが要求されるならば、ソース Entity
の 子孫 は再帰的にインポートされ該当する下位ツリーを形成するべく再構築される。deep
インポートの要求に関係なく EntityReference
自身のみが複製される。ソースと送り先文書で実体を異なる物として定義しているかもれないからである。インポートを行う文書がこの実体名を定義している場合、その値が割当てられる。Notation
ノードはインポート可能だが、DOMの現在のリリースにおいて DocumentType
は読取専用である。 これらインポートされたノードを DocumentType
に追加する可能性はDOMの将来のリリースへの追加のために熟考されるだろう。publicId
, systemId
プロパティが複製される。deep
パラメータは Notation
ノー土壌に何の影響も値ないことに注意。target
と data
の値をそのソースノードから複製する。CharacterData
を継承するこれら三つのノード型は、 data
, length
プロパティをソースノードから複製する。true
ならば、指定されたノード以下の下位ツリーを再帰的にインポートする; false
ならば、そのノード自身だけをインポートする。 Attr
, EntityReference
, Notation
ノード上では何の影響もない。Node 型。この Document
に所属するインポートされたノード。
interface Document : Node { readonly attribute DocumentType doctype; readonly attribute DOMImplementation implementation; readonly attribute Element documentElement; Element createElement(in DOMString tagName) raises(DOMException); DocumentFragment createDocumentFragment(); Text createTextNode(in DOMString data); Comment createComment(in DOMString data); CDATASection createCDATASection(in DOMString data) raises(DOMException); ProcessingInstruction createProcessingInstruction(in DOMString target, in DOMString data) raises(DOMException); Attr createAttribute(in DOMString name) raises(DOMException); EntityReference createEntityReference(in DOMString name) raises(DOMException); NodeList getElementsByTagName(in DOMString tagname); // Introduced in DOM Level 2: Node importNode(in Node importedNode, in boolean deep) raises(DOMException); // Introduced in DOM Level 2: Element createElementNS(in DOMString namespaceURI, in DOMString qualifiedName) raises(DOMException); // Introduced in DOM Level 2: Attr createAttributeNS(in DOMString namespaceURI, in DOMString qualifiedName) raises(DOMException); // Introduced in DOM Level 2: NodeList getElementsByTagNameNS(in DOMString namespaceURI, in DOMString localName); // Introduced in DOM Level 2: Element getElementById(in DOMString elementId); };