|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
public interface Attr
Attr
인터페이스는,Element
객체의 1 개의 속성을 표현합니다. 일반적으로, 속성의 허용치는 문서에 관련지을 수 있었던 schema에 정의되고 있습니다.
Attr
객체는 Node
인터페이스를 상속하고 있습니다만, 자신이 기술하는 요소의 자식(child) 노드로는 되고 있지 않습니다. 이 때문에, DOM 에서는, 문서 트리의 일부라고는 보여지지 않습니다. 따라서 Node
속성인 parentNode
,previousSibling
,nextSibling
의 Attr
객체의 값은 null
가 됩니다. DOM 에서는, 속성은, 그것들을 관련지을 수 있고 있는 요소로부터 독립한 존재는 아니고, 이러한 요소의 프로퍼티이다고 보여집니다. 이러한 관점으로부터, 속성의 기능은, 주어진(given) 형태를 가지는 모든 요소에 관련지을 수 있었던 디폴트 속성으로서 한층 더 효율적으로 구현되게 됩니다. 또,Attr
노드는 DocumentFragment
의 직접적인 자식(child) 노드는 되지 않기는 하지만,DocumentFragment
내의 Element
노드에 관련짓는 것이 가능합니다. 사용자와 DOM 의 구현자는,Attr
노드가 Node
인터페이스를 상속하는 그 외의 객체와 공통점을 가지고 있는 것만으로 있어, 그것들과는 완전히 별개인 것에 주의할 필요가 있습니다.
다음에, 속성의 실효가의 특정 방법에 대해 설명합니다. 속성에 어떠한 값을 명시적으로 할당할 수 있고 있으면, 그 값이 속성의 실효가가 됩니다. 속성의 선언이 존재해, 거기에 디폴트 값가 포함되어 있으면, 그 디폴트 값가 속성의 실효가가 됩니다. 그 이외의 경우, 구조 모델에 있어서의 현재의 요소에는 속성이 존재하지 않습니다 (명시적으로 추가할 필요가 있다)Attr
인스턴스상의 Node.nodeValue
속성을 사용해, 속성의 값에 상당하는 캐릭터 라인을 취득할 수도 있습니다.
이 속성의 값이 인스턴스 문서내에서 명시적으로 할당할 수 있지 않지만, 이 문서에 관련지을 수 있었던 schema에 디폴트 값가 설정되어 있는 경우에는,specified
가 false
로 설정된 속성 노드가 작성됩니다. schema에 디폴트 값가 정의되고 있는 속성 노드를 삭제하면(자),specified
가 false
로 설정된, 디폴트 값의 새로운 속성 노드가 생성됩니다. Document.normalizeDocument()
를 호출하고 있을 때 검증을 했을 경우에는,specified
가 false
인 속성 노드는, 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<6」 |
리터럴 개행 문자 |
「x=5 y=6」 |
「x=5 y=6」 |
「x=5 y=6」 |
정규화된 개행 문자 |
「x=5 y=6」 |
「x=5 y=6」 |
「x=5 y=6」 |
리터럴 개행 문자를 포함한 엔티티 e |
<! ENTITY e '... ...'>[...]> 「x=5&e;y=6」 |
구현과 로드 옵션에 응해 다르다 | 구현과 로드/보존 옵션에 응해 다르다 |
「Document Object Model (DOM) Level 3 Core Specification」를 참조해 주세요.
필드의 개요 |
---|
메소드의 개요 | |
---|---|
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 |
메소드의 상세 |
---|
String getName()
null
이외의 경우, 이 속성은 수식명입니다.
boolean getSpecified()
true
, 그렇지 않은 경우는 false
. 디폴트 값와 같은 값이 되는 경우를 포함해, 어플리케이션이 이 속성 노드의 값을 변경했을 경우는,true
로 설정됩니다. 이 구현은 다른 schema로부터 디폴트 값의 속성을과 같이 처리하는 일도 있습니다만, 어플리케이션은 Document.normalizeDocument()
를 사용해 이 정보를 갱신할 필요가 있습니다.
String getValue()
Element
인터페이스의 getAttribute
메소드도 참조해 주세요. Text
노드를 작성합니다. 즉, XML 프로세서에 의해 마크 업으로서 인식되는 모든 문자는, 리터럴 텍스트로서 취급됩니다. Element.setAttribute()
메소드도 참조해 주세요.
void setValue(String value) throws DOMException
Element
인터페이스의 getAttribute
메소드도 참조해 주세요. Text
노드를 작성합니다. 즉, XML 프로세서에 의해 마크 업으로서 인식되는 모든 문자는, 리터럴 텍스트로서 취급됩니다. Element.setAttribute()
메소드도 참조해 주세요.
DOMException
- NO_MODIFICATION_ALLOWED_ERR:노드가 읽어내 전용의 경우Element getOwnerElement()
Element
노드. 이 속성이 사용되어 있지 않은 경우는 null
TypeInfo getSchemaTypeInfo()
Document.normalizeDocument()
를 호출한 후에도 보증됩니다. 다만, 노드가 이동되었을 경우에는,schemaTypeInfo
의 형태 정보가 보증되지 않는 것이 있습니다.
boolean isId()
Document.getElementById
메소드를 사용해 이 속성의 ownerElement
를 취득할 수 있습니다. 이 구현은, 몇개의 방법을 사용해, 속성 노드가 식별자를 포함하고 있다고 인식되고 있는지 어떤지를 판정합니다.
Document.normalizeDocument()
를 호출하고 있을 때, XML schema「XML Schema Part 1」을 사용해 검증을 했을 경우에는, schema 검증 후 정보 세트 기여 (PSVI 기여) 치를 사용해, 이 속성이「XPointer」의schema 결정 ID 정의를 사용하는 schema 결정 ID 속성일지 어떨지를 판단합니다.
Document.normalizeDocument()
를 호출하고 있을 때, DTD 를 사용해 검증을 했을 경우에는, 정보 세트 「형태 정의」 의 값을 사용해, 이 속성이「XPointer」의 DTD 결정 ID 정의를 사용하는 DTD 결정 ID 속성일지 어떨지를 판단합니다.
Element.setIdAttribute()
,Element.setIdAttributeNS()
, 또는 Element.setIdAttributeNode()
메소드가 사용되고 있는 경우에는, 사용자 결정 ID 속성이다고 판단합니다.
주: XPointer 시스템 (「XPointer」의 섹션 3.2 를 참조)에서는, DOM 사용자 결정 ID 속성이 XPointer 외부 결정 ID 정의의 일부라고 보여집니다.
Document.normalizeDocument()
를 호출하고 있을 때 검증을 했을 경우에는, 모든 사용자 결정 ID 속성이 리셋 되어 사용하고 있는 schema에 근거해 모든 속성 노드 ID 정보가 재평가됩니다. 이 결과,Attr.schemaTypeInfo
속성에 ID 형이 포함되는 경우에는,isId
는 항상 true 를 돌려줍니다.
|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.