public class Attributes2Impl
extends AttributesImpl
implements Attributes2
java.lang.Object | ||
↳ | org.xml.sax.helpers.AttributesImpl | |
↳ | org.xml.sax.ext.Attributes2Impl |
SAX2扩展助手获取其他属性信息,实现 Attributes2
接口。
This module, both source code and documentation, is in the Public Domain, and comes with NO WARRANTY.
这不是仅有核心的SAX2发行版的一部分。
每个属性的指定标志将始终为真,除非已在复制构造函数中将其设置为false或使用setSpecified(int, boolean)
。 同样,除了默认属性( 指定为false),非CDATA属性或使用setDeclared(int, boolean)
将其设置为true时,每个属性的声明标志始终为false。 如果您手动更改属性的类型,则可能需要修改其声明的标志以匹配。
Public constructors |
|
---|---|
Attributes2Impl() 构造一个新的,空的Attributes2Impl对象。 |
|
Attributes2Impl(Attributes atts) 复制现有的Attributes或Attributes2对象。 |
Public methods |
|
---|---|
void |
addAttribute(String uri, String localName, String qName, String type, String value) 将一个属性添加到列表的末尾,将其“指定”标志设置为true。 |
boolean |
isDeclared(String uri, String localName) 除非在DTD中声明属性,否则返回false。 |
boolean |
isDeclared(int index) 除非在DTD中声明属性,否则返回false。 |
boolean |
isDeclared(String qName) 除非在DTD中声明属性,否则返回false。 |
boolean |
isSpecified(String uri, String localName) 返回属性“指定”标志的当前值。 |
boolean |
isSpecified(int index) 返回属性“指定”标志的当前值。 |
boolean |
isSpecified(String qName) 返回属性“指定”标志的当前值。 |
void |
removeAttribute(int index) 从列表中删除一个属性。 |
void |
setAttributes(Attributes atts) 复制整个Attributes对象。 |
void |
setDeclared(int index, boolean value) 为特定属性的“声明”标志分配一个值。 |
void |
setSpecified(int index, boolean value) 为特定属性的“指定”标志赋值。 |
Inherited methods |
|
---|---|
From class org.xml.sax.helpers.AttributesImpl
|
|
From class java.lang.Object
|
|
From interface org.xml.sax.Attributes
|
|
From interface org.xml.sax.ext.Attributes2
|
Attributes2Impl (Attributes atts)
复制现有的Attributes或Attributes2对象。 如果对象实现了Attributes2,则会复制每个属性的指定和声明标志的值。 否则,标志值默认为不使用DTD,除非有相反的证据(例如CDATA以外的必须声明的属性)。
这个构造函数在 startElement
事件中特别有用。
Parameters | |
---|---|
atts |
Attributes : The existing Attributes object. |
void addAttribute (String uri, String localName, String qName, String type, String value)
将一个属性添加到列表的末尾,将其“指定”标志设置为true。 要将该标志的值设置为false,请使用setSpecified(int, boolean)
。
除非属性类型是CDATA,否则该属性被标记为在DTD中声明。 要为CDATA属性设置该标志的值为true,请使用setDeclared(int, boolean)
。
Parameters | |
---|---|
uri |
String : The Namespace URI, or the empty string if none is available or Namespace processing is not being performed. |
localName |
String : The local name, or the empty string if Namespace processing is not being performed. |
qName |
String : The qualified (prefixed) name, or the empty string if qualified names are not available. |
type |
String : The attribute type as a string. |
value |
String : The attribute value. |
boolean isDeclared (String uri, String localName)
除非在DTD中声明属性,否则返回false。 这有助于区分SAX报告为CDATA的两种属性:已声明(因此通常有效)的属性,以及不属于(且永不有效)的属性。
请记住,由于DTD不“理解”名称空间,因此与属性关联的名称空间URI可能不是来自DTD。 声明将应用于属性的qName 。
Parameters | |
---|---|
uri |
String : The Namespace URI, or the empty string if the name has no Namespace URI. |
localName |
String : The attribute's local name. |
Returns | |
---|---|
boolean |
true if the attribute was declared in the DTD, false otherwise. |
boolean isDeclared (int index)
除非在DTD中声明属性,否则返回false。 这有助于区分SAX报告为CDATA的两种属性:已声明(因此通常有效)的属性,以及不属于(且永不有效)的属性。
Parameters | |
---|---|
index |
int : The attribute index (zero-based). |
Returns | |
---|---|
boolean |
true if the attribute was declared in the DTD, false otherwise. |
boolean isDeclared (String qName)
除非在DTD中声明属性,否则返回false。 这有助于区分SAX报告为CDATA的两种属性:已声明(因此通常有效)的属性,以及不属于(且永不有效)的属性。
Parameters | |
---|---|
qName |
String : The XML qualified (prefixed) name. |
Returns | |
---|---|
boolean |
true if the attribute was declared in the DTD, false otherwise. |
boolean isSpecified (String uri, String localName)
返回属性“指定”标志的当前值。
Parameters | |
---|---|
uri |
String : The Namespace URI, or the empty string if the name has no Namespace URI. |
localName |
String : The attribute's local name. |
Returns | |
---|---|
boolean |
current flag value |
Throws | |
---|---|
IllegalArgumentException |
When the supplied names do not identify an attribute. |
boolean isSpecified (int index)
返回属性“指定”标志的当前值。
Parameters | |
---|---|
index |
int : The attribute index (zero-based). |
Returns | |
---|---|
boolean |
current flag value |
Throws | |
---|---|
ArrayIndexOutOfBoundsException |
When the supplied index does not identify an attribute. |
boolean isSpecified (String qName)
返回属性“指定”标志的当前值。
Parameters | |
---|---|
qName |
String : The XML qualified (prefixed) name. |
Returns | |
---|---|
boolean |
current flag value |
Throws | |
---|---|
IllegalArgumentException |
When the supplied name does not identify an attribute. |
void removeAttribute (int index)
从列表中删除一个属性。
Parameters | |
---|---|
index |
int : The index of the attribute (zero-based). |
void setAttributes (Attributes atts)
复制整个Attributes对象。 除非对象是Attributes2对象,否则将“指定”标志指定为true,将“声明”标志指定为false(除非属性的类型不是CDATA)。 在那种情况下,这些标志值全部被复制。
Parameters | |
---|---|
atts |
Attributes : The attributes to copy. |
也可以看看:
void setDeclared (int index, boolean value)
为特定属性的“声明”标志分配一个值。 这通常仅适用于CDATA类型的属性,包括其类型更改为或来自CDATA的属性。
Parameters | |
---|---|
index |
int : The index of the attribute (zero-based). |
value |
boolean : The desired flag value. |
Throws | |
---|---|
ArrayIndexOutOfBoundsException |
When the supplied index does not identify an attribute. |
也可以看看:
void setSpecified (int index, boolean value)
为特定属性的“指定”标志赋值。 除了用复制构造函数进行初始化清除以外,这是唯一可以清除此标志的方法。
Parameters | |
---|---|
index |
int : The index of the attribute (zero-based). |
value |
boolean : The desired flag value. |
Throws | |
---|---|
ArrayIndexOutOfBoundsException |
When the supplied index does not identify an attribute. |