public class XMLAttributesImpl extends Object implements XMLAttributes
The attributes are read-write so that subsequent stages in the document pipeline can modify the values or change the attributes that are propagated to the next stage.
XMLDocumentHandler.startElement(org.htmlunit.cyberneko.xerces.xni.QName, org.htmlunit.cyberneko.xerces.xni.XMLAttributes, org.htmlunit.cyberneko.xerces.xni.Augmentations)| Constructor and Description |
|---|
XMLAttributesImpl()
Default constructor.
|
| Modifier and Type | Method and Description |
|---|---|
int |
addAttribute(QName name,
String type,
String value)
Adds an attribute.
|
void |
addAttribute(QName name,
String type,
String value,
boolean specified)
Adds an attribute.
|
void |
addAttribute(QName name,
String type,
String value,
String nonNormalizedValue,
boolean specified) |
int |
getIndex(String qName)
Look up the index of an attribute by XML 1.0 qualified name.
|
int |
getIndex(String uri,
String localPart)
Look up the index of an attribute by Namespace name.
|
int |
getLength()
Return the number of attributes in the list.
|
String |
getLocalName(int index)
Look up an attribute's local name by index.
|
QName |
getName(int index)
Returns the full QName of the name of this attribute.
|
void |
getName(int attrIndex,
QName attrName)
Sets the fields in the given QName structure with the values of the attribute
name at the specified index.
|
String |
getNameRawName(int index)
Return the name of an attribute in this list (by position).
|
String |
getNonNormalizedValue(int index) |
String |
getQName(int index)
Look up an attribute's XML 1.0 qualified name by index.
|
String |
getType(int index)
Look up an attribute's type by index.
|
String |
getType(String qname)
Look up an attribute's type by XML 1.0 qualified name.
|
String |
getType(String uri,
String localName)
Look up an attribute's type by Namespace name.
|
String |
getURI(int index)
Look up an attribute's Namespace URI by index.
|
String |
getValue(int index)
Look up an attribute's value by index.
|
String |
getValue(String qname)
Look up an attribute's value by XML 1.0 qualified name.
|
String |
getValue(String uri,
String localName)
Look up an attribute's value by Namespace name.
|
boolean |
isSpecified(int attrIndex)
Returns true if the attribute is specified in the instance document.
|
void |
removeAllAttributes()
Removes all of the attributes.
|
void |
removeAttributeAt(int attrIndex)
Removes the attribute at the specified index.
|
void |
setName(int attrIndex,
QName attrName)
Sets the name of the attribute at the specified index.
|
void |
setSpecified(int attrIndex,
boolean specified)
Sets whether an attribute is specified in the instance document or not.
|
void |
setType(int attrIndex,
String attrType)
Sets the type of the attribute at the specified index.
|
void |
setValue(int attrIndex,
String attrValue)
Sets the value of the attribute at the specified index.
|
public int addAttribute(QName name, String type, String value)
setSpecified method.
Note: If an attribute of the same name already exists, the old values for the attribute are replaced by the new values.
addAttribute in interface XMLAttributesname - The attribute name.type - The attribute type. The type name is determined by the type
specified for this attribute in the DTD. For example: "CDATA",
"ID", "NMTOKEN", etc. However, attributes of type enumeration
will have the type value specified as the pipe ('|') separated
list of the enumeration values prefixed by an open parenthesis
and suffixed by a close parenthesis. For example:
"(true|false)".value - The attribute value.setSpecified(int, boolean)public void addAttribute(QName name, String type, String value, boolean specified)
setSpecified method.
This method differs from addAttribute in that it does not check
if an attribute of the same name already exists in the list before adding it.
In order to improve performance of namespace processing, this method allows
uniqueness checks to be deferred until all the namespace information is
available after the entire attribute specification has been read.
Caution: If this method is called it should not be mixed
with calls to addAttribute unless it has been determined that
all the attribute names are unique.
name - the attribute nametype - the attribute typevalue - the attribute valuespecified - the specified attribute valuepublic void addAttribute(QName name, String type, String value, String nonNormalizedValue, boolean specified)
public void removeAllAttributes()
removeAllAttributes in interface XMLAttributespublic void removeAttributeAt(int attrIndex)
Note: This operation changes the indexes of all attributes following the attribute at the specified index.
removeAttributeAt in interface XMLAttributesattrIndex - The attribute index.public void setName(int attrIndex,
QName attrName)
setName in interface XMLAttributesattrIndex - The attribute index.attrName - The new attribute name.public void getName(int attrIndex,
QName attrName)
getName in interface XMLAttributesattrIndex - The attribute index.attrName - The attribute name structure to fill in.public void setType(int attrIndex,
String attrType)
setType in interface XMLAttributesattrIndex - The attribute index.attrType - The attribute type. The type name is determined by the type
specified for this attribute in the DTD. For example:
"CDATA", "ID", "NMTOKEN", etc. However, attributes of type
enumeration will have the type value specified as the pipe
('|') separated list of the enumeration values prefixed by
an open parenthesis and suffixed by a close parenthesis. For
example: "(true|false)".public void setValue(int attrIndex,
String attrValue)
setValue in interface XMLAttributesattrIndex - The attribute index.attrValue - The new attribute value.public void setSpecified(int attrIndex,
boolean specified)
setSpecified in interface XMLAttributesattrIndex - The attribute index.specified - True if the attribute is specified in the instance document.public boolean isSpecified(int attrIndex)
isSpecified in interface XMLAttributesattrIndex - The attribute index.public int getLength()
Once you know the number of attributes, you can iterate through the list.
getLength in interface XMLAttributesXMLAttributes.getURI(int),
XMLAttributes.getLocalName(int),
XMLAttributes.getQName(int),
XMLAttributes.getType(int),
XMLAttributes.getValue(int)public String getType(int index)
The attribute type is one of the strings "CDATA", "ID", "IDREF", "IDREFS", "NMTOKEN", "NMTOKENS", "ENTITY", "ENTITIES", or "NOTATION" (always in upper case).
If the parser has not read a declaration for the attribute, or if the parser does not report attribute types, then it must return the value "CDATA" as stated in the XML 1.0 Recommendation (clause 3.3.3, "Attribute-Value Normalization").
For an enumerated attribute that is not a notation, the parser will report the type as "NMTOKEN".
getType in interface XMLAttributesindex - The attribute index (zero-based).getLength()public String getType(String qname)
See getType(int) for a description of the possible
types.
getType in interface XMLAttributesqname - The XML 1.0 qualified name.public String getValue(int index)
If the attribute value is a list of tokens (IDREFS, ENTITIES, or NMTOKENS), the tokens will be concatenated into a single string with each token separated by a single space.
getValue in interface XMLAttributesindex - The attribute index (zero-based).getLength()public String getValue(String qname)
See getValue(int) for a description of the possible
values.
getValue in interface XMLAttributesqname - The XML 1.0 qualified name.public String getNameRawName(int index)
The names must be unique: the SAX parser shall not include the same attribute twice. Attributes without values (those declared #IMPLIED without a value specified in the start tag) will be omitted from the list.
If the attribute name has a namespace prefix, the prefix will still be attached.
index - The index of the attribute in the list (starting at 0).getLength()public QName getName(int index)
getName in interface XMLAttributesindex - The attribute index.public int getIndex(String qName)
getIndex in interface XMLAttributesqName - The qualified (prefixed) name.public int getIndex(String uri, String localPart)
getIndex in interface XMLAttributesuri - The Namespace URI, or null if the name has no Namespace URI.localPart - The attribute's local name.public String getLocalName(int index)
getLocalName in interface XMLAttributesindex - The attribute index (zero-based).getLength()public String getQName(int index)
getQName in interface XMLAttributesindex - The attribute index (zero-based).getLength()public String getType(String uri, String localName)
See getType(int) for a description of the possible
types.
getType in interface XMLAttributesuri - The Namespace URI, or null if the name has no Namespace URI.localName - The local name of the attribute.public String getURI(int index)
getURI in interface XMLAttributesindex - The attribute index (zero-based).getLength()public String getValue(String uri, String localName)
See getValue(int) for a description of the possible
values.
getValue in interface XMLAttributesuri - The Namespace URI, or null if thelocalName - The local name of the attribute.public String getNonNormalizedValue(int index)
getNonNormalizedValue in interface XMLAttributesindex - The attribute index.getValue(int) method.Copyright © 2024 HtmlUnit. All rights reserved.