JavaTM Platform
Standard Ed. 6

org.w3c.dom
인터페이스 Document

모든 슈퍼 인터페이스:
Node
기존의 구현 클래스의 일람:
SOAPPart


public interface Document
extends Node

Document 인터페이스는, HTML 문서 또는 XML 문서 전체를 나타냅니다. 개념상은 문서 트리의 루트이며, 문서 데이터에 최초로 액세스 하는 수단을 제공합니다.

요소, 텍스트 노드, 코멘트, 처리 명령등의 객체는,Document 의 문맥외에서는 존재 할 수 있지 않습니다. 이 때문에,Document 인터페이스에는, 이러한 객체를 작성하기 위해서 필요한 팩토리 메소드가 포함되어 있습니다. 작성된 Node 객체는, 그 작성 문맥내에서 자신과 Document 를 관련짓는 ownerDocument 속성을 가지고 있습니다.

「Document Object Model (DOM) Level 3 Core Specification」를 참조해 주세요.


필드의 개요
 
인터페이스 org.w3c.dom. Node 로부터 상속된 필드
ATTRIBUTE_NODE , CDATA_SECTION_NODE , COMMENT_NODE , DOCUMENT_FRAGMENT_NODE , DOCUMENT_NODE , DOCUMENT_POSITION_CONTAINED_BY , DOCUMENT_POSITION_CONTAINS , DOCUMENT_POSITION_DISCONNECTED , DOCUMENT_POSITION_FOLLOWING , DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC , DOCUMENT_POSITION_PRECEDING , DOCUMENT_TYPE_NODE , ELEMENT_NODE , ENTITY_NODE , ENTITY_REFERENCE_NODE , NOTATION_NODE , PROCESSING_INSTRUCTION_NODE , TEXT_NODE
 
메소드의 개요
 Node adoptNode (Node  source)
          다른 문서의 노드를 현재의 문서에 임포트 합니다.
 Attr createAttribute (String  name)
          주어진(given) 이름의 Attr 를 작성합니다.
 Attr createAttributeNS (String  namespaceURI, String  qualifiedName)
          주어진(given) 수식명과 이름 공간 URI 를 가지는 속성을 작성합니다.
 CDATASection createCDATASection (String  data)
          지정된 캐릭터 라인을 값으로 해서 가지는 CDATASection 노드를 작성합니다.
 Comment createComment (String  data)
          지정된 캐릭터 라인을 가지는 Comment 노드를 작성합니다.
 DocumentFragment createDocumentFragment ()
          빈 상태(empty)의 DocumentFragment 객체를 생성합니다.
 Element createElement (String  tagName)
          지정된 형태의 요소를 작성합니다.
 Element createElementNS (String  namespaceURI, String  qualifiedName)
          주어진(given) 수식명과 이름 공간 URI 를 가지는 요소를 작성합니다.
 EntityReference createEntityReference (String  name)
          EntityReference 객체를 작성합니다.
 ProcessingInstruction createProcessingInstruction (String  target, String  data)
          지정된 이름 및 데이터를 가지는 ProcessingInstruction 노드를 작성합니다.
 Text createTextNode (String  data)
          지정된 캐릭터 라인을 가지는 Text 노드를 작성합니다.
 DocumentType getDoctype ()
          이 문서에 관련지을 수 있고 있는 문서형 선언 (DocumentType 를 참조).
 Element getDocumentElement ()
          문서의 문서 요소가 되어 있는 자식(child) 노드에의 직접 액세스를 가능하게 하는 편리한 속성입니다.
 String getDocumentURI ()
          문서의 장소.
 DOMConfiguration getDomConfig ()
          Document.normalizeDocument() 가 불려 갔을 때에 사용되는 설정.
 Element getElementById (String  elementId)
          주어진(given) 값의 ID 속성을 가지는 Element 를 돌려줍니다.
 NodeList getElementsByTagName (String  tagname)
          주어진(given) 태그명과 함께, 문서에 포함되는 모든 ElementsNodeList 를 문서순서에 돌려줍니다.
 NodeList getElementsByTagNameNS (String  namespaceURI, String  localName)
          주어진(given) 로컬명과 이름 공간 URI 와 함께, 모든 ElementsNodeList 를 문서순서에 돌려줍니다.
 DOMImplementation getImplementation ()
          이 문서를 처리하는 DOMImplementation 객체입니다.
 String getInputEncoding ()
          이 문서를 해석할 경우에 사용하는 인코딩을 지정합니다.
 boolean getStrictErrorChecking ()
          에러 체크를 적용할지 어떨지를 지정합니다.
 String getXmlEncoding ()
          이 문서의 인코딩을 XML 선언의 일부로서 지정합니다.
 boolean getXmlStandalone ()
          이 문서가 스탠드얼론인가 어떤가를 XML 선언의 일부로서 지정합니다.
 String getXmlVersion ()
          이 문서의 버젼 번호를 XML 선언의 일부로서 지정합니다.
 Node importNode (Node  importedNode, boolean deep)
          다른 문서로부터 현재의 문서에 노드를 임포트 합니다.
 void normalizeDocument ()
          이 메소드는, 문서를 일반적으로의 형식으로 변환해, 보존 및 로드하도록(듯이) 동작합니다.
 Node renameNode (Node  n, String  namespaceURI, String  qualifiedName)
          ELEMENT_NODE 또는 ATTRIBUTE_NODE 형의 기존의 노드의 이름을 변경합니다.
 void setDocumentURI (String  documentURI)
          문서의 장소.
 void setStrictErrorChecking (boolean strictErrorChecking)
          에러 체크를 적용할지 어떨지를 지정합니다.
 void setXmlStandalone (boolean xmlStandalone)
          이 문서가 스탠드얼론인가 어떤가를 XML 선언의 일부로서 지정합니다.
 void setXmlVersion (String  xmlVersion)
          이 문서의 버젼 번호를 XML 선언의 일부로서 지정합니다.
 
인터페이스 org.w3c.dom. Node 로부터 상속된 메소드
appendChild , cloneNode , compareDocumentPosition , getAttributes , getBaseURI , getChildNodes , getFeature , getFirstChild , getLastChild , getLocalName , getNamespaceURI , getNextSibling , getNodeName , getNodeType , getNodeValue , getOwnerDocument , getParentNode , getPrefix , getPreviousSibling , getTextContent , getUserData , hasAttributes , hasChildNodes , insertBefore , isDefaultNamespace , isEqualNode , isSameNode , isSupported , lookupNamespaceURI , lookupPrefix , normalize , removeChild , replaceChild , setNodeValue , setPrefix , setTextContent , setUserData
 

메소드의 상세

getDoctype

DocumentType  getDoctype()
이 문서에 관련지을 수 있고 있는 문서형 선언 (DocumentType 를 참조). 문서형 선언을 가지지 않는 XML 문서의 경우는 null 를 돌려줍니다. HTML 문서에서는, 문서내의 문서형 선언의 유무와는 관계없이 DocumentType 객체를 돌려줄 수가 있습니다.
이것에 의해,DocumentType 노드와 이 Document 의 자식(child) 노드에 직접 액세스 합니다. 이 노드는 문서 작성시로 설정되어 그 이후는 Node.insertBefore,Node.replaceChild 등의 자식(child) 노드 조작 메소드를 사용해 변경할 수 있습니다. 다만, 일부의 구현에서는, 작성시로 지정된 DocumentType 에 근거해, 「HTML」의「DOM Level 2 HTML」등의 「Core」이외의 추가 기능을 지원하고 있는 다양한 Document 객체를 인스턴스화할 수 있습니다. 나중에 변경해도 지원되고 있는 기능이 변화하는 것은 거의 없습니다.

도입된 버젼:
DOM Level 3

getImplementation

DOMImplementation  getImplementation()
이 문서를 처리하는 DOMImplementation 객체입니다. DOM 어플리케이션은, 복수의 구현으로부터의 객체를 사용할 수 있습니다.


getDocumentElement

Element  getDocumentElement()
문서의 문서 요소가 되어 있는 자식(child) 노드에의 직접 액세스를 가능하게 하는 편리한 속성입니다.


createElement

Element  createElement(String  tagName)
                      throws DOMException 
지정된 형태의 요소를 작성합니다. 반환되는 인스턴스는 Element 인터페이스를 구현하기 위해(때문에), 속성은 반환되는 객체에 직접 지정할 수 있습니다.

디폴트 값를 가지는 기존의 속성이 존재하는 경우는, 이것들을 나타내는 Attr 노드가 자동적으로 작성되어 요소에 부가됩니다.
수식명과 이름 공간 URI 를 가지는 요소를 작성하려면 ,createElementNS 메소드를 사용합니다.

파라미터:
tagName - 인스턴스화하는 요소형의 이름. XML 의 경우, 알파벳의 대문자와 소문자가 구별된다. XML 이외의 경우에는, 대문자와 소문자의 구별은, 사용하고 있는 마크업 언어에 의존해, DOM 구현에 의해 그 정규 마크 업에 매핑 된다
반환값:
tagName 로 설정된 nodeName 속성, localName,prefix,null 로 설정되었다 namespaceURI 를 가지는 새롭다 Element 객체
예외:
DOMException - INVALID_CHARACTER_ERR:지정된 이름이, 사용중의 XML 버젼 (Document.xmlVersion 속성으로 지정되고 있다) 에 정해져 있는 XML 명이 아닌 경우

createDocumentFragment

DocumentFragment  createDocumentFragment()
빈 상태(empty)의 DocumentFragment 객체를 생성합니다.

반환값:
새로운 DocumentFragment

createTextNode

Text  createTextNode(String  data)
지정된 캐릭터 라인을 가지는 Text 노드를 작성합니다.

파라미터:
data - 노드의 데이터
반환값:
새로운 Text 객체

createComment

Comment  createComment(String  data)
지정된 캐릭터 라인을 가지는 Comment 노드를 작성합니다.

파라미터:
data - 노드의 데이터
반환값:
새로운 Comment 객체

createCDATASection

CDATASection  createCDATASection(String  data)
                                throws DOMException 
지정된 캐릭터 라인을 값으로 해서 가지는 CDATASection 노드를 작성합니다.

파라미터:
data - CDATASection 에 포함되는 데이터
반환값:
새로운 CDATASection 객체
예외:
DOMException - NOT_SUPPORTED_ERR:이 문서가 HTML 문서의 경우

createProcessingInstruction

ProcessingInstruction  createProcessingInstruction(String  target,
                                                  String  data)
                                                  throws DOMException 
지정된 이름 및 데이터를 가지는 ProcessingInstruction 노드를 작성합니다.

파라미터:
target - 처리 명령의 타겟 부분. Document.createElementNSDocument.createAttributeNS 과는 달리, 이 타겟명이 이름 공간 정형식인가 어떤가는 확인되지 않는다. 이 타겟명을 이름 공간 정형식으로 하려면 , 어플리케이션은 「namespaces」파라미터를 true 로 설정해,Document.normalizeDocument() (을)를 호출할 필요가 있는
data - 노드의 데이터
반환값:
새로운 ProcessingInstruction 객체
예외:
DOMException - INVALID_CHARACTER_ERR:지정된 타겟이, 사용중의 XML 버젼 (Document.xmlVersion 속성으로 지정되고 있다) 에 정해져 있는 XML 명이 아닌 경우
NOT_SUPPORTED_ERR:이 문서가 HTML 문서의 경우

createAttribute

Attr  createAttribute(String  name)
                     throws DOMException 
주어진(given) 이름의 Attr 를 작성합니다. 그 후, 이 Attr 인스턴스는,setAttributeNode 메소드에 의해 Element 로 설정되는 것에 주의해 주세요.

수식명과 이름 공간 URI 를 가지는 속성을 작성하려면 ,createAttributeNS 메소드를 사용합니다.

파라미터:
name - 속성의 이름
반환값:
name 로 설정된 nodeName 속성, localName,prefix, null 로 설정된 namespaceURI 를 가지는 새롭다 Attr 객체. 속성의 값은 빈 상태(empty)의 캐릭터 라인
예외:
DOMException - INVALID_CHARACTER_ERR:지정된 이름이, 사용중의 XML 버젼 (Document.xmlVersion 속성으로 지정되고 있다) 에 정해져 있는 XML 명이 아닌 경우

createEntityReference

EntityReference  createEntityReference(String  name)
                                      throws DOMException 
EntityReference 객체를 작성합니다. 게다가 참조되는 엔티티가 기존의 경우에는, 대응하는 Entity 노드의 아이 리스트와 같이 EntityReference 노드의 아이 리스트가 작성됩니다.

주:Entity 노드의 하위 노드의 이름 공간 접두사의 바인드가 해제되고 있는 경우에는, 작성된 EntityReference노드의 대응하는 하위 노드의 바인드도 해제됩니다 (그 namespaceURInull). DOM Level 2 로 DOM Level 3 에서는, 이러한 경우에 이름 공간 접두사를 해결하는 기구가 지원되고 있지 않습니다.

파라미터:
name - 참조되는 엔티티의 이름. Document.createElementNSDocument.createAttributeNS 과는 달리, 이 엔티티명이 이름 공간 정형식인가 어떤가는 확인되지 않는다. 이 엔티티명을 이름 공간 정형식으로 하려면 , 어플리케이션은 「namespaces」파라미터를 true 로 설정해,Document.normalizeDocument() (을)를 호출할 필요가 있다
반환값:
새로운 EntityReference 객체
예외:
DOMException - INVALID_CHARACTER_ERR:지정된 이름이, 사용중의 XML 버젼 (Document.xmlVersion 속성으로 지정되고 있다) 에 정해져 있는 XML 명이 아닌 경우
NOT_SUPPORTED_ERR:이 문서가 HTML 문서의 경우

getElementsByTagName

NodeList  getElementsByTagName(String  tagname)
주어진(given) 태그명과 함께, 문서에 포함되는 모든 ElementsNodeList 를 문서순서에 돌려줍니다.

파라미터:
tagname - 일치하는 태그의 이름. 특수한 값 「*」은 모든 태그에 일치한다. XML에서는,tagname 파라미터의 대문자와 소문자가 구별된다. XML 가 아닌 경우, 대문자와 소문자의 구별은, 사용하고 있는 마크업 언어에 의존한다
반환값:
일치하는 모든 Elements 를 포함한 새로운 NodeList 객체

importNode

Node  importNode(Node  importedNode,
                boolean deep)
                throws DOMException 
다른 문서로부터 현재의 문서에 노드를 임포트 합니다. 이 때, 원의 문서의 소스 노드가 변경 또는 삭제될 것은 없습니다. 이 메소드는 소스 노드의 새로운 카피를 작성합니다. 반환되는 노드는 친노드를 가지지 않습니다 (parentNodenull).
어느 노드를 임포트 해도, 임포트측의 문서를 소유원으로 하는 노드 객체가 작성됩니다. 이 객체는, 소스 노드의 nodeNamen odeType 와 완전히 같은 속성치에 가세해, 이름 공간에 관련지을 수 있고 있는 속성 (prefix,localName,namespaceURI)을 가지고 있습니다. cloneNode 조작의 경우와 같이, 소스 노드는 변경되지 않습니다. 임포트 되고 있는 노드에 관련하는 사용자 데이터는 미루어지지 않습니다. 다만, 관련하는 데이터와 함께 UserDataHandlers 가 지정되었을 경우, 핸들러는 이 메소드가 돌려주기 전에 해당하는 파라미터와 함께 불려 갑니다.
추가 정보는 적절한 방법으로 nodeType 에 카피됩니다. XML 소스 또는 HTML 소스의 fragment가 한편의 문서로부터 이제(벌써) 한편의 문서에 카피되었을 경우, 2 개의 문서가 XML 케이스내에 다른 DTD 를 가질 가능성이 있는 것을 받아, 적절한 동작의 밀러화가 시행됩니다. 다음의 리스트에서는, 각 노드에 대해 설명합니다.
ATTRIBUTE_NODE
생성된 Attr 상에서,ownerElement 속성은 null,specified 플래그는 true 로 설정됩니다. 소스인 Attr 의 자손의 재귀적 임포트와 결과 노드의 재어셈블(assemble)에 의해, 대응하는 서브 트리가 형성됩니다. 덧붙여deep 파라미터는 Attr 노드에 영향을 미치지 않습니다. 이러한 파라미터는, 아이와 함께 임포트 됩니다.
DOCUMENT_FRAGMENT_NODE
deep 옵션이 true 로 설정되어 있는 경우에는, 소스 DocumentFragment 의 자손은 재귀적으로 임포트 되어 결과 노드는 임포트 한 DocumentFragment 아래에서재어셈블(assemble) 되어, 대응하는 서브 트리가 형성됩니다. 그 이외의 경우는, 빈 상태(empty)의 DocumentFragment 가 생성될 뿐입니다.
DOCUMENT_NODE
Document 노드는 임포트 할 수 없습니다.
DOCUMENT_TYPE_NODE
DocumentType 노드는 임포트 할 수 없습니다.
ELEMENT_NODE
소스 요소의 「지정되었다」속성 노드가 임포트 되어 생성된 Attr 노드가 같이 생성된 Element 에 접속됩니다. 임포트 되는 문서가 이 요소명의 디폴트 속성 (할당하고가 끝난 상태)을 정의하는 경우도, 디폴트 속성은 「카피되지 않습니다」. importNodedeep 파라미터가 true 로 설정되어 있는 경우는, 소스 요소의 자손이 재귀적으로 임포트 되어 결과 노드가 재어셈블(assemble) 되어, 대응하는 서브 트리가 형성됩니다.
ENTITY_NODE
DOM 의 최신 릴리스인 DocumentType 는 읽어내 전용입니다만,Entity 노드는 임포트 가능합니다. 이렇게 해 임포트 된 노드를 DocumentType 에 추가하는 기능은, 장래의 DOM 의 릴리스로 추가될 예정입니다. 임포트시에는,publicId,systemId,notationName 의 각 속성이 카피됩니다. deep 의 임포트가 요구되었을 경우는,Entity (소스)의 자손이 재귀적으로 임포트 되어 결과 노드가 재어셈블(assemble) 되어, 대응하는 서브 트리를 형성합니다.
ENTITY_REFERENCE_NODE
deep 의 임포트가 요구되었을 경우도, 소스 문서와 목적지 문서로 엔티티의 정의가 다른 경우가 있으므로,EntityReference 만이 카피되게 됩니다. 임포트 되는 문서가 이 엔트리명을 정의하는 경우는, 그 값을 할당할 수 있습니다.
NOTATION_NODE
DOM 의 최신 릴리스인 DocumentType 는 읽어내 전용입니다만,Notation 노드는 임포트 가능합니다. 이렇게 해 임포트 된 노드를 DocumentType 에 추가하는 기능은, 장래의 DOM 릴리스로 추가될 예정입니다. 임포트시에는,publicId 속성과 systemId 속성이 카피됩니다. 이러한 노드는 아이를 가질 수가 없기 때문에,deep 파라미터는 어떤 영향도 미치지 않습니다.
PROCESSING_INSTRUCTION_NODE
임포트 한 노드는, 소스 노드로부터 targetdata 의 값을 카피합니다. 이러한 노드는 아이를 가질 수가 없기 때문에,deep 파라미터는 어떤 영향도 미치지 않습니다.
TEXT_NODE, CDATA_SECTION_NODE, COMMENT_NODE
CharacterData 를 상속하는 3 개의 노드형으로,data 속성과 length 속성을 소스 노드로부터 카피합니다. 이러한 노드는 아이를 가질 수가 없기 때문에,deep 파라미터는 어떤 영향도 미치지 않습니다.

파라미터:
importedNode - 임포트 되는 노드
deep - true 의 경우는 지정된 노드의 서브 트리를 임포트 해, false 의 경우는 지정된 노드만을 임포트 한다 (상기의 설명을 참조). 아이를 가질 수가 없는 노드나 Attr,EntityReference 노드에는 영향을 미치지 않는다
반환값:
Document 에 소속하는, 임포트 된 노드
예외:
DOMException - NOT_SUPPORTED_ERR:임포트 되는 노드형이 지원 대상외 의 경우
INVALID_CHARACTER_ERR:임포트 된 이름중 한쪽이, 사용중의 XML 버젼 (Document.xmlVersion 속성으로 지정되고 있다) 에 정해져 있는 XML 명이 아닌 경우. 이것은, XML 1.1「XML 1.1」요소를 XML 1.0 문서에 임포트 할 때 등에 발생하는 일이 있는
도입된 버젼:
DOM Level 2

createElementNS

Element  createElementNS(String  namespaceURI,
                        String  qualifiedName)
                        throws DOMException 
주어진(given) 수식명과 이름 공간 URI 를 가지는 요소를 작성합니다.
이름 공간을 보유하지 않는 경우는,XML 이름 공간에 따라, 어플리케이션으로 메소드의 namespaceURI 파라미터에 null 치를 사용할 필요가 있습니다.

파라미터:
namespaceURI - 작성하는 요소의 이름 공간 URI
qualifiedName - 인스턴스화하는 요소형의 수식명
반환값:
다음의 속성을 가지는 새로운 Element 객체
속성
Node.nodeName qualifiedName
Node.namespaceURI namespaceURI
Node.prefix qualifiedName (으)로부터 추출된 접두사. 접두사가 없는 경우는 null
Node.localName qualifiedName 로부터 추출되었다 로컬명
Element.tagName qualifiedName
예외:
DOMException - INVALID_CHARACTER_ERR:지정되었다 qualifiedName 가 사용중의 XML 버젼 (Document.xmlVersion 속성으로 지정되고 있다)에 정해져 있다 XML 명이 아닌 경우
NAMESPACE_ERR:qualifiedName 가 부정한 수식명인 경우. qualifiedName 가 접두사를 가져, namespaceURInull 의 경우. qualifiedName 가 접두사 「xml」를 가져, namespaceURI 「http://www.w3.org/XML/1998/namespace」XML 이름 공간과는 다른 경우. qualifiedName 또는 그 접두사가 「xmlns」로, namespaceURI「http://www.w3.org/2000/xmlns/」(이)란 다른 경우. namespaceURI「http://www.w3.org/2000/xmlns/」여,qualifiedName 도 그 접두사도 「xmlns」가 아닌 경우
NOT_SUPPORTED_ERR:이름 공간은「XML」에 의해 정의되고 있기 (위해)때문에, 현재의 문서가 「XML」기능을 지원하지 않는 경우는 항상 throw 되는
도입된 버젼:
DOM Level 2

createAttributeNS

Attr  createAttributeNS(String  namespaceURI,
                       String  qualifiedName)
                       throws DOMException 
주어진(given) 수식명과 이름 공간 URI 를 가지는 속성을 작성합니다. 이름 공간을 보유하지 않는 경우는,XML 이름 공간에 따라, 어플리케이션으로 메소드의 namespaceURI 파라미터에 null 치를 사용할 필요가 있습니다.

파라미터:
namespaceURI - 작성하는 속성의 이름 공간 URI
qualifiedName - 인스턴스화하는 속성의 수식명
반환값:
다음의 속성을 가지는 새로운 Attr 객체
속성
Node.nodeName qualifiedName
Node.namespaceURI namespaceURI
Node.prefix qualifiedName (으)로부터 추출된 접두사. 접두사가 없는 경우는 null
Node.localName qualifiedName 로부터 추출되었다 로컬명
Attr.name qualifiedName
Node.nodeName 빈 상태(empty)의 캐릭터 라인
예외:
DOMException - INVALID_CHARACTER_ERR:지정되었다 qualifiedName 가 사용중의 XML 버젼 (Document.xmlVersion 속성으로 지정되고 있다)에 정해져 있다 XML 명이 아닌 경우
NAMESPACE_ERR:qualifiedName 가 부정한 수식명인 경우. qualifiedName 가 접두사를 가져, namespaceURInull 의 경우. qualifiedName 가 접두사 「xml」를 가져, namespaceURI 「http://www.w3.org/XML/1998/namespace」란 다른 경우. qualifiedName 또는 그 접두사가 「xmlns」로, namespaceURI「http://www.w3.org/2000/xmlns/」(이)란 다른 경우. namespaceURI「http://www.w3.org/2000/xmlns/」여,qualifiedName 도 그 접두사도 「xmlns」가 아닌 경우
NOT_SUPPORTED_ERR:이름 공간은「XML」에 의해 정의되고 있기 (위해)때문에, 현재의 문서가 「XML」기능을 지원하지 않는 경우는 항상 throw 되는
도입된 버젼:
DOM Level 2

getElementsByTagNameNS

NodeList  getElementsByTagNameNS(String  namespaceURI,
                                String  localName)
주어진(given) 로컬명과 이름 공간 URI 와 함께, 모든 ElementsNodeList 를 문서순서에 돌려줍니다.

파라미터:
namespaceURI - 일치하는 요소의 이름 공간 URI. 특수한 값 「*」은 모든 이름 공간에 일치하는
localName - 일치하는 요소의 로컬명. 특수한 값 「*」은 모든 로컬명에 일치한다
반환값:
일치하는 모든 Elements 를 포함한 새로운 NodeList 객체
도입된 버젼:
DOM Level 2

getElementById

Element  getElementById(String  elementId)
주어진(given) 값의 ID 속성을 가지는 Element 를 돌려줍니다. 이러한 요소가 없는 경우는,null 를 돌려줍니다. 복수의 요소가 주어진(given) 값의 ID 속성을 가지고 있는 경우에는, 어느 값이 돌려주어질까는 정의되고 있지 않습니다.
DOM 구현에서는,Attr.isId 속성을 사용해, ID 속성인가 어떤가를 판정하는 것이 요구됩니다.

주: 속성명에 「ID」또는 「id」가 포함되어 있어도, 그처럼 정의되어 있지 않은 경우에는, ID 속성이 아닙니다.

파라미터:
elementId - 요소의 일의의 id
반환값:
일치하는 요소. 존재하지 않는 경우는 null
도입된 버젼:
DOM Level 2

getInputEncoding

String  getInputEncoding()
이 문서를 해석할 경우에 사용하는 인코딩을 지정합니다. Document 가 메모리로 작성되었을 때 등, 미지의 경우는 null 입니다.

도입된 버젼:
DOM Level 3

getXmlEncoding

String  getXmlEncoding()
이 문서의 인코딩을 XML 선언의 일부로서 지정합니다. Document 가 작성되었을 경우 등, 미지정의 경우나 인식되지 않는 경우는 null 입니다.

도입된 버젼:
DOM Level 3

getXmlStandalone

boolean getXmlStandalone()
이 문서가 스탠드얼론인가 어떤가를 XML 선언의 일부로서 지정합니다. 지정되지 않는 경우는 false 입니다.

주: 이 속성을 설정할 경우에, 값의 검증은 행해지지 않습니다. 어플리케이션은 「validate」파라미터를 가지는 Document.normalizeDocument() 를 사용해, 값이「XML 1.0」으로 정의되는스탠드얼론 문서 선언에 대한 유효성의 제약에 일치할지 어떨지를 검증할 필요가 있습니다.

도입된 버젼:
DOM Level 3

setXmlStandalone

void setXmlStandalone(boolean xmlStandalone)
                      throws DOMException 
이 문서가 스탠드얼론인가 어떤가를 XML 선언의 일부로서 지정합니다. 지정되지 않는 경우는 false 입니다.

주: 이 속성을 설정할 경우에, 값의 검증은 행해지지 않습니다. 어플리케이션은 「validate」파라미터를 가지는 Document.normalizeDocument() 를 사용해, 값이「XML 1.0」으로 정의되는스탠드얼론 문서 선언에 대한 유효성의 제약에 일치할지 어떨지를 검증할 필요가 있습니다.

예외:
DOMException - NOT_SUPPORTED_ERR:이 문서가 「XML」기능을 지원해 없는 경우
도입된 버젼:
DOM Level 3

getXmlVersion

String  getXmlVersion()
이 문서의 버젼 번호를 XML 선언의 일부로서 지정합니다. XML 선언이 없고, 이 문서가 「XML」기능을 지원하고 있는 경우에는, 값은 1.0 입니다. 이 문서가 「XML」기능을 지원하고 있지 않는 경우에는, 값은 항상 null 입니다. 이 속성을 변경하면(자), XML 명의 무효인 문자를 확인하는 메소드에 영향을 줍니다. 이 Document 의 기존의 Node 에 무효인 문자가 있을지 어떨지를 확인하려면 , 어플리케이션으로 Document.normalizeDocument() 를 호출할 필요가 있습니다.
DOM 어플리케이션으로 구현이「XML 1.0」을 지원하고 있을지 어떨지를 판정할 때는, 파라미터치 「XMLVersion」와「1.0」을 지정해 DOMImplementation.hasFeature(feature, version) 메소드를 사용합니다. DOM 어플리케이션으로 구현이「XML 1.1」을 지원하고 있을지 어떨지를 판정할 때는, 파라미터치 「XMLVersion」와「1.1」을 지정해 같은 메소드를 사용합니다. 어느 쪽의 XML 를 지원하는 경우에서도, 이 스펙에 정의되고 있는 「XML」기능을 구현이 지원하고 있을 필요가 있습니다. 「XMLVersion」기능의 버젼을 지원하고 있는 Document 객체가,Document.xmlVersion 를 사용하고 있을 때, 같은 버젼의 NOT_SUPPORTED_ERR 예외를 throw 할 것은 없습니다.

도입된 버젼:
DOM Level 3

setXmlVersion

void setXmlVersion(String  xmlVersion)
                   throws DOMException 
이 문서의 버젼 번호를 XML 선언의 일부로서 지정합니다. XML 선언이 없고, 이 문서가 「XML」기능을 지원하고 있는 경우에는, 값은 1.0 입니다. 이 문서가 「XML」기능을 지원하고 있지 않는 경우에는, 값은 항상 null 입니다. 이 속성을 변경하면(자), XML 명의 무효인 문자를 확인하는 메소드에 영향을 줍니다. 이 Document 의 기존의 Node 에 무효인 문자가 있을지 어떨지를 확인하려면 , 어플리케이션으로 Document.normalizeDocument() 를 호출할 필요가 있습니다.
DOM 어플리케이션으로 구현이「XML 1.0」을 지원하고 있을지 어떨지를 판정할 때는, 파라미터치 「XMLVersion」와「1.0」을 지정해 DOMImplementation.hasFeature(feature, version) 메소드를 사용합니다. DOM 어플리케이션으로 구현이「XML 1.1」을 지원하고 있을지 어떨지를 판정할 때는, 파라미터치 「XMLVersion」와「1.1」을 지정해 같은 메소드를 사용합니다. 어느 쪽의 XML 를 지원하는 경우에서도, 이 스펙에 정의되고 있는 「XML」기능을 구현이 지원하고 있을 필요가 있습니다. 「XMLVersion」기능의 버젼을 지원하고 있는 Document 객체가,Document.xmlVersion 를 사용하고 있을 때, 같은 버젼의 NOT_SUPPORTED_ERR 예외를 throw 할 것은 없습니다.

예외:
DOMException - NOT_SUPPORTED_ERR:Document 가 지원하고 있지 않는 값이 버젼으로 설정되어 있는 경우. 또는, 이 문서가 「XML」기능을 지원하고 있지 않는 경우
도입된 버젼:
DOM Level 3

getStrictErrorChecking

boolean getStrictErrorChecking()
에러 체크를 적용할지 어떨지를 지정합니다. false 로 설정했을 경우, 이 구현은 DOM 처리에 일반적으로 정의되고 있는 모든 에러 케이스를 테스트하지 않습니다. 또, DOM 처리에 관한 DOMException 를 throw 하지 않고,Document.normalizeDocument() 를 사용하고 있을 때는 에러를 보고하지 않습니다. 에러가 발생했을 경우의 동작은 미정도리입니다. 이 속성은 디폴트로 true 입니다.

도입된 버젼:
DOM Level 3

setStrictErrorChecking

void setStrictErrorChecking(boolean strictErrorChecking)
에러 체크를 적용할지 어떨지를 지정합니다. false 로 설정했을 경우, 이 구현은 DOM 처리에 일반적으로 정의되고 있는 모든 에러 케이스를 테스트하지 않습니다. 또, DOM 처리에 관한 DOMException 를 throw 하지 않고,Document.normalizeDocument() 를 사용하고 있을 때는 에러를 보고하지 않습니다. 에러가 발생했을 경우의 동작은 미정도리입니다. 이 속성은 디폴트로 true 입니다.

도입된 버젼:
DOM Level 3

getDocumentURI

String  getDocumentURI()
문서의 장소. 정의되어 있지 않은 경우, 또는 DocumentDOMImplementation.createDocument 를 사용해 작성되었을 경우는,null 입니다. 이 속성이 설정되어 있는 경우에는, 자구는 확인되지 않기 때문에,Node.baseURI 를 사용했을 때에 null 치가 돌려주어질 가능성이 있습니다.
Document 가 「HTML」의「DOM Level 2 HTML」기능을 지원하고 있을 때는,Node.baseURI 를 계산할 때, HTML BASE 요소의 href 속성이 이 속성보다 우선됩니다.

도입된 버젼:
DOM Level 3

setDocumentURI

void setDocumentURI(String  documentURI)
문서의 장소. 정의되어 있지 않은 경우, 또는 DocumentDOMImplementation.createDocument 를 사용해 작성되었을 경우는,null 입니다. 이 속성이 설정되어 있는 경우에는, 자구는 확인되지 않기 때문에,Node.baseURI 를 사용했을 때에 null 치가 돌려주어질 가능성이 있습니다.
Document 가 「HTML」의「DOM Level 2 HTML」기능을 지원하고 있을 때는,Node.baseURI 를 계산할 때, HTML BASE 요소의 href 속성이 이 속성보다 우선됩니다.

도입된 버젼:
DOM Level 3

adoptNode

Node  adoptNode(Node  source)
               throws DOMException 
다른 문서의 노드를 현재의 문서에 임포트 합니다. 지원되고 있는 경우에는, 소스 노드의 ownerDocument, 그 아이, 및 접속되고 있는 속성 노드 (존재하는 경우)를 변경합니다. 소스 노드가 부모를 가지고 있는 경우에는, 그 소스 노드가 부모의 아이 리스트로부터 최초로 삭제됩니다. 이것에 의해, 어느 문서의 서브 트리를 다른 문서에 임포트 할 수 있습니다 (importNode() 의 경우는, 소스 노드를 임포트 하는 대신에 카피를 작성한다). 실패했을 경우는, 대신에 어플리케이션으로 Document.importNode() 를 사용할 필요가 있습니다. 임포트 한 노드가 벌써 이 문서의 일부인 경우 (즉, 소스와 타겟 문서가 같은 경우), 이 메소드는, 부모의 아이로부터 소스 노드를 삭제하는 경우에도 효과적입니다 (존재하는 경우). 다음의 리스트에서는, 각 노드에 대해 설명합니다.
ATTRIBUTE_NODE
임포트 한 AttrownerElement 속성을 null 로 설정해,specified 플래그를 true 로 설정합니다. 소스 Attr 의 자손을 재귀적으로 임포트 합니다.
DOCUMENT_FRAGMENT_NODE
소스 노드의 자손을 재귀적으로 임포트 합니다.
DOCUMENT_NODE
Document 노드는 임포트 할 수 없습니다.
DOCUMENT_TYPE_NODE
DocumentType 노드는 임포트 할 수 없습니다.
ELEMENT_NODE
소스 요소의 「지정되었다」속성 노드가 임포트 됩니다. 디폴트 속성은 파기합니다. 다만, 임포트 하고 있는 문서에 이 요소명의 디폴트 속성이 정의되고 있는 경우에는, 이러한 속성을 할당합니다. 소스 요소의 자손은 재귀적으로 임포트 됩니다.
ENTITY_NODE
Entity 노드는 임포트 할 수 없습니다.
ENTITY_REFERENCE_NODE
소스 문서와 목적지 문서로 엔티티의 정의가 다른 경우가 있으므로,EntityReference 만을 임포트 해, 자손은 파기합니다. 임포트 되는 문서가 이 엔트리명을 정의하는 경우는, 그 값을 할당할 수 있습니다.
NOTATION_NODE
Notation 노드는 임포트 할 수 없습니다.
PROCESSING_INSTRUCTION_NODE, TEXT_NODE, CDATA_SECTION_NODE, COMMENT_NODE
이러한 노드는 모두 임포트 할 수 있습니다. 스펙은 없습니다.

주: 이 메소드는,Document.importNode() 메소드와는 달라, 새로운 노드를 작성하지 않기 때문에,INVALID_CHARACTER_ERR 예외를 throw 하지 않습니다. 어플리케이션에서는,Document.normalizeDocument() 메소드를 사용해, 임포트 한 이름이 사용중의 XML 버젼에 정해져 있는 XML 명이 아닌지 어떤지를 확인할 필요가 있습니다.

파라미터:
source - 이 문서로 이동하는 노드
반환값:
임포트 한 노드. 이 처리가 실패했을 경우에는 null (소스 노드의 구현이 차이가 나는 경우 등)
예외:
DOMException - NOT_SUPPORTED_ERR:소스 노드가 DOCUMENT,DOCUMENT_TYPE 형태인 경우
NO_MODIFICATION_ALLOWED_ERR:소스 노드가 읽어내 전용이다 경우
도입된 버젼:
DOM Level 3

getDomConfig

DOMConfiguration  getDomConfig()
Document.normalizeDocument() 가 불려 갔을 때에 사용되는 설정.

도입된 버젼:
DOM Level 3

normalizeDocument

void normalizeDocument()
이 메소드는, 문서를 일반적으로의 형식으로 변환해, 보존 및 로드하도록(듯이) 동작합니다. 즉,Node.normalize() 메소드의 정의에 근거해,EntityReference 노드의 치환 트리를 갱신해,Text 노드를 정규화합니다.
이 메소드의 결과는,Document.domConfig 객체로 설정되어 있는 기능과 그 기능이 어떤 처리를 실제로 실행할까에 응해 다릅니다. 예를 들어, 기술되고 있는 알고리즘에 따라, 문서를 이름 공간 정형식으로 변환하거나 문자가 정규화되고 있는지 어떤지를 확인하거나CDATASection 노드를 삭제할 수도 있습니다. 자세한 것은,DOMConfiguration 를 참조해 주세요.
// Keep in the document 
 the information defined // in the XML Information Set (Java example) 
 DOMConfiguration docConfig = myDocument.getDomConfig(); 
 docConfig.setParameter("infoset", Boolean.TRUE); 
 myDocument.normalizeDocument();

변이 이벤트가 지원되고 있을 때는, 문서로 발생하는 변경을 반영하기 위해서 변이 이벤트가 생성됩니다.
이 메소드를 호출하고 있을 때 에러가 발생했을 경우 (읽기 전용 노드를 갱신하려고 했을 경우, 또는 사용중의 XML 버젼에 정해져 있는 부정한 문자가 Node.nodeName 에 포함되어 있는 경우등)에는, error-handler 파라미터에 관련지을 수 있고 있는 DOMErrorHandler 객체를 사용해, 에러 또는 경고 (DOMError.SEVERITY_ERROR 또는 DOMError.SEVERITY_WARNING)가 보고됩니다. 또, 구현이 에러로부터 회복할 수 없는 경우에, 치명적인 에러 (DOMError.SEVERITY_FATAL_ERROR)를 보고하는 일이 있습니다.

도입된 버젼:
DOM Level 3

renameNode

Node  renameNode(Node  n,
                String  namespaceURI,
                String  qualifiedName)
                throws DOMException 
ELEMENT_NODE 또는 ATTRIBUTE_NODE 형의 기존의 노드의 이름을 변경합니다.
이 메소드는, 주어진(given) 노드의 이름을 변경할 수 있는 경우에는, 노드명을 변경합니다. 변경할 수 없는 경우에는, 지정된 이름의 새로운 노드를 작성해, 다음의 순서로 기존의 노드를 새로운 노드에 옮겨놓습니다.
주어진(given) 노드의 이름을 변경할 수 없는 경우에는, 다음의 처리가 실행됩니다. 새로운 노드가 작성되어 등록이 끝난 이벤트 청취자가 새로운 노드에 등록됩니다. 낡은 노드에 관련지을 수 있고 있던 사용자 데이터는, 낡은 노드로부터 해제됩니다. 낡은 노드에 부모가 있는 경우에는, 부모로부터 해제됩니다. 해제된 자식(child) 노드는, 새로운 노드로 이동합니다. 이름을 변경한 노드가 Element 의 경우에는, 그 속성이 새로운 노드로 이동합니다. 새로운 노드는, 부모의 자식(child) 노드 리스트내에서 낡은 노드가 있던 위치에 삽입됩니다. 낡은 노드에 사용자 데이터를 관련지을 수 있고 있었을 경우에는, 그 사용자 데이터는 새로운 노드에 관련지을 수 있습니다.
이름을 변경하는 노드가 Element 의 경우, 지정한 속성만이 이동해, DTD 에 근거해 설정된 디폴트 속성이 새로운 요소명에 근거해 갱신됩니다. 이 구현은, 다른 schema로부터 디폴트 속성을 갱신하는 일도 있습니다. 어플리케이션은,Document.normalizeDocument() 를 사용해, 이러한 속성을 갱신할 필요가 있습니다.
이름을 변경하는 노드가 Attr 로,Element 에 관련지을 수 있고 있을 때는, 그 노드는 우선 Element 속성 맵으로부터 삭제됩니다. 다음에, 노드의 이름을 변경하면(자) (기존의 노드를 변경하는지, 전술의 순서로 새로운 노드를 작성한다), 노드가 원래대로 돌아갑니다.
게다가

파라미터:
n - 이름을 변경하는 노드
namespaceURI - 새로운 이름 공간 URI
qualifiedName - 새로운 수식명
반환값:
이름이 변경된 노드. 지정된 노드, 또는 지정된 노드를 옮겨놓는 새로운 노드
예외:
DOMException - NOT_SUPPORTED_ERR:지정된 노드의 형태가 ELEMENT_NODEATTRIBUTE_NODE 도 아닌 경우, 또는 구현이 문서 요소의 이름 변경을 지원하고 있지 않다 경우
INVALID_CHARACTER_ERR:새로운 수식명이, 사용중의 XML 버젼 (Document.xmlVersion 속성으로 지정되고 있다) 에 정해져 있는 XML 명이 아닌 경우
WRONG_DOCUMENT_ERR:지정된 노드가 이 문서 이외의 문서로부터 작성되었을 경우
NAMESPACE_ERR:qualifiedName 가 부정한 수식명인 경우. qualifiedName 가 접두사를 가져, namespaceURInull 인 경우. 혹은,qualifiedName 가 접두사 「xml」를 가져, namespaceURI 「http://www.w3.org/XML/1998/namespace」XML 이름 공간과는 다른 경우. . 또는, 이름을 변경하고 있는 노드가 속성인 경우. qualifiedName 또는 그 접두사가 「xmlns」로, namespaceURI「http://www.w3.org/2000/xmlns/」(이)란 다른 경우
도입된 버젼:
DOM Level 3

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.