## org.dom4j.datatype
Class DatatypeAttribute

    java.lang.Object
      org.dom4j.tree.AbstractNode
          org.dom4j.tree.AbstractAttribute
              org.dom4j.datatype.DatatypeAttribute

All Implemented Interfaces:
  Attribute, Cloneable, Node, Serializable, com.sun.msv.datatype.SerializationContext, org.relaxng.datatype.ValidationContext

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.

Version:
  $Revision: 1.9 $
Author:
  James Strachan
See Also:
  Serialized Form

Field Summary

Fields inherited from class org.dom4j.tree.AbstractNode
`NODE_TYPE_NAMES`

Fields inherited from interface org.dom4j.Node
`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 Summary
`DatatypeAttribute(QName qname, com.sun.msv.datatype.xsd.XSDatatype datatype)`
`DatatypeAttribute(QName qname, com.sun.msv.datatype.xsd.XSDatatype datatype, String text)`

Method Summary
`protected Object` `convertToValue(String txt)`
`String` `getBaseUri()`
`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()`.
`String` `getNamespacePrefix(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`.
`String` `getValue()` Returns the value of the attribute.
`com.sun.msv.datatype.xsd.XSDatatype` `getXSDatatype()` Returns the MSV XSDatatype for this node
`boolean` `isNotation(String notationName)`
`boolean` `isReadOnly()` `isReadOnly` returns true if this node is read only and cannot be modified.
`boolean` `isUnparsedEntity(String entityName)`
`String` `resolveNamespacePrefix(String prefix)`
`void` `setData(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(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.
`String` `toString()`
`protected void` `validate(String txt)`

Methods inherited from class org.dom4j.tree.AbstractAttribute
`accept, asXML, createXPathResult, getName, getNamespace, getNamespacePrefix, getNamespaceURI, getNodeType, getPath, getQualifiedName, getText, getUniquePath, setNamespace, setText, write`

Methods inherited from class org.dom4j.tree.AbstractNode
`asXPathResult, clone, createPattern, createXPath, createXPathFilter, detach, getDocument, getDocumentFactory, getNodeTypeName, getPath, getStringValue, getUniquePath, hasContent, matches, numberValueOf, selectNodes, selectNodes, selectNodes, selectObject, selectSingleNode, setDocument, setName, valueOf`

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface org.dom4j.Node
`asXPathResult, clone, createXPath, detach, getDocument, getNodeTypeName, getPath, getStringValue, getUniquePath, hasContent, matches, numberValueOf, selectNodes, selectNodes, selectNodes, selectObject, selectSingleNode, setDocument, setName, valueOf`

Constructor Detail

### DatatypeAttribute

    public DatatypeAttribute(QName qname,
                             com.sun.msv.datatype.xsd.XSDatatype datatype)

### DatatypeAttribute

    public DatatypeAttribute(QName qname,
                             com.sun.msv.datatype.xsd.XSDatatype datatype,
                             String text)

Method Detail

### toString

    public String toString()

  Overrides:
    `toString` in class `AbstractAttribute`

### getXSDatatype

    public com.sun.msv.datatype.xsd.XSDatatype getXSDatatype()

  Returns the MSV XSDatatype for this node

  Returns:
    DOCUMENT ME!

### getNamespacePrefix

    public String getNamespacePrefix(String uri)

  Specified by:
    `getNamespacePrefix` in interface `com.sun.msv.datatype.SerializationContext`

### getBaseUri

    public String getBaseUri()

  Specified by:
    `getBaseUri` in interface `org.relaxng.datatype.ValidationContext`

### isNotation

    public boolean isNotation(String notationName)

  Specified by:
    `isNotation` in interface `org.relaxng.datatype.ValidationContext`

### isUnparsedEntity

    public boolean isUnparsedEntity(String entityName)

  Specified by:
    `isUnparsedEntity` in interface `org.relaxng.datatype.ValidationContext`

### resolveNamespacePrefix

    public String resolveNamespacePrefix(String prefix)

  Specified by:
    `resolveNamespacePrefix` in interface `org.relaxng.datatype.ValidationContext`

### getQName

    public QName getQName()

  Description copied from interface: `Attribute`

  Returns the `QName` of this attribute which represents the local name, the qualified name and the `Namespace`.

  Specified by:
    `getQName` in interface `Attribute`
  Returns:
    the `QName` associated with this attribute

### getValue

    public String getValue()

  Description copied from interface: `Attribute`

  Returns the value of the attribute. This method returns the same value as the `Node.getText()`method.

  Specified by:
    `getValue` in interface `Attribute`
  Returns:
    the value of the attribute

### setValue

    public void setValue(String value)

  Description copied from interface: `Attribute`

  Sets the value of this attribute or this method will throw an `UnsupportedOperationException` if it is read-only.

  Specified by:
    `setValue` in interface `Attribute`
  Overrides:
    `setValue` in class `AbstractAttribute`

### getData

    public Object getData()

  Description copied from interface: `Attribute`

  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()`.

  Specified by:
    `getData` in interface `Attribute`
  Overrides:
    `getData` in class `AbstractAttribute`

### setData

    public void setData(Object data)

  Description copied from interface: `Attribute`

  Sets the data value of this attribute if this element supports data binding or calls `Node.setText(String)`if it doesn't.

  Specified by:
    `setData` in interface `Attribute`
  Overrides:
    `setData` in class `AbstractAttribute`

### getParent

    public Element getParent()

  Description copied from interface: `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.

  Specified by:
    `getParent` in interface `Node`
  Overrides:
    `getParent` in class `AbstractNode`

### setParent

    public void setParent(Element parent)

  Description copied from interface: `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.

  Specified by:
    `setParent` in interface `Node`
  Overrides:
    `setParent` in class `AbstractNode`

### supportsParent

    public boolean supportsParent()

  Description copied from interface: `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.

  Specified by:
    `supportsParent` in interface `Node`
  Overrides:
    `supportsParent` in class `AbstractNode`

### isReadOnly

    public boolean isReadOnly()

  Description copied from interface: `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.

  Specified by:
    `isReadOnly` in interface `Node`
  Overrides:
    `isReadOnly` in class `AbstractNode`

### validate

    protected void validate(String txt)
                     throws IllegalArgumentException

  Throws:
    `IllegalArgumentException`

### convertToValue

    protected Object convertToValue(String txt)

Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.