模块 java.xml

接口 Attributes

所有已知的子接口:
Attributes2
所有已知的实现类:
Attributes2Impl , AttributesImpl

public interface Attributes
XML 属性列表的接口。

此接口允许以三种不同方式访问属性列表:

  1. 按属性索引;
  2. 通过命名空间限定名称;或者
  3. 通过限定(前缀)名称。

该列表将不包含声明为#IMPLIED 但未在开始标记中指定的属性。它也不会包含用作命名空间声明 (xmlns*) 的属性,除非 http://xml.org/sax/features/namespace-prefixes 功能设置为true(这是false默认情况下)。因为 SAX2 符合最初的“XML 中的命名空间”建议,所以它通常不会为命名空间声明属性提供命名空间 URI。

某些 SAX2 解析器可能支持使用可选功能标志 (http://xml.org/sax/features/xmlns-uris) 来请求为这些属性提供 URI,以符合该建议的后向不兼容修订版。 (属性的“本地名称”将是前缀,或者在定义默认元素名称空间时为“xmlns”。)为了可移植性,处理程序代码应始终解决该冲突,而不是要求解析器可以更改该功能标志的设置。

如果名称空间前缀功能(见上文)是false, 可能无法通过限定名称进行访问;如果http://xml.org/sax/features/namespaces特征是false, 命名空间限定名称的访问可能不可用。

该接口取代了现已弃用的 SAX1 AttributeList 接口,后者不包含命名空间支持。除了命名空间支持外,它还添加了获取索引方法(下)。

列表中属性的顺序是未指定的,并且会因实现而异。

自从:
1.4, SAX 2.0
参见:
  • 方法总结

    修饰符和类型
    方法
    描述
    int
    getIndex(String qName)
    通过 XML 限定(前缀)名称查找属性的索引。
    int
    getIndex(String uri, String localName)
    通过命名空间名称查找属性的索引。
    int
    返回列表中的属性数。
    getLocalName(int index)
    按索引查找属性的本地名称。
    getQName(int index)
    按索引查找属性的 XML 限定(前缀)名称。
    getType(int index)
    通过索引查找属性的类型。
    getType(String qName)
    通过 XML 限定(前缀)名称查找属性的类型。
    getType(String uri, String localName)
    按命名空间名称查找属性的类型。
    getURI(int index)
    按索引查找属性的命名空间 URI。
    getValue(int index)
    通过索引查找属性的值。
    getValue(String qName)
    通过 XML 限定(前缀)名称查找属性值。
    getValue(String uri, String localName)
    按命名空间名称查找属性值。
  • 方法详情

    • getLength

      int getLength()
      返回列表中的属性数。

      一旦知道属性的数量,就可以遍历列表。

      返回:
      列表中的属性数。
      参见:
    • getURI

      String  getURI(int index)
      按索引查找属性的命名空间 URI。
      参数:
      index - 属性索引(从零开始)。
      返回:
      命名空间 URI,如果没有可用的则为空字符串,如果索引超出范围则为 null。
      参见:
    • getLocalName

      String  getLocalName(int index)
      按索引查找属性的本地名称。
      参数:
      index - 属性索引(从零开始)。
      返回:
      本地名称,如果未执行命名空间处理,则为空字符串;如果索引超出范围,则为 null。
      参见:
    • getQName

      String  getQName(int index)
      按索引查找属性的 XML 限定(前缀)名称。
      参数:
      index - 属性索引(从零开始)。
      返回:
      XML 限定名称,如果没有可用的,则为空字符串;如果索引超出范围,则为 null。
      参见:
    • getType

      String  getType(int index)
      通过索引查找属性的类型。

      属性类型是字符串“CDATA”、“ID”、“IDREF”、“IDREFS”、“NMTOKEN”、“NMTOKENS”、“ENTITY”、“ENTITIES”或“NOTATION”之一(始终为大写) .

      如果解析器没有读取属性的声明,或者如果解析器没有报告属性类型,那么它必须返回值“CDATA”,如 XML 1.0 Recommendation 中所述(第 3.3.3 条,“属性值规范化” ).

      对于不是表示法的枚举属性,解析器会将类型报告为“NMTOKEN”。

      参数:
      index - 属性索引(从零开始)。
      返回:
      属性的类型为字符串,如果索引超出范围则为 null。
      参见:
    • getValue

      String  getValue(int index)
      通过索引查找属性的值。

      如果属性值是标记列表(IDREFS、ENTITIES 或 NMTOKENS),标记将连接成单个字符串,每个标记由一个空格分隔。

      参数:
      index - 属性索引(从零开始)。
      返回:
      作为字符串的属性值,如果索引超出范围则为 null。
      参见:
    • getIndex

      int getIndex(String  uri, String  localName)
      通过命名空间名称查找属性的索引。
      参数:
      uri - 命名空间 URI,如果名称没有命名空间 URI,则为空字符串。
      localName - 属性的本地名称。
      返回:
      属性的索引,如果未出现在列表中,则为 -1。
    • getIndex

      int getIndex(String  qName)
      通过 XML 限定(前缀)名称查找属性的索引。
      参数:
      qName - 限定(前缀)名称。
      返回:
      属性的索引,如果未出现在列表中,则为 -1。
    • getType

      String  getType(String  uri, String  localName)
      按命名空间名称查找属性的类型。

      有关可能类型的说明,请参阅 getType(int)

      参数:
      uri - 命名空间 URI,如果名称没有命名空间 URI,则为空字符串。
      localName - 属性的本地名称。
      返回:
      作为字符串的属性类型,如果属性不在列表中或未执行命名空间处理,则为 null。
    • getType

      String  getType(String  qName)
      通过 XML 限定(前缀)名称查找属性的类型。

      有关可能类型的说明,请参阅 getType(int)

      参数:
      qName - XML 限定名称。
      返回:
      作为字符串的属性类型,如果属性不在列表中或限定名称不可用,则为 null。
    • getValue

      String  getValue(String  uri, String  localName)
      按命名空间名称查找属性值。

      有关可能值的说明,请参见 getValue(int)

      参数:
      uri - 命名空间 URI,如果名称没有命名空间 URI,则为空字符串。
      localName - 属性的本地名称。
      返回:
      作为字符串的属性值,如果属性不在列表中,则为 null。
    • getValue

      String  getValue(String  qName)
      通过 XML 限定(前缀)名称查找属性值。

      有关可能值的说明,请参见 getValue(int)

      参数:
      qName - XML 限定名称。
      返回:
      作为字符串的属性值,如果属性不在列表中或限定名称不可用,则为 null。