|
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
オブジェクトを作成します。
DocumentFragment
public 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 | ||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |