public class DatatypeAttribute extends AbstractAttribute implements com.sun.msv.datatype.SerializationContext, org.relaxng.datatype.ValidationContext
DatatypeAttribute
represents an Attribute which supports the
XML Schema Data Types
specification.
NODE_TYPE_NAMES
ANY_NODE, ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_NODE, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_REFERENCE_NODE, MAX_NODE_TYPE, NAMESPACE_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE, UNKNOWN_NODE
Constructor and Description |
---|
DatatypeAttribute(QName qname,
com.sun.msv.datatype.xsd.XSDatatype datatype) |
DatatypeAttribute(QName qname,
com.sun.msv.datatype.xsd.XSDatatype datatype,
java.lang.String text) |
Modifier and Type | Method and Description |
---|---|
protected java.lang.Object |
convertToValue(java.lang.String txt) |
java.lang.String |
getBaseUri() |
java.lang.Object |
getData()
Accesses the data of this attribute which may implement data typing
bindings such as
XML Schema or Java Bean
bindings or will return the same value as Node.getText() . |
java.lang.String |
getNamespacePrefix(java.lang.String uri) |
Element |
getParent()
getParent returns the parent Element if
this node supports the parent relationship or null if it is the root
element or does not support the parent relationship. |
QName |
getQName()
Returns the
QName of this attribute which represents the
local name, the qualified name and the Namespace . |
java.lang.String |
getValue()
Returns the value of the attribute.
|
com.sun.msv.datatype.xsd.XSDatatype |
getXSDatatype()
Returns the MSV XSDatatype for this node
|
boolean |
isNotation(java.lang.String notationName) |
boolean |
isReadOnly()
isReadOnly returns true if this node is read only and
cannot be modified. |
boolean |
isUnparsedEntity(java.lang.String entityName) |
java.lang.String |
resolveNamespacePrefix(java.lang.String prefix) |
void |
setData(java.lang.Object data)
Sets the data value of this attribute if this element supports data
binding or calls
Node.setText(String) if it doesn't. |
void |
setParent(Element parent)
setParent sets the parent relationship of this node if the
parent relationship is supported or does nothing if the parent
relationship is not supported. |
void |
setValue(java.lang.String value)
Sets the value of this attribute or this method will throw an
UnsupportedOperationException if it is read-only. |
boolean |
supportsParent()
supportsParent returns true if this node supports the
parent relationship. |
java.lang.String |
toString() |
protected void |
validate(java.lang.String txt) |
accept, asXML, createXPathResult, getName, getNamespace, getNamespacePrefix, getNamespaceURI, getNodeType, getPath, getQualifiedName, getText, getUniquePath, setNamespace, setText, write
asXPathResult, clone, createPattern, createXPath, createXPathFilter, detach, getDocument, getDocumentFactory, getNodeTypeName, getPath, getStringValue, getUniquePath, hasContent, matches, numberValueOf, selectNodes, selectNodes, selectNodes, selectObject, selectSingleNode, setDocument, setName, valueOf
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
asXPathResult, clone, createXPath, detach, getDocument, getNodeTypeName, getPath, getStringValue, getUniquePath, hasContent, matches, numberValueOf, selectNodes, selectNodes, selectNodes, selectObject, selectSingleNode, setDocument, setName, valueOf
public DatatypeAttribute(QName qname, com.sun.msv.datatype.xsd.XSDatatype datatype)
public DatatypeAttribute(QName qname, com.sun.msv.datatype.xsd.XSDatatype datatype, java.lang.String text)
public java.lang.String toString()
toString
in class AbstractAttribute
public com.sun.msv.datatype.xsd.XSDatatype getXSDatatype()
public java.lang.String getNamespacePrefix(java.lang.String uri)
getNamespacePrefix
in interface com.sun.msv.datatype.SerializationContext
public java.lang.String getBaseUri()
getBaseUri
in interface org.relaxng.datatype.ValidationContext
public boolean isNotation(java.lang.String notationName)
isNotation
in interface org.relaxng.datatype.ValidationContext
public boolean isUnparsedEntity(java.lang.String entityName)
isUnparsedEntity
in interface org.relaxng.datatype.ValidationContext
public java.lang.String resolveNamespacePrefix(java.lang.String prefix)
resolveNamespacePrefix
in interface org.relaxng.datatype.ValidationContext
public QName getQName()
Attribute
QName
of this attribute which represents the
local name, the qualified name and the Namespace
.public java.lang.String getValue()
Attribute
Node.getText()
method.public void setValue(java.lang.String value)
Attribute
UnsupportedOperationException
if it is read-only.setValue
in interface Attribute
setValue
in class AbstractAttribute
value
- is the new value of this attributepublic java.lang.Object getData()
Attribute
XML Schema
or Java Bean
bindings or will return the same value as Node.getText()
.getData
in interface Attribute
getData
in class AbstractAttribute
public void setData(java.lang.Object data)
Attribute
Node.setText(String)
if it doesn't.setData
in interface Attribute
setData
in class AbstractAttribute
data
- the attribute datapublic Element getParent()
Node
getParent
returns the parent Element
if
this node supports the parent relationship or null if it is the root
element or does not support the parent relationship.
This method is an optional feature and may not be supported for all
Node
implementations.
getParent
in interface Node
getParent
in class AbstractNode
public void setParent(Element parent)
Node
setParent
sets the parent relationship of this node if the
parent relationship is supported or does nothing if the parent
relationship is not supported.
This method should only be called from inside an Element
implementation method and is not intended for general use.
setParent
in interface Node
setParent
in class AbstractNode
parent
- is the new parent of this node.public boolean supportsParent()
Node
supportsParent
returns true if this node supports the
parent relationship.
Some XML tree implementations are singly linked and only support downward navigation through children relationships. The default case is that both parent and children relationships are supported though for memory and performance reasons the parent relationship may not be supported.
supportsParent
in interface Node
supportsParent
in class AbstractNode
public boolean isReadOnly()
Node
isReadOnly
returns true if this node is read only and
cannot be modified. Any attempt to modify a read-only Node
will result in an UnsupportedOperationException
being
thrown.
isReadOnly
in interface Node
isReadOnly
in class AbstractNode
Node
is read only and cannot be
modified otherwise false.protected void validate(java.lang.String txt) throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentException
protected java.lang.Object convertToValue(java.lang.String txt)