Module  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但未在开始标记中指定的属性。 除非将http://xml.org/sax/features/namespace-prefixes功能设置为true (默认情况下为false ),否则它不会包含用作名称空间声明(xmlns *)的http://xml.org/sax/features/namespace-prefixes 由于SAX2符合原始“XML中的命名空间”建议,因此通常不会给命名空间声明属性一个命名空间URI。

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

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

    此接口将替换现在已弃用的SAX1 AttributeList接口,该接口不包含命名空间支持。 除了支持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)
        通过索引查找属性的Namespace URI。
        参数
        index - 属性索引(从零开始)。
        结果
        命名空间URI,如果没有可用,则为空字符串,如果索引超出范围,则为空。
        另请参见:
        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”或“符号”(总是大写) 。

        如果解析器没有读取属性的声明,或者解析器没有报告属性类型,那么它必须返回值为“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 - 属性的本地名称。
        结果
        属性类型为字符串,如果属性不在列表中,则为空,或者如果未执行命名空间处理。
      • 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.