模块  java.xml
软件包  org.xml.sax

Interface Attributes

  • All Known Subinterfaces:
    Attributes2
    所有已知实现类:
    Attributes2ImplAttributesImpl

    public interface Attributes
    XML属性列表的接口。
    This module, both source code and documentation, is in the Public Domain, and comes with NO WARRANTY. See http://www.saxproject.org for further information.

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

    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接口,该接口不包含Namespace支持。 除了Namespace支持之外,它还添加了getIndex方法(如下所示)。

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

    从以下版本开始:
    1.4,SAX 2.0
    另请参见:
    AttributesImplDeclHandler.attributeDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String)
    • 方法详细信息

      • getURI

        String getURI​(int index)
        按索引查找属性的名称空间URI。
        参数
        index - 属性索引(从零开始)。
        结果
        名称空间URI,如果没有,则为空字符串;如果索引超出范围,则为null。
        另请参见:
        getLength()
      • getLocalName

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

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

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

        属性类型是字符串“CDATA”,“ID”,“IDREF”,“IDREFS”,“NMTOKEN”,“NMTOKENS”,“ENTITY”,“ENTITIES”或“NOTATION”之一(总是大写) 。

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

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

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

        String getValue​(int index)
        按索引查找属性的值。

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

        参数
        index - 属性索引(从零开始)。
        结果
        属性的值为字符串,如果索引超出范围,则为null。
        另请参见:
        getLength()
      • 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限定名称。
        结果
        The attribute value as a string, or null if the attribute is not in the list or if qualified names are not available.