JavaTM Platform
Standard Ed. 6

org.w3c.dom
인터페이스 Attr

모든 슈퍼 인터페이스:
Node


public interface Attr
extends Node

Attr 인터페이스는,Element 객체의 1 개의 속성을 표현합니다. 일반적으로, 속성의 허용치는 문서에 관련지을 수 있었던 schema에 정의되고 있습니다.

Attr 객체는 Node 인터페이스를 상속하고 있습니다만, 자신이 기술하는 요소의 자식(child) 노드로는 되고 있지 않습니다. 이 때문에, DOM 에서는, 문서 트리의 일부라고는 보여지지 않습니다. 따라서 Node 속성인 parentNode,previousSibling,nextSiblingAttr 객체의 값은 null 가 됩니다. DOM 에서는, 속성은, 그것들을 관련지을 수 있고 있는 요소로부터 독립한 존재는 아니고, 이러한 요소의 프로퍼티이다고 보여집니다. 이러한 관점으로부터, 속성의 기능은, 주어진(given) 형태를 가지는 모든 요소에 관련지을 수 있었던 디폴트 속성으로서 한층 더 효율적으로 구현되게 됩니다. 또,Attr 노드는 DocumentFragment 의 직접적인 자식(child) 노드는 되지 않기는 하지만,DocumentFragment 내의 Element 노드에 관련짓는 것이 가능합니다. 사용자와 DOM 의 구현자는,Attr 노드가 Node 인터페이스를 상속하는 그 외의 객체와 공통점을 가지고 있는 것만으로 있어, 그것들과는 완전히 별개인 것에 주의할 필요가 있습니다.

다음에, 속성의 실효가의 특정 방법에 대해 설명합니다. 속성에 어떠한 값을 명시적으로 할당할 수 있고 있으면, 그 값이 속성의 실효가가 됩니다. 속성의 선언이 존재해, 거기에 디폴트 값가 포함되어 있으면, 그 디폴트 값가 속성의 실효가가 됩니다. 그 이외의 경우, 구조 모델에 있어서의 현재의 요소에는 속성이 존재하지 않습니다 (명시적으로 추가할 필요가 있다)Attr 인스턴스상의 Node.nodeValue 속성을 사용해, 속성의 값에 상당하는 캐릭터 라인을 취득할 수도 있습니다.

이 속성의 값이 인스턴스 문서내에서 명시적으로 할당할 수 있지 않지만, 이 문서에 관련지을 수 있었던 schema에 디폴트 값가 설정되어 있는 경우에는,specifiedfalse 로 설정된 속성 노드가 작성됩니다. schema에 디폴트 값가 정의되고 있는 속성 노드를 삭제하면(자),specifiedfalse 로 설정된, 디폴트 값의 새로운 속성 노드가 생성됩니다. Document.normalizeDocument() 를 호출하고 있을 때 검증을 했을 경우에는,specifiedfalse 인 속성 노드는, schema로 설정되어 있는 디폴트 속성치에 근거해 재계산됩니다. 이 속성의 디폴트 값가 schema로 설정되어 있지 않은 경우에는, 속성 노드는 파기됩니다.

XML 에서는, 속성치에 엔티티 참조가 포함되어 있는 경우에,Attr 노드의 자식(child) 노드가 Text 노드 또는 EntityReference 노드가 됩니다. 이것들을 사용하고 있는 경우는,EntityReference 의 설명을 참조해 주세요.

DOM Core 에서는, 문서에 관련지을 수 있고 있는 DTD 또는 schema로 속성치가 토큰형등의 형태로서 선언되고 있는 경우에서도, 모든 속성치가 캐릭터 라인으로서 표현됩니다.

DOM 구현이 어떻게 속성치를 정규화할까는, 사용하고 있는 schema를 구현이 어느 정도 인식하고 있을까에 따라서 다릅니다. 일반적으로,Attr 노드의 value 속성과 nodeValue 속성은, 퍼서로부터 건네받은 정규화된 값을 최초로 돌려줍니다. 또,Document.normalizeDocument() 가 불려 간 뒤에도, 정규화가 실행됩니다 (올바른 옵션이 설정되어 있는 경우). 다만, 변이가 실행된 뒤, 즉, 캐릭터 라인치를 직접 설정할까 Attr 의 자식(child) 노드를 변경하는 것에 의해 변이가 실행되었을 경우에는, 정규화가 실행되지 않는 것이 있습니다. 특히,문자 참조를 하고 있는 경우 (문자 참조가 DOM 내에서 표현되지 않고, 속성치의 정규화에 영향을 주는 경우)에는, 정규화는 실행되지 않습니다. 한편, 속성치가 변경되었을 때에 사용하고 있는 schema를 구현이 인식하고 있어, 그 속성치가 CDATA 이외의 경우에는, 구현은 재차 속성치를 정규화합니다. 특히, SVG DOM 구현 (캐릭터 라인과는 다른 내부 형식에서 속성치를 포함한다)등이 특수한 DOM 구현의 경우에는, 정규화를 재차 실행합니다.

다음의 겉(표)는, 원의 문서에 포함되는 속성치 (해석된 속성), DOM 에 표시된 값, 및 직렬화 된 값의 관계에 대한 예를 나타내고 있습니다.

해석된 속성치 초기 Attr.value 직렬화 된 속성치
문자 참조
「x²=5」
「x? =5」
「x²=5」
편입 문자 엔티티
「y<6」
「y<6」
「y&lt;6」
리터럴 개행 문자
 「x=5&#10;y=6」
「x=5 y=6」
「x=5&#10;y=6」
정규화된 개행 문자
「x=5 y=6」
「x=5 y=6」
「x=5 y=6」
리터럴 개행 문자를 포함한 엔티티 e
 <! ENTITY e '...&#10;...'>[...]> 「x=5&e;y=6」
구현과 로드 옵션에 응해 다르다 구현과 로드/보존 옵션에 응해 다르다

「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
 
메소드의 개요
 String getName ()
          이 속성의 이름을 돌려줍니다.
 Element getOwnerElement ()
          이 속성의 접속처인 Element 노드.
 TypeInfo getSchemaTypeInfo ()
          이 속성에 관련지을 수 있고 있는 형태 정보.
 boolean getSpecified ()
          인스턴스 문서내에서 이 속성의 값이 명시적으로 설정되어 있는 경우는 true, 그렇지 않은 경우는 false.
 String getValue ()
          취득시, 속성치는 캐릭터 라인으로서 돌려주어집니다.
 boolean isId ()
          이 속성이 형태 ID 로서 인식되고 있는 (소유자 요소의 식별자를 포함하고 있다) 화도인지를 돌려줍니다.
 void setValue (String  value)
          취득시, 속성치는 캐릭터 라인으로서 돌려주어집니다.
 
인터페이스 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
 

메소드의 상세

getName

String  getName()
이 속성의 이름을 돌려줍니다. Node.localName 가 null 이외의 경우, 이 속성은 수식명입니다.


getSpecified

boolean getSpecified()
인스턴스 문서내에서 이 속성의 값이 명시적으로 설정되어 있는 경우는 true, 그렇지 않은 경우는 false. 디폴트 값와 같은 값이 되는 경우를 포함해, 어플리케이션이 이 속성 노드의 값을 변경했을 경우는,true 로 설정됩니다. 이 구현은 다른 schema로부터 디폴트 값의 속성을과 같이 처리하는 일도 있습니다만, 어플리케이션은 Document.normalizeDocument() 를 사용해 이 정보를 갱신할 필요가 있습니다.


getValue

String  getValue()
취득시, 속성치는 캐릭터 라인으로서 돌려주어집니다. 문자 및 일반적인 엔티티 참조는 이러한 값으로 옮겨집니다. Element 인터페이스의 getAttribute 메소드도 참조해 주세요.
설정시, 미해석의 캐릭터 라인 컨텐츠를 가지는 Text 노드를 작성합니다. 즉, XML 프로세서에 의해 마크 업으로서 인식되는 모든 문자는, 리터럴 텍스트로서 취급됩니다. Element.setAttribute() 메소드도 참조해 주세요.
「SVG 1.1」구현등의 일부의 구현에서는, 변경 후에도 자동적으로 정규화를 하는 일이 있습니다. 이러한 경우에는, 취득시의 값이 설정시의 값과 일치하지 않는 것이 있습니다.


setValue

void setValue(String  value)
              throws DOMException 
취득시, 속성치는 캐릭터 라인으로서 돌려주어집니다. 문자 및 일반적인 엔티티 참조는 이러한 값으로 옮겨집니다. Element 인터페이스의 getAttribute 메소드도 참조해 주세요.
설정시, 미해석의 캐릭터 라인 컨텐츠를 가지는 Text 노드를 작성합니다. 즉, XML 프로세서에 의해 마크 업으로서 인식되는 모든 문자는, 리터럴 텍스트로서 취급됩니다. Element.setAttribute() 메소드도 참조해 주세요.
「SVG 1.1」구현등의 일부의 구현에서는, 변경 후에도 자동적으로 정규화를 하는 일이 있습니다. 이러한 경우에는, 취득시의 값이 설정시의 값과 일치하지 않는 것이 있습니다.

예외:
DOMException - NO_MODIFICATION_ALLOWED_ERR:노드가 읽어내 전용의 경우

getOwnerElement

Element  getOwnerElement()
이 속성의 접속처인 Element 노드. 이 속성이 사용되어 있지 않은 경우는 null

도입된 버젼:
DOM Level 2

getSchemaTypeInfo

TypeInfo  getSchemaTypeInfo()
이 속성에 관련지을 수 있고 있는 형태 정보. 이 속성에 포함되는 형태 정보는, 문서를 로드한 뒤, 또는 Document.normalizeDocument() 를 호출한 후에도 보증됩니다. 다만, 노드가 이동되었을 경우에는,schemaTypeInfo 의 형태 정보가 보증되지 않는 것이 있습니다.

도입된 버젼:
DOM Level 3

isId

boolean isId()
이 속성이 형태 ID 로서 인식되고 있는 (소유자 요소의 식별자를 포함하고 있다) 화도인지를 돌려줍니다. 이 속성이 형태 ID 로서 인식되어 속성치가 일의 때에는,Document.getElementById 메소드를 사용해 이 속성의 ownerElement 를 취득할 수 있습니다. 이 구현은, 몇개의 방법을 사용해, 속성 노드가 식별자를 포함하고 있다고 인식되고 있는지 어떤지를 판정합니다.
Document.normalizeDocument() 를 호출하고 있을 때 검증을 했을 경우에는, 모든 사용자 결정 ID 속성이 리셋 되어 사용하고 있는 schema에 근거해 모든 속성 노드 ID 정보가 재평가됩니다. 이 결과,Attr.schemaTypeInfo 속성에 ID 형이 포함되는 경우에는,isId 는 항상 true 를 돌려줍니다.

도입된 버젼:
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 도 참조해 주세요.