|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
java.lang.Objectorg.xml.sax.InputSource
public class InputSource
XML 實體的單一輸入源。
此模組(包括源程式碼和文檔)在公共域中,同時 沒有擔保。有關更多資訊,請參閱http://www.saxproject.org。
此類別允許 SAX 應用程序封裝有關單個物件中的輸入源的資訊,它可包括公共標識符、系統標識符、位元組串流(可能帶有指定的編碼)、基本 URI 和/ 或字元串流。
在以下兩種情況下應用程序可以將輸入源提供給解析器:作為 Parser.parse 方法的參數,或者作為 EntityResolver.resolveEntity 方法的返回值。
SAX 解析器將使用 InputSource 物件來確定如何讀取 XML 輸入。如果有字元串流可用,則解析器將直接讀取該串流,而忽略該串流中找到的任何文本編碼宣告。如果沒有字元串流,但卻有位元組串流,則解析器將使用該位元組串流,從而使用在 InputSource 中指定的編碼,或者另外(如果未指定編碼)通過使用某種諸如 XML 規範 中的演算法演算法自動探測字元編碼。如果既沒有字元串流,又沒有位元組串流可用,則解析器將嘗試打開到由系統標識符標識的資源的 URI 連接。
InputSource 物件屬於該應用程序:SAX 解析器將不會以任何方式修改它(它可以在必要時修改副本)。但是,作為解析終止清除的一部分,對位元組串流和字元串流的標準處理就是關閉這二者,因此在將此類別串流傳遞給解析器後應用程序不應嘗試重新使用它們。
XMLReader.parse(org.xml.sax.InputSource),
EntityResolver.resolveEntity(java.lang.String, java.lang.String),
InputStream,
Reader| 建構子摘要 | |
|---|---|
InputSource()
零參數預設建構子。 |
|
InputSource(InputStream byteStream)
使用位元組串流創建新的輸入源。 |
|
InputSource(Reader characterStream)
使用字元串流創建新的輸入源。 |
|
InputSource(String systemId)
使用系統標識符創建新的輸入源。 |
|
| 方法摘要 | |
|---|---|
InputStream |
getByteStream()
獲取此輸入源的位元組串流。 |
Reader |
getCharacterStream()
獲取此輸入源的字元串流。 |
String |
getEncoding()
獲取位元組串流或 URI 的字元編碼。 |
String |
getPublicId()
獲取此輸入源的公共標識符。 |
String |
getSystemId()
獲取此輸入源的系統標識符。 |
void |
setByteStream(InputStream byteStream)
設置此輸入源的位元組串流。 |
void |
setCharacterStream(Reader characterStream)
設置此輸入源的字元串流。 |
void |
setEncoding(String encoding)
設置字元編碼(如果已知)。 |
void |
setPublicId(String publicId)
設置此輸入源的公共標識符。 |
void |
setSystemId(String systemId)
設置此輸入源的系統標識符。 |
| 從類別 java.lang.Object 繼承的方法 |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| 建構子詳細資訊 |
|---|
public InputSource()
setPublicId(java.lang.String),
setSystemId(java.lang.String),
setByteStream(java.io.InputStream),
setCharacterStream(java.io.Reader),
setEncoding(java.lang.String)public InputSource(String systemId)
應用程序可以使用 setPublicId 將公共標識符包括在內,也可以使用 setEncoding 來指定字元編碼(如果已知)。
如果系統標識符是 URL,則必須完整解析它(它不可以是相對 URL)。
systemId - 系統標識符 (URI)。setPublicId(java.lang.String),
setSystemId(java.lang.String),
setByteStream(java.io.InputStream),
setEncoding(java.lang.String),
setCharacterStream(java.io.Reader)public InputSource(InputStream byteStream)
應用程序編寫者必須使用 setSystemId() 為解析相對 URI 提供基,還可以使用 setPublicId 將公共標識符包括在內,並且可以使用 setEncoding 來指定物件的字元編碼。
byteStream - 套件含文檔的原始位元組串流。setPublicId(java.lang.String),
setSystemId(java.lang.String),
setEncoding(java.lang.String),
setByteStream(java.io.InputStream),
setCharacterStream(java.io.Reader)public InputSource(Reader characterStream)
應用程序編寫者必須使用 setSystemId() 為解析相對 URI 提供基,並且可以使用 setPublicId 將公共標識符包括在內。
字元串流不能包括位元組順序標記。
setPublicId(java.lang.String),
setSystemId(java.lang.String),
setByteStream(java.io.InputStream),
setCharacterStream(java.io.Reader)| 方法詳細資訊 |
|---|
public void setPublicId(String publicId)
公共標識符始終為可選的:如果應用程序編寫者包括一個公共標識符,則將把它作為位置資訊的一部分提供。
publicId - 字元串形式的公共標識符。getPublicId(),
Locator.getPublicId(),
SAXParseException.getPublicId()public String getPublicId()
setPublicId(java.lang.String)public void setSystemId(String systemId)
如果有位元組串流或字元串流,則系統標識符是可選的,但提供系統標識符非常有用,這是因為應用程序可以使用它解析相對 URI,並且可以將它包含在錯誤訊息和警告中(解析器僅在未指定位元組串流或字元串流時嘗試打開到 URI 的連接)。
如果應用程序知道系統標識符所指向的物件的字元編碼,則可以使用 setEncoding 方法來註冊編碼。
如果系統標識符是 URL,則必須完整解析它(它不可以是相對 URL)。
systemId - 字元串形式的系統標識符。setEncoding(java.lang.String),
getSystemId(),
Locator.getSystemId(),
SAXParseException.getSystemId()public String getSystemId()
getEncoding 方法將返回所指向物件的字元編碼,如果未知,則返回 null。
如果系統 ID 是 URL,則將完整解析它。
setSystemId(java.lang.String),
getEncoding()public void setByteStream(InputStream byteStream)
如果還有指定的字元串流,則 SAX 解析器將忽略此操作,它將優先於打開自己 URI 連接而使用位元組串流。
如果應用程序知道位元組串流的字元編碼,則必須使用 setEncoding 方法設置它。
byteStream - 套件含 XML 文檔或其他實體的位元組串流。setEncoding(java.lang.String),
getByteStream(),
getEncoding(),
InputStreampublic InputStream getByteStream()
getEncoding 方法將返回此位元組串流的字元編碼,如果未知,則返回 null。
getEncoding(),
setByteStream(java.io.InputStream)public void setEncoding(String encoding)
編碼必須是 XML 編碼宣告可接受的字元串(參見 "XML 1.0 recommendation" 的 4.3.3 節)。
當應用程序提供字元串流時,此方法無效。
encoding - 描述字元編碼的字元串。setSystemId(java.lang.String),
setByteStream(java.io.InputStream),
getEncoding()public String getEncoding()
setByteStream(java.io.InputStream),
getSystemId(),
getByteStream()public void setCharacterStream(Reader characterStream)
如果有指定的字元串流,則 SAX 解析器將忽略任何位元組串流,並且不嘗試打開到系統標識符的 URI 連接。
characterStream - 套件含 XML 文檔或其他實體的字元串流。getCharacterStream(),
Readerpublic Reader getCharacterStream()
setCharacterStream(java.io.Reader)
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。