|
Common DOM API | ||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||||
Document インタフェースは、HTML ドキュメントまたは XML ドキュメントの全体を表します。これは、概念的にはドキュメントツリーのルートであり、ドキュメントのデータへの主要なアクセスを提供します。
要素、テキスト、コメント、処理命令などは Document のコンテキストの外部には存在できないので、Document インタフェースはこれらのオブジェクトを作成するために必要なファクトリメソッドも含みます。作成された Node オブジェクトは、作成されたコンテキスト内の Document に関連付けられた ownerDocument 属性を持ちます。
詳細については、 「Document Object Model (DOM) Level 2 Core Specification」 も参照してください。
| フィールドの概要 |
| インタフェース org.w3c.dom.Node から継承したフィールド |
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE |
| メソッドの概要 | |
Attr |
createAttribute(String name)
指定された名前を持つ Attr オブジェクトを作成します。 |
Attr |
createAttributeNS(String namespaceURI,
String qualifiedName)
指定された修飾名と名前空間 URI を持つ属性を作成します。 |
CDATASection |
createCDATASection(String data)
指定された文字列を値に持つ CDATASection ノードを作成します。 |
Comment |
createComment(String data)
指定された文字列を含む Comment ノードを作成します。 |
DocumentFragment |
createDocumentFragment()
空の DocumentFragment オブジェクトを作成します。 |
Element |
createElement(String tagName)
指定された型の要素を作成します。 |
Element |
createElementNS(String namespaceURI,
String qualifiedName)
指定された修飾名と名前空間 URI を持つ要素を作成します。 |
EntityReference |
createEntityReference(String name)
EntityReference オブジェクトを作成します。 |
ProcessingInstruction |
createProcessingInstruction(String target,
String data)
指定された名前とデータ文字列を持つ ProcessingInstruction ノードを作成します。 |
Text |
createTextNode(String data)
指定された文字列を含む Text ノードを作成します。 |
DocumentType |
getDoctype()
このドキュメントに関連付けられた Document Type Declaration ( DocumentType を参照)。 |
Element |
getDocumentElement()
これはドキュメントのルート要素である子ノードに直接アクセスできるようにする便利な属性です。 |
Element |
getElementById(String elementId)
指定された elementId を ID に持つ Element オブジェクトを返します。 |
NodeList |
getElementsByTagName(String tagname)
指定されたタグ名を持つすべての Elements を含む NodeList を返しますが、それらの要素は、Document ツリーのあらかじめ順序が決められたトラバーサルで得られた順番で格納されます。 |
NodeList |
getElementsByTagNameNS(String namespaceURI,
String localName)
指定されたローカル名と名前空間 URI を持つすべての Elements を含む NodeList を返しますが、それらの要素は、Document ツリーのあらかじめ順序が決められたトラバーサルで得られた順番で格納されます。 |
DOMImplementation |
getImplementation()
このドキュメントを処理する DOMImplementation オブジェクト。 |
Node |
importNode(Node importedNode,
boolean deep)
別のドキュメント内のノードをこのドキュメントにインポートします。 |
| インタフェース org.w3c.dom.Node から継承したメソッド |
appendChild, cloneNode, getAttributes, getChildNodes, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, hasAttributes, hasChildNodes, insertBefore, isSupported, normalize, removeChild, replaceChild, setNodeValue, setPrefix |
| メソッドの詳細 |
public DocumentType getDoctype()
DocumentType を参照)。ドキュメントの種類の宣言をしない XML ドキュメントと同様、HTML ドキュメントの場合、これは null を返します。DOM Level 2 は Document Type Declaration の編集をサポートしていません。docType は、insertNode または removeNode など Node インタフェースから継承されたメソッドの使用を含め、どのような方法によっても変更できません。
public DOMImplementation getImplementation()
DOMImplementation オブジェクト。DOM アプリケーションは複数の実装によるオブジェクトを使用できます。
public Element getDocumentElement()
public Element createElement(String tagName)
throws DOMException
Element インタフェースを実装しているため、返されるオブジェクトの属性を直接指定することができます。Attr ノードが自動的に作成され、その要素に関連付けられます。createElementNS メソッドを使います。
tagName - インスタンスを生成する要素型の名前。XML の場合、これは大文字小文字の区別をする。HTML の場合、tagName パラメータは大文字小文字のどちらで指定してもかまわないが、DOM 実装はそれを、標準の大文字形式にマップする必要がある
Element オブジェクト。このオブジェクトの nodeName 属性には tagName が設定され、localName、prefix、および namespaceURI には null が設定される
DOMException - INVALID_CHARACTER_ERR: 指定された名前に不正な文字が含まれる場合に発行されるpublic DocumentFragment createDocumentFragment()
DocumentFragment オブジェクトを作成します。
DocumentFragmentpublic Text createTextNode(String data)
Text ノードを作成します。
data - このノードに格納するデータ
Text オブジェクトpublic Comment createComment(String data)
Comment ノードを作成します。
data - このノードに格納するデータ
Comment オブジェクト
public CDATASection createCDATASection(String data)
throws DOMException
CDATASection ノードを作成します。
data - CDATASection に格納するデータ
CDATASection オブジェクト
DOMException - NOT_SUPPORTED_ERR: ドキュメントが HTML ドキュメントの場合に発行される
public ProcessingInstruction createProcessingInstruction(String target,
String data)
throws DOMException
ProcessingInstruction ノードを作成します。
target - 処理命令のターゲット部分data - このノードに格納するデータ
ProcessingInstruction オブジェクト
DOMException - INVALID_CHARACTER_ERR: 指定されたターゲットに不正な文字が含まれている場合に発行される
public Attr createAttribute(String name)
throws DOMException
Attr オブジェクトを作成します。なお、setAttributeNode メソッドを使えば、作成された Attr インスタンスを特定の Element に関連付けることも可能です。createAttributeNS メソッドを使います。
name - この属性の名前
Attr オブジェクト。このオブジェクトの nodeName 属性にはname が設定され、localName、prefix、および namespaceURI には null が設定される。また、値は空の文字列になる
DOMException - INVALID_CHARACTER_ERR: 指定された名前に不正な文字が含まれる場合に発行される
public EntityReference createEntityReference(String name)
throws DOMException
EntityReference オブジェクトを作成します。さらに、参照されるエンティティがわかっている場合は、EntityReference ノードの子リストが対応する Entity ノードの子リストとまったく同じように作成されます。Entity ノードの子孫がアンバインドされた名前空間の接頭辞を持つ場合は、作成された EntityReference ノードの対応する子孫もアンバインドされます (この namespaceURI は null)。DOM Level 2 は名前空間接頭辞を解決する機構をサポートしていません。
name - 参照するエンティティの名前
EntityReference オブジェクト
DOMException - INVALID_CHARACTER_ERR: 指定された名前に不正な文字が含まれている場合に発行されるpublic NodeList getElementsByTagName(String tagname)
Elements を含む NodeList を返しますが、それらの要素は、Document ツリーのあらかじめ順序が決められたトラバーサルで得られた順番で格納されます。
tagname - 一致させるタグ名。特殊な値 "*" はすべてのタグに一致する
Elements を含む新しい NodeList オブジェクト
public Node importNode(Node importedNode,
boolean deep)
throws DOMException
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 を別の DocumentType に追加する機能は、DOM の将来のリリースで考慮される可能性があります。インポート時には、publicId、systemId、および notationName の各属性がコピーされます。deep パラメータが指定された場合は、ソース Entity の子孫が再帰的にインポートされ、対応するサブツリーに再度組み立てられます。deep パラメータが指定された場合でも、EntityReference 自身だけがコピーされます。というのも、ソースドキュメントとターゲットドキュメントで、そのエンティティの定義内容が異なる可能性があるからです。ただし、ターゲットドキュメントでこのエンティティが定義されている場合は、その値が設定されます。Notation ノードはインポート可能ですが、DOM の現在のリリースでは、この DocumentType は読み取り専用です。この DocumentType を別の DocumentType に追加する機能は、DOM の将来のリリースで考慮される可能性があります。インポート時には、publicId、systemId の各属性がコピーされます。なお、Notation ノードが子ノードを持つことはあり得ないため、deep パラメータは無視されます。target 属性と data 属性の値がコピーされます。CharacterData を継承するこの 3 種類のどれかである場合、ソースノードの data 属性と length 属性がコピーされます。
importedNode - インポートするノードdeep - 前述のように、true の場合、指定されたノード配下のサブツリーを再帰的にインポートし、false の場合、指定されたノードだけをインポートする。このパラメータは、ノードが Attr、EntityReference、またはNotation の場合は無効になる
Document にインポートされたノード
DOMException - NOT_SUPPORTED_ERR: インポートするノードの種類がサポートされていない場合に発行される
public Element createElementNS(String namespaceURI,
String qualifiedName)
throws DOMException
namespaceURI - 作成する要素の名前空間 URIqualifiedName - インスタンス化する要素型の修飾名
Element オブジェクト。各属性は以下のように設定される| 属性名 | 属性値 |
|---|---|
Node.nodeName | qualifiedName |
Node.namespaceURI | namespaceURI |
Node.prefix | qualifiedName から抽出した接頭辞。ただし、接頭辞が存在しない場合はnull |
Node.localName | qualifiedName から抽出したローカル名 |
Element.tagName | qualifiedName |
DOMException - INVALID_CHARACTER_ERR: 指定された修飾名に、XML 1.0 仕様に規定されていない文字が含まれていた場合に発行されるqualifiedName の形式が Namespaces in XML 仕様に準拠していない場合、qualifiedName に接頭辞が含まれているのに namespaceURI が null である場合、または qualifiedName に含まれている接頭辞が「xml」であるのに namespaceURI が「http://www.w3.org/XML/1998/namespace」でない場合に発行されるXML 機能をサポートしていない場合は、無条件に発行される
public Attr createAttributeNS(String namespaceURI,
String qualifiedName)
throws DOMException
namespaceURI - 作成する属性の名前空間 URIqualifiedName - インスタンス化する属性の修飾名
Attr オブジェクト。各属性は以下のように設定される| 属性名 | 属性値 |
|---|---|
Node.nodeName | qualifiedName |
Node.namespaceURI | namespaceURI |
Node.prefix | qualifiedName から抽出した接頭辞。ただし、接頭辞が存在しない場合は null |
Node.localName | qualifiedName から抽出したローカル名 |
Attr.name | qualifiedName |
Node.nodeValue | 空の文字列 |
DOMException - INVALID_CHARACTER_ERR: 指定された修飾名に、XML 1.0 仕様に規定されていない文字が含まれていた場合に発行されるqualifiedName の形式が Namespaces in XML 仕様に準拠していない場合、qualifiedName に接頭辞が含まれているのに namespaceURI が null である場合、qualifiedName に含まれている接頭辞が「xml」であるのに namespaceURI が「http://www.w3.org/XML/1998/namespace」でない場合、または qualifiedName やその接頭辞が「xmlns」であるのに namespaceURI が「http://www.w3.org/2000/xmlns/」でない場合に発行されるXML 機能をサポートしていない場合は、無条件に発行される
public NodeList getElementsByTagNameNS(String namespaceURI,
String localName)
Elements を含む NodeList を返しますが、それらの要素は、Document ツリーのあらかじめ順序が決められたトラバーサルで得られた順番で格納されます。
namespaceURI - 一致させる要素の URI 名前空間。特殊な値 "*" はすべての名前空間に一致するlocalName - 一致させる要素のローカル名。特殊な値 "*" は、すべてのローカル名に一致する
Elements を含む新しい NodeList オブジェクトpublic Element getElementById(String elementId)
elementId を ID に持つ Element オブジェクトを返します。ただし、そのような要素が存在しない場合は null を返します。なお、この ID を持つ要素が複数存在する場合の動作は規定されていません。DOM 実装は、どの属性が ID 型であるのかを判断するための情報を保持している必要があります。「ID」という名前を持つ属性でも、ID 型として定義されていなければ ID 型ではありません。属性が ID 型であるかどうかを判断できない実装は、null を返すことになっています。
elementId - 目的の要素を指定する一意の id 値
|
Common DOM API | ||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||||