|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnu.xom.Node
nu.xom.Attribute
Represents an attribute such as class="empty"
or xlink:href="http://www.example.com"
.
Attributes that declare namespaces such as
xmlns="http://www.w3.org/TR/1999/xhtml"
or xmlns:xlink="http://www.w3.org/TR/1999/xlink"
are stored separately on the elements where they
appear. They are never represented as Attribute
objects.
Nested Class Summary | |
static class |
Attribute.Type
Uses the type-safe enumeration design pattern to represent attribute types, as used in XML DTDs. |
Constructor Summary | |
Attribute(Attribute attribute)
Creates a copy of the specified attribute. |
|
Attribute(java.lang.String localName,
java.lang.String value)
Creates a new attribute in no namespace with the specified name and value and undeclared type. |
|
Attribute(java.lang.String localName,
java.lang.String value,
Attribute.Type type)
Creates a new attribute in no namespace with the specified name, value, and type. |
|
Attribute(java.lang.String name,
java.lang.String URI,
java.lang.String value)
Creates a new attribute in the specified namespace with the specified name and value and undeclared type. |
|
Attribute(java.lang.String name,
java.lang.String URI,
java.lang.String value,
Attribute.Type type)
Creates a new attribute in the specified namespace with the specified name and value and undeclared type. |
Method Summary | |
protected void |
checkLocalName(java.lang.String localName)
This method is called before the specified local name is assigned to this attribute. |
protected void |
checkNamespace(java.lang.String prefix,
java.lang.String URI)
This method is called before the specified local name is assigned to this attribute. |
protected void |
checkType(Attribute.Type type)
This method is called before the specified type is assigned to this attribute. |
protected void |
checkValue(java.lang.String value)
Subclasses can override this method to check the value for an attribute before it's created or its value is changed. |
Node |
copy()
Creates a deep copy of this attribute that is not attached to an element. |
Node |
getChild(int position)
Throws IndexOutOfBoundsException s
because attribute do not have children. |
int |
getChildCount()
Returns 0 because attributes do not have children. |
java.lang.String |
getLocalName()
Returns the local name of this attribute, not including the prefix. |
java.lang.String |
getNamespacePrefix()
Returns the prefix of this attribute, or the empty string if this attribute is not in a namespace. |
java.lang.String |
getNamespaceURI()
Returns the namespace URI of this attribute, or the empty string if this attribute is not in a namespace. |
java.lang.String |
getQualifiedName()
Returns the qualified name of this attribute, including the prefix if this attribute is in a namespace. |
Attribute.Type |
getType()
Returns the DTD type of this attribute. |
java.lang.String |
getValue()
Returns the attribute value. |
boolean |
hasChildren()
Returns false because attributes do not have children. |
void |
setLocalName(java.lang.String localName)
Sets the local name of the attribute. |
void |
setNamespace(java.lang.String prefix,
java.lang.String URI)
Sets the attribute's namespace URI and prefix. |
void |
setType(Attribute.Type type)
Sets the type of this attribute to one of the ten DTD types or Type.UNDECLARED. |
void |
setValue(java.lang.String value)
Sets the attribute's value to the specified string, replacing any previous value. |
java.lang.String |
toString()
Returns a string representation of the attribute suitable for debugging and diagnosis. |
java.lang.String |
toXML()
Returns a string representation of the attribute that is a well-formed XML attribute. |
Methods inherited from class nu.xom.Node |
checkDetach, detach, equals, getBaseURI, getDocument, getParent, hashCode |
Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Constructor Detail |
public Attribute(java.lang.String localName, java.lang.String value)
Creates a new attribute in no namespace with the specified name and value and undeclared type.
localName
- the unprefixed attribute namevalue
- the attribute value
IllegalNameException
- if the local name is not
a namespace well-formed, non-colonized name
IllegalDataException
- if the value contains characters
which are not legal in XML such as vertical tab or a null.
Characters such as " and & are legal, but will be
automatically escaped when the attribute is serialized.public Attribute(java.lang.String localName, java.lang.String value, Attribute.Type type)
Creates a new attribute in no namespace with the specified name, value, and type.
localName
- the unprefixed attribute namevalue
- the attribute valuetype
- the attribute type
IllegalNameException
- if the local name is
not a namespace well-formed non-colonized name
IllegalDataException
- if the value contains
characters which are not legal in
XML such as vertical tab or a null. Note that
characters such as " and & are legal,
but will be automatically escaped when the
attribute is serialized.public Attribute(java.lang.String name, java.lang.String URI, java.lang.String value)
Creates a new attribute in the specified namespace with the specified name and value and undeclared type.
name
- the prefixed attribute nameURI
- the namespace URIvalue
- the attribute value
IllegalNameException
- if the name is not a namespace
well-formed prefixed name
IllegalDataException
- if the value contains characters
which are not legal in XML such as vertical tab or a null.
Note that characters such as " and & are legal, but will
be automatically escaped when the attribute is serialized.
MalformedURIException
- if URI
is not
an RFC2396 URI referencepublic Attribute(java.lang.String name, java.lang.String URI, java.lang.String value, Attribute.Type type)
Creates a new attribute in the specified namespace with the specified name and value and undeclared type.
name
- the prefixed attribute nameURI
- the namespace URIvalue
- the attribute valuetype
- the attribute type
IllegalNameException
- if the name is not a namespace
well-formed prefixed name
IllegalDataException
- if the value contains
characters which are not legal in XML such as
vertical tab or a null. Note that characters such as
" and & are legal, but will be automatically escaped
when the attribute is serialized.
MalformedURIException
- if URI
is not
an RFC2396 absolute URI referencepublic Attribute(Attribute attribute)
Creates a copy of the specified attribute.
attribute
- the attribute to copyMethod Detail |
public final Attribute.Type getType()
Returns the DTD type of this attribute.
If this attribute does not have a type, then
Type.UNDECLARED
is returned.
public final void setType(Attribute.Type type)
Sets the type of this attribute to one of the ten DTD types or Type.UNDECLARED.
type
- the DTD type of this attributeprotected void checkType(Attribute.Type type)
This method is called before the specified
type is assigned to this attribute. By default it does nothing.
However, subclasses can override it and prevent certain
types from being assigned to the attribute
by throwing an XMLException
.
type
- the DTD type of this attribute
XMLException
- if the subclass rejects the requested type.public final java.lang.String getValue()
Returns the attribute value. If the attribute was originally created by a parser then, it will have been normalized according to its type. However, attributes created in memory are not normalized.
getValue
in class Node
Node.getValue()
public final void setValue(java.lang.String value)
Sets the attribute's value to the specified string, replacing any previous value. The value is not normalized automatically.
value
- the value assigned to the attribute
IllegalDataException
- if the value contains characters
which are not legal in XML such as vertical tab or a null.
Characters such as " and & are legal, but will be
automatically escaped when the attribute is serialized.
MalformedURIException
- if this is an
xml:base
attribute, and the value is not a
legal IRIprotected void checkValue(java.lang.String value)
Subclasses can override this method to check the value for an attribute before it's created or its value is changed.
value
- the proposed attribute value
XMLException
- if value
does not satisfy the
local constraintspublic final java.lang.String getLocalName()
Returns the local name of this attribute, not including the prefix.
public final void setLocalName(java.lang.String localName)
Sets the local name of the attribute.
localName
- the new local name
IllegalNameException
- if localName
is not a namespace well-formed, non-colonized namepublic final java.lang.String getQualifiedName()
Returns the qualified name of this attribute, including the prefix if this attribute is in a namespace.
public final java.lang.String getNamespaceURI()
Returns the namespace URI of this attribute, or the empty string if this attribute is not in a namespace.
public final java.lang.String getNamespacePrefix()
Returns the prefix of this attribute, or the empty string if this attribute is not in a namespace.
protected void checkLocalName(java.lang.String localName)
This method is called before the specified
local name is assigned to this attribute.
By default it does nothing. However,
subclasses can override it and prevent certain
local names from being assigned to the attribute
by throwing an XMLException
.
localName
- the proposed local name of the attribute
XMLException
- if the subclass rejects the name.public final void setNamespace(java.lang.String prefix, java.lang.String URI)
Sets the attribute's namespace URI and prefix. because attributes must be prefixed in order to have a namespace URI (and vice versa) this must be done simultaneously.
prefix
- the new namespace prefixURI
- the new namespace URI
MalformedURIException
- if URI
is
not an RFC2396 URI reference
IllegalNameException
- if
NamespaceConflictException
- if
protected void checkNamespace(java.lang.String prefix, java.lang.String URI)
This method is called before the specified
local name is assigned to this attribute.
By default it does nothing. However,
subclasses can override it and prevent certain
namespace URIs from being assigned to the attribute
by throwing an XMLException
.
prefix
- the proposed namespace prefix for this attributeURI
- the proposed namespace URI for this attribute
XMLException
- if the subclass rejects the name.public final boolean hasChildren()
Returns false because attributes do not have children.
hasChildren
in class Node
Node.hasChildren()
public final Node getChild(int position)
Throws IndexOutOfBoundsException
s
because attribute do not have children.
getChild
in class Node
position
- the child to return
java.lang.IndexOutOfBoundsException
- because attributes do
not have children.public final int getChildCount()
Returns 0 because attributes do not have children.
getChildCount
in class Node
Node.getChildCount()
public Node copy()
Creates a deep copy of this attribute that is not attached to an element.
copy
in class Node
Attribute
public final java.lang.String toXML()
Returns a string representation of the attribute that is a well-formed XML attribute.
toXML
in class Node
Node.toXML()
public final java.lang.String toString()
Returns a string representation of the attribute suitable for debugging and diagnosis. However, this is not necessarily a well-formed XML attribute.
toString
in class Node
Object.toString()
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |