JavaTM 2 Platform
Standard Ed. 6

org.xml.sax
介面 Attributes

所有已知子介面:
Attributes2
所有已知實作類別:
Attributes2Impl, AttributesImpl

public interface Attributes

關於 XML 屬性列表的介面。

此模組(包括源程式碼和文檔)在公共域中,同時 沒有擔保有關更多資訊,請參閱http://www.saxproject.org

此介面允許用以下三種不同方式存取屬性列表:

  1. 通過屬性索引;
  2. 通過名稱空間限定的名稱;或者
  3. 通過限定(前綴)名。

該列表將不包括被宣告為 #IMPLIED、但未在啟動標記中指定的那些屬性。還不包括用作名稱空間宣告 (xmlns*) 的屬性,除非 http://xml.org/sax/features/namespace-prefixes 功能設置為 true(預設情況下是 false)。由於 SAX2 與原始的 "Namespaces in XML" 建議一致,所以它一般不為名稱空間宣告屬性提供名稱空間 URI。

有些 SAX2 解析器可能支持使用可選的功能標記 (http://xml.org/sax/features/xmlns-uris) 請求為這些屬性提供 URI,以便與該建議書以後的向後相容的版本一致。(屬性的“本地名稱”將成為前綴,而在定義預設的元素名稱空間時 "xmlns" 將成為前綴。)為了具有可移植性,處理程序程式碼應該始終解析該衝突,而不是要求解析器能夠改變該功能標記的設置。

如果名稱空間前綴功能(參見上述內容)為 false,則可能無法通過限定名存取;如果 http://xml.org/sax/features/namespaces 功能為 false,則也無法通過名稱空間限定名存取。

此介面取代現在不推薦使用的 SAX1 AttributeList 介面,後者不包括名稱空間支持。除名稱空間支持外,它還增加了 getIndex 方法(見下面)。

列表中屬性的順序沒有指定,並且實作與實作之間也各不相同。

從以下版本開始:
SAX 2.0
另請參見:
AttributesImpl, DeclHandler.attributeDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String)

方法摘要
 int getIndex(String qName)
          通過 XML 限定(前綴)名尋找屬性的索引。
 int getIndex(String uri, String localName)
          通過名稱空間的名稱尋找屬性的索引。
 int getLength()
          返回此列表中的屬性個數。
 String getLocalName(int index)
          通過索引尋找屬性的本地名稱。
 String getQName(int index)
          通過索引尋找屬性的 XML 限定(前綴)名。
 String getType(int index)
          通過索引尋找屬性的型別。
 String getType(String qName)
          通過 XML 限定(前綴)名尋找屬性的型別。
 String getType(String uri, String localName)
          根據名稱空間的名稱尋找屬性的型別。
 String getURI(int index)
          通過索引尋找屬性的名稱空間 URI。
 String getValue(int index)
          通過索引尋找屬性的值。
 String getValue(String qName)
          通過 XML 限定(前綴)名尋找屬性的值。
 String getValue(String uri, String localName)
          根據名稱空間的名稱尋找屬性的值。
 

方法詳細資訊

getLength

int getLength()
返回此列表中的屬性個數。

一旦知道了屬性個數,就可以迭代列表。

返回:
此列表中屬性的個數。
另請參見:
getURI(int), getLocalName(int), getQName(int), getType(int), getValue(int)

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 Recommendation”(第 3.3.3 節 "Attribute-Value Normalization")中規定的。

對於不是註釋的可列舉的屬性,解析器將把型別報告為 "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 限定名。
返回:
字元串形式的屬性值,如果屬性不在列表中,或者限定名不可用,則返回 null。

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only