java.lang.Object
javax.imageio.metadata.IIOMetadataNode
代表元数据树中节点的类,实现了
org.w3c.dom.Element接口,并通过getUserObject和setUserObject方法允许存储非文本对象。
此类不适用于一般的XML处理。特别是,在Image I/O API中创建的Element节点与Sun标准实现的org.w3.dom API创建的节点不兼容。具体而言,该实现针对简单用途进行了调整,可能不适用于密集处理。
此实现中忽略了命名空间。术语“标签名”和“节点名”始终被视为同义词。注意: DOM Level 3规范添加了许多新方法到Node、Element和Attr接口,这些方法对IIOMetadataNode的实现或规范没有价值。在IIOMetadataNode上调用这些方法,或者从IIOMetadataNode返回的Attr实例将导致抛出DOMException。
- 参见:
-
Field Summary
Fields declared in interface 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 -
Constructor Summary
ConstructorsConstructorDescription构造一个空的IIOMetadataNode。IIOMetadataNode(String nodeName) 构造具有给定节点名称的IIOMetadataNode。 -
Method Summary
Modifier and TypeMethodDescriptionappendChild(Node newChild) 将节点newChild添加到此节点的子节点列表的末尾。cloneNode(boolean deep) 返回此节点的副本。shortcompareDocumentPosition(Node other) 此DOM Level 3方法不支持IIOMetadataNode,将抛出DOMException。getAttribute(String name) 通过名称检索属性值。getAttributeNode(String name) 通过名称检索属性节点。getAttributeNodeNS(String namespaceURI, String localName) 等同于getAttributeNode(localName)。getAttributeNS(String namespaceURI, String localName) 等同于getAttribute(localName)。返回包含此节点属性的NamedNodeMap。此DOM Level 3方法不支持IIOMetadataNode,将抛出DOMException。返回包含此节点所有子节点的NodeList。getElementsByTagName(String name) 返回按文档顺序具有给定标签名的所有后代Element的NodeList。getElementsByTagNameNS(String namespaceURI, String localName) 等同于getElementsByTagName(localName)。getFeature(String feature, String version) 此DOM Level 3方法不支持IIOMetadataNode,将抛出DOMException。返回此节点的第一个子节点,如果节点没有子节点则返回null。返回此节点的最后一个子节点,如果节点没有子节点则返回null。int列表中的节点数。等同于getNodeName。返回null,因为不支持命名空间。返回此节点的下一个同级节点,如果节点没有下一个同级节点则返回null。返回与此节点关联的节点名称。short返回节点类型,始终为ELEMENT_NODE。返回与此节点关联的值。返回null,因为IIOMetadataNode不属于任何Document。返回此节点的父节点。返回null,因为不支持命名空间。返回此节点的前一个同级节点,如果节点没有前一个同级节点则返回null。此DOM Level 3方法不支持IIOMetadataNode,将抛出DOMException。等同于getNodeName。此DOM Level 3方法不支持IIOMetadataNode,将抛出DOMException。getUserData(String key) 此DOM Level 3方法不支持IIOMetadataNode,将抛出DOMException。返回与此节点关联的Object值。booleanhasAttribute(String name) 当元素具有给定名称的属性已指定或具有默认值时返回true,否则返回false。booleanhasAttributeNS(String namespaceURI, String localName) 等同于hasAttribute(localName)。boolean返回此节点(如果是元素)是否具有任何属性。boolean如果此节点具有子节点则返回true。insertBefore(Node newChild, Node refChild) 在现有子节点refChild之前插入节点newChild。booleanisDefaultNamespace(String namespaceURI) 此DOM Level 3方法不支持IIOMetadataNode,将抛出DOMException。booleanisEqualNode(Node node) 此DOM Level 3方法不支持IIOMetadataNode,将抛出DOMException。booleanisSameNode(Node node) 此DOM Level 3方法不支持IIOMetadataNode,将抛出DOMException。booleanisSupported(String feature, String version) 返回false,因为不支持DOM特性。item(int index) 返回集合中的第index项。lookupNamespaceURI(String prefix) 此DOM Level 3方法不支持IIOMetadataNode,将抛出DOMException。lookupPrefix(String namespaceURI) 此DOM Level 3方法不支持IIOMetadataNode,将抛出DOMException。void不执行任何操作,因为IIOMetadataNode不包含Text子节点。voidremoveAttribute(String name) 通过名称删除属性。removeAttributeNode(Attr oldAttr) 删除指定的属性节点。voidremoveAttributeNS(String namespaceURI, String localName) 等同于removeAttribute(localName)。removeChild(Node oldChild) 从子节点列表中删除由oldChild指示的子节点,并返回该节点。replaceChild(Node newChild, Node oldChild) 在子节点列表中用newChild替换oldChild节点,并返回oldChild节点。voidsetAttribute(String name, String value) 添加新属性。setAttributeNode(Attr newAttr) 添加新属性节点。setAttributeNodeNS(Attr newAttr) 等同于setAttributeNode(newAttr)。voidsetAttributeNS(String namespaceURI, String qualifiedName, String value) 等同于setAttribute(qualifiedName, value)。voidsetIdAttribute(String name, boolean isId) 此DOM Level 3方法不支持IIOMetadataNode,将抛出DOMException。voidsetIdAttributeNode(Attr idAttr, boolean isId) 此DOM Level 3方法不支持IIOMetadataNode,将抛出DOMException。voidsetIdAttributeNS(String namespaceURI, String localName, boolean isId) 此DOM Level 3方法不支持IIOMetadataNode,将抛出DOMException。voidsetNodeValue(String nodeValue) 设置与此节点关联的String值。void不执行任何操作,因为不支持命名空间。voidsetTextContent(String textContent) 此DOM Level 3方法不支持IIOMetadataNode,将抛出DOMException。setUserData(String key, Object data, UserDataHandler handler) 此DOM Level 3方法不支持IIOMetadataNode,将抛出DOMException。voidsetUserObject(Object userObject) 设置与此节点关联的值。
-
Constructor Details
-
IIOMetadataNode
public IIOMetadataNode()构造一个空的IIOMetadataNode。 -
IIOMetadataNode
构造具有给定节点名称的IIOMetadataNode。- 参数:
-
nodeName- 节点名称,作为String。
-
-
Method Details
-
getNodeName
返回与此节点关联的节点名称。- 指定者:
-
getNodeName在接口Node中 - 返回:
-
节点名称,作为
String。
-
getNodeValue
返回与此节点关联的值。- 指定者:
-
getNodeValue在接口Node中 - 返回:
-
节点值,作为
String。
-
setNodeValue
设置与此节点关联的String值。- 指定者:
-
setNodeValue在接口Node中
-
getNodeType
public short getNodeType()返回节点类型,始终为ELEMENT_NODE。- 指定者:
-
getNodeType在接口Node中 - 返回:
-
short值ELEMENT_NODE。
-
getParentNode
返回此节点的父节点。如果节点是其自身树的根,则返回null值。要将节点添加到现有树中,请使用insertBefore、replaceChild或appendChild方法之一。- 指定者:
-
getParentNode在接口Node中 - 返回值:
-
父节点,作为一个
Node。 - 参见:
-
getChildNodes
返回一个包含此节点所有子节点的NodeList。如果没有子节点,则这是一个不包含任何节点的NodeList。- 指定者:
-
getChildNodes在接口Node中 - 返回值:
-
子节点作为一个
NodeList
-
getFirstChild
返回此节点的第一个子节点,如果节点没有子节点则返回null。- 指定者:
-
getFirstChild在接口Node中 - 返回值:
-
第一个子节点,作为一个
Node,或null
-
getLastChild
返回此节点的最后一个子节点,如果节点没有子节点则返回null。- 指定者:
-
getLastChild在接口Node中 - 返回值:
-
最后一个子节点,作为一个
Node,或null
-
getPreviousSibling
返回此节点的前一个同级节点,如果此节点没有前一个同级节点则返回null。- 指定者:
-
getPreviousSibling在接口Node中 - 返回值:
-
前一个同级节点,作为一个
Node,或null
-
getNextSibling
返回此节点的下一个同级节点,如果节点没有下一个同级节点则返回null。- 指定者:
-
getNextSibling在接口Node中 - 返回值:
-
下一个同级节点,作为一个
Node,或null
-
getAttributes
返回包含此节点属性的NamedNodeMap。- 指定者:
-
getAttributes在接口Node中 - 返回值:
-
包含此节点属性的
NamedNodeMap。
-
getOwnerDocument
返回null,因为IIOMetadataNode不属于任何Document。- 指定者:
-
getOwnerDocument在接口Node中 - 返回值:
-
null。
-
insertBefore
在现有子节点refChild之前插入节点newChild。如果refChild为null,则在子节点列表的末尾插入newChild。- 指定者:
-
insertBefore在接口Node中 - 参数:
-
newChild- 要插入的Node。 -
refChild- 参考Node。 - 返回值:
- 被插入的节点。
- 抛出:
-
IllegalArgumentException- 如果newChild为null。
-
replaceChild
用newChild替换子节点oldChild在子节点列表中,并返回oldChild节点。- 指定者:
-
replaceChild在接口Node中 - 参数:
-
newChild- 要插入的Node。 -
oldChild- 要替换的Node。 - 返回值:
- 被替换的节点。
- 抛出:
-
IllegalArgumentException- 如果newChild为null。
-
removeChild
从子节点列表中移除由oldChild指示的子节点,并返回它。- 指定者:
-
removeChild在接口Node中 - 参数:
-
oldChild- 要移除的Node。 - 返回值:
- 被移除的节点。
- 抛出:
-
IllegalArgumentException- 如果oldChild为null。
-
appendChild
将节点newChild添加到此节点的子节点列表的末尾。- 指定者:
-
appendChild在接口Node中 - 参数:
-
newChild- 要插入的Node。 - 返回值:
- 添加的节点。
- 抛出:
-
IllegalArgumentException- 如果newChild为null。
-
hasChildNodes
public boolean hasChildNodes()如果此节点有子节点,则返回true。- 指定者:
-
hasChildNodes在接口Node中 - 返回值:
-
如果此节点有子节点则返回
true。
-
cloneNode
返回此节点的副本。副本节点没有父节点(getParentNode返回null)。如果正在执行浅克隆(deep为false),新节点将不具有任何子节点或同级节点。如果正在执行深克隆,新节点将形成完整克隆子树的根。 -
normalize
public void normalize()不执行任何操作,因为IIOMetadataNode不包含Text子节点。 -
isSupported
返回false,因为不支持DOM特性。- 指定者:
-
isSupported在接口Node中 - 参数:
-
feature- 一个被忽略的String。 -
version- 一个被忽略的String。 - 返回值:
-
false。
-
getNamespaceURI
返回null,因为不支持命名空间。- 指定者:
-
getNamespaceURI在接口Node中 - 抛出:
-
DOMException
-
getPrefix
返回null,因为不支持命名空间。 -
setPrefix
不执行任何操作,因为不支持命名空间。 -
getLocalName
等同于getNodeName。- 指定者:
-
getLocalName在接口Node中 - 返回:
-
节点名称,作为一个
String
-
getTagName
等同于getNodeName。- 指定者:
-
getTagName在接口Element中 - 返回:
-
节点名称,作为一个
String
-
getAttribute
通过名称检索属性值。- 指定者:
-
getAttribute在接口Element中 - 参数:
-
name- 要检索的属性的名称 - 返回:
-
作为字符串的
Attr值,如果该属性没有指定或默认值,则为空字符串
-
getAttributeNS
等同于getAttribute(localName)。- 指定者:
-
getAttributeNS在接口Element中 - 参数:
-
namespaceURI- 要检索的属性的命名空间URI -
localName- 要检索的属性的本地名称 - 返回:
-
作为字符串的
Attr值,如果该属性没有指定或默认值,则为空字符串 - 参见:
-
setAttribute
从接口复制的描述:Element添加一个新属性。如果元素中已经存在具有该名称的属性,则其值将更改为value参数的值。该值是一个简单的字符串;在设置时不会被解析。因此,任何标记(例如被识别为实体引用的语法)都将被视为文字文本,并且在写出时需要由实现适当地转义。为了分配包含实体引用的属性值,用户必须创建一个Attr节点以及任何Text和EntityReference节点,构建适当的子树,并使用setAttributeNode将其分配为属性的值。
要设置具有限定名称和命名空间URI的属性,请使用setAttributeNS方法。- 指定者:
-
setAttribute在接口Element中 - 参数:
-
name- 要创建或更改的属性的名称 -
value- 要以字符串形式设置的值
-
setAttributeNS
等同于setAttribute(qualifiedName, value)。- 指定者:
-
setAttributeNS在接口Element中 - 参数:
-
namespaceURI- 要创建或更改的属性的命名空间URI -
qualifiedName- 要创建或更改的属性的限定名称 -
value- 要以字符串形式设置的值 - 参见:
-
removeAttribute
从接口复制的描述:Element通过名称删除属性。如果在DTD中为要删除的属性定义了默认值,则在删除的属性立即出现时,将出现一个新属性,其值为默认值以及相应的命名空间URI、本地名称和(如果适用)前缀。实现可能类似地处理来自其他模式的默认值,但应用程序应使用Document.normalizeDocument()来保证此信息是最新的。
如果找不到具有此名称的属性,则此方法不起作用。
要通过本地名称和命名空间URI删除属性,请使用removeAttributeNS方法。- 指定者:
-
removeAttribute在接口Element中 - 参数:
-
name- 要删除的属性的名称
-
removeAttributeNS
等同于removeAttribute(localName)。- 指定者:
-
removeAttributeNS在接口Element中 - 参数:
-
namespaceURI- 要删除的属性的命名空间URI -
localName- 要删除的属性的本地名称
-
getAttributeNode
从接口复制的描述:Element通过名称检索属性节点。
要通过限定名称和命名空间URI检索属性节点,请使用getAttributeNodeNS方法。- 指定者:
-
getAttributeNode在接口Element中 - 参数:
-
name- 要检索的属性的名称(nodeName) - 返回:
-
具有指定名称(
nodeName)的Attr节点,如果没有这样的属性,则返回null
-
getAttributeNodeNS
等同于getAttributeNode(localName)。- 指定者:
-
getAttributeNodeNS在接口Element中 - 参数:
-
namespaceURI- 要检索的属性的命名空间URI -
localName- 要检索的属性的本地名称 - 返回:
-
具有指定属性本地名称和命名空间URI的
Attr节点,如果没有这样的属性,则返回null - 参见:
-
setAttributeNode
从接口复制的描述:Element添加一个新属性节点。如果元素中已经存在具有该名称(nodeName)的属性,则将其替换为新属性。将属性节点替换为自身不会产生任何效果。
要添加具有限定名称和命名空间URI的新属性节点,请使用setAttributeNodeNS方法。- 指定者:
-
setAttributeNode在接口Element中 - 参数:
-
newAttr- 要添加到属性列表的Attr节点 - 返回:
-
如果
newAttr属性替换了现有属性,则返回替换的Attr节点,否则返回null - 抛出:
-
DOMException- WRONG_DOCUMENT_ERR: 如果newAttr是从创建元素的不同文档创建的,则引发
NO_MODIFICATION_ALLOWED_ERR: 如果此节点是只读的,则引发
INUSE_ATTRIBUTE_ERR: 如果newAttr已经是另一个Element对象的属性,则引发。DOM用户必须显式克隆Attr节点以在其他元素中重用它们。
-
setAttributeNodeNS
等同于setAttributeNode(newAttr)。- 指定由:
-
setAttributeNodeNS在接口Element中 - 参数:
-
newAttr- 要添加到属性列表的Attr节点。 - 返回:
-
如果
newAttr属性替换了具有相同本地名称和命名空间URI的现有属性,则返回被替换的Attr节点,否则返回null。 - 参见:
-
removeAttributeNode
从接口复制的描述:Element删除指定的属性节点。如果在DTD中为已删除的Attr节点定义了默认值,则新节点将立即出现,其默认值以及相应的命名空间URI、本地名称和前缀(如果适用)。实现可能类似地处理来自其他模式的默认值,但应用程序应使用Document.normalizeDocument()来确保此信息是最新的。- 指定由:
-
removeAttributeNode在接口Element中 - 参数:
-
oldAttr- 要从属性列表中删除的Attr节点。 - 返回:
-
被移除的
Attr节点。
-
getElementsByTagName
从接口复制的描述:Element返回具有给定标记名称的所有后代Elements的NodeList,按文档顺序排列。- 指定由:
-
getElementsByTagName在接口Element中 - 参数:
-
name- 要匹配的标记名称。特殊值"*"匹配所有标记。 - 返回:
-
匹配的
Element节点列表。
-
getElementsByTagNameNS
等同于getElementsByTagName(localName)。- 指定由:
-
getElementsByTagNameNS在接口Element中 - 参数:
-
namespaceURI- 要匹配的元素的命名空间URI。特殊值"*"匹配所有命名空间。 -
localName- 要匹配的元素的本地名称。特殊值"*"匹配所有本地名称。 - 返回:
-
包含所有匹配的
Elements的新NodeList对象。
-
hasAttributes
public boolean hasAttributes()从接口复制的描述:Node返回此节点(如果是元素)是否具有任何属性。- 指定由:
-
hasAttributes在接口Node中 - 返回:
-
如果此节点具有任何属性,则返回
true,否则返回false。
-
hasAttribute
从接口复制的描述:Element当在此元素上指定具有给定名称的属性或具有默认值时,返回true,否则返回false。- 指定由:
-
hasAttribute在接口Element中 - 参数:
-
name- 要查找的属性的名称。 - 返回:
-
如果在此元素上指定具有给定名称的属性或具有默认值,则返回
true,否则返回false。
-
hasAttributeNS
等同于hasAttribute(localName)。- 指定由:
-
hasAttributeNS在接口Element中 - 参数:
-
namespaceURI- 要查找的属性的命名空间URI。 -
localName- 要查找的属性的本地名称。 - 返回:
-
如果在此元素上指定具有给定本地名称和命名空间URI的属性或具有默认值,则返回
true,否则返回false。
-
getLength
public int getLength()从接口复制的描述:NodeList列表中的节点数。有效子节点索引的范围是从0到length-1。 -
item
从接口复制的描述:NodeList返回集合中的第index个项目。如果index大于或等于列表中的节点数,则返回null。 -
getUserObject
返回与此节点关联的Object值。- 返回:
-
用户
Object。 - 参见:
-
setUserObject
设置与此节点关联的值。- 参数:
-
userObject- 用户Object。 - 参见:
-
setIdAttribute
此DOM Level 3方法不支持IIOMetadataNode,将引发DOMException。- 指定由:
-
setIdAttribute在接口Element中 - 参数:
-
name- 属性的名称。 -
isId- 属性是否为ID类型。 - 抛出:
-
DOMException- 总是。
-
setIdAttributeNS
public void setIdAttributeNS(String namespaceURI, String localName, boolean isId) throws DOMException 此DOM Level 3方法不支持IIOMetadataNode,将引发DOMException。- 指定由:
-
setIdAttributeNS在接口Element中 - 参数:
-
namespaceURI- 属性的命名空间URI。 -
localName- 属性的本地名称。 -
isId- 属性是否为ID类型。 - 抛出:
-
DOMException- 总是。
-
setIdAttributeNode
此DOM Level 3方法不支持IIOMetadataNode,将引发DOMException。- 指定由:
-
setIdAttributeNode在接口Element中 - 参数:
-
idAttr- 属性节点。 -
isId- 属性是否为ID类型。 - 抛出:
-
DOMException- 总是。
-
getSchemaTypeInfo
此DOM Level 3方法不支持IIOMetadataNode,将引发DOMException。- 指定者:
-
getSchemaTypeInfo在接口Element中 - 抛出:
-
DOMException- 总是。
-
setUserData
这个DOM Level 3方法不支持IIOMetadataNode,会抛出一个DOMException。- 指定者:
-
setUserData在接口Node中 - 参数:
-
key- 要关联对象的键。 -
data- 要关联到给定键的对象,或者null以删除与该键的任何现有关联。 -
handler- 要与该键关联的处理程序,或null。 - 返回:
-
返回此节点上先前关联到给定键的
DOMUserData,如果没有则返回null。 - 抛出:
-
DOMException- 总是。
-
getUserData
这个DOM Level 3方法不支持IIOMetadataNode,会抛出一个DOMException。- 指定者:
-
getUserData在接口Node中 - 参数:
-
key- 与对象关联的键。 - 返回:
-
返回此节点上关联到给定键的
DOMUserData,如果没有则返回null。 - 抛出:
-
DOMException- 总是。
-
getFeature
这个DOM Level 3方法不支持IIOMetadataNode,会抛出一个DOMException。- 指定者:
-
getFeature在接口Node中 - 参数:
-
feature- 请求的特性名称。请注意,在特定方法上忽略的任何加号“+”将被忽略,因为在此方法的上下文中它不重要。 -
version- 这是要测试的特性的版本号。 - 返回:
-
返回一个实现指定特性和版本的专用API的对象,如果有的话,或者如果没有实现与该特性相关联的接口的对象,则返回
null。如果此方法返回的DOMObject实现了Node接口,则它必须委托给主要核心Node,并且不得返回与主要核心Node不一致的结果,例如属性、childNodes等。 - 抛出:
-
DOMException- 总是。
-
isSameNode
这个DOM Level 3方法不支持IIOMetadataNode,会抛出一个DOMException。- 指定者:
-
isSameNode在接口Node中 - 参数:
-
node- 要与之进行比较的节点。 - 返回:
-
如果节点相同则返回
true,否则返回false。 - 抛出:
-
DOMException- 总是。
-
isEqualNode
这个DOM Level 3方法不支持IIOMetadataNode,会抛出一个DOMException。- 指定者:
-
isEqualNode在接口Node中 - 参数:
-
node- 要与之比较相等性的节点。 - 返回:
-
如果节点相等则返回
true,否则返回false。 - 抛出:
-
DOMException- 总是。
-
lookupNamespaceURI
这个DOM Level 3方法不支持IIOMetadataNode,会抛出一个DOMException。- 指定者:
-
lookupNamespaceURI在接口Node中 - 参数:
-
prefix- 要查找的前缀。如果此参数为null,则方法将返回默认的命名空间URI(如果有)。 - 返回:
-
返回关联的命名空间URI,如果找不到则返回
null。 - 抛出:
-
DOMException- 总是。
-
isDefaultNamespace
这个DOM Level 3方法不支持IIOMetadataNode,会抛出一个DOMException。- 指定者:
-
isDefaultNamespace在接口Node中 - 参数:
-
namespaceURI- 要查找的命名空间URI。 - 返回:
-
如果指定的
namespaceURI是默认命名空间则返回true,否则返回false。 - 抛出:
-
DOMException- 总是。
-
lookupPrefix
这个DOM Level 3方法不支持IIOMetadataNode,会抛出一个DOMException。- 指定者:
-
lookupPrefix在接口Node中 - 参数:
-
namespaceURI- 要查找的命名空间URI。 - 返回:
-
如果找到关联的命名空间前缀则返回,否则返回
null。如果有多个前缀与命名空间前缀相关联,则返回的命名空间前缀是实现相关的。 - 抛出:
-
DOMException- 总是。
-
getTextContent
这个DOM Level 3方法不支持IIOMetadataNode,会抛出一个DOMException。- 指定者:
-
getTextContent在接口Node中 - 抛出:
-
DOMException- 总是。
-
setTextContent
这个DOM Level 3方法不支持IIOMetadataNode,会抛出一个DOMException。- 指定者:
-
setTextContent在接口Node中 - 抛出:
-
DOMException- 总是。
-
compareDocumentPosition
这个DOM Level 3方法不支持IIOMetadataNode,会抛出一个DOMException。- 指定者:
-
compareDocumentPosition在接口Node中 - 参数:
-
other- 要与参考节点比较的节点。 - 返回:
- 返回节点相对于参考节点的位置。
- 抛出:
-
DOMException- 总是。
-
getBaseURI
这个DOM Level 3方法不支持IIOMetadataNode,会抛出一个DOMException。- 指定者:
-
getBaseURI在接口Node中 - 抛出:
-
DOMException- 总是。
-