|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
java.lang.Objectjavax.xml.transform.Transformer
public abstract class Transformer
此抽象類別的實例能夠將源階層樹轉換為結果階層樹。
可以通過 TransformerFactory.newTransformer 方法獲取此類別的實例。然後可以使用此實例處理來自不同源的 XML,並將轉換輸出寫入各種接收器。
在多執行緒同時運行時不能使用此類別的物件。不同執行緒可以同時使用不同的 Transformers。
Transformer 可以多次使用。可以在轉換之間保留參數和輸出屬性。
| 建構子摘要 | |
|---|---|
protected |
Transformer()
預設建構子受到有意保護。 |
| 方法摘要 | |
|---|---|
abstract void |
clearParameters()
清除所有通過 setParameter 設置的參數。 |
abstract ErrorListener |
getErrorListener()
獲取轉換的實際錯誤事件處理程序。 |
abstract Properties |
getOutputProperties()
獲取轉換的輸出屬性的副本。 |
abstract String |
getOutputProperty(String name)
獲取對轉換器有效的輸出屬性。 |
abstract Object |
getParameter(String name)
獲取通過 setParameter 顯式設置的參數。 |
abstract URIResolver |
getURIResolver()
獲取將用於解析在 document() 中使用的 URI 的物件。 |
void |
reset()
將此 Transformer 重置為其初始配置。 |
abstract void |
setErrorListener(ErrorListener listener)
設置轉換的實際錯誤事件偵聽器。 |
abstract void |
setOutputProperties(Properties oformat)
設置轉換的輸出屬性。 |
abstract void |
setOutputProperty(String name,
String value)
設置轉換中實際的輸出屬性。 |
abstract void |
setParameter(String name,
Object value)
添加一個轉換參數。 |
abstract void |
setURIResolver(URIResolver resolver)
設置將用於解析在 document() 中使用的 URI 的物件。 |
abstract void |
transform(Source xmlSource,
Result outputTarget)
將 XML Source 轉換為 Result。 |
| 從類別 java.lang.Object 繼承的方法 |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| 建構子詳細資訊 |
|---|
protected Transformer()
| 方法詳細資訊 |
|---|
public void reset()
將此 Transformer 重置為其初始配置。
Transformer 被重置為通過 TransformerFactory.newTransformer()、TransformerFactory.newTransformer(Source source) 或 Templates.newTransformer() 創建它時的狀態。reset() 的設計目標是允許重用現有 Transformer,以節省與創建新 Transformer 有關的資源。
不保證重置的 Transformer 具有相同的 URIResolver 或 ErrorListener Object,例如 Object.equals(Object obj)。但保證具有功能相同的 URIResolver 和 ErrorListener。
UnsupportedOperationException - 當實作不能覆寫此方法時。
public abstract void transform(Source xmlSource,
Result outputTarget)
throws TransformerException
將 XML Source 轉換為 Result。當實例化 Transformer 和對 Transformer 實例進行任何修改時,指定的轉換行為由 TransformerFactory 的實際設置決定。
空 Source 表示為由 DocumentBuilder.newDocument() 建構的空文檔。空 Source 的轉換結果取決於轉換行為;結果不總為空 Result。
xmlSource - 要轉換的 XML 輸入。outputTarget - 轉換 xmlSource 的 Result。
TransformerException - 如果轉換過程中發生不可恢復的錯誤。
public abstract void setParameter(String name,
Object value)
以兩部分字元串形式傳遞限定名稱,即用花括號括起來的名稱空間 URI,後跟本地名稱。如果名稱中有 null URL,則 String 只包含本地名稱。應用程序可以通過測試安全地檢查非 null URI,以查看名稱的首字元是否為 '{' 字元。
例如,如果 URI 和本地名稱是從通過 <xyz:foo xmlns:xyz="http://xyz.foo.com/yada/baz.html"/> 定義的元素獲取的,則限定名稱將為 "{http://xyz.foo.com/yada/baz.html}foo"。注意,不使用前綴。
name - 參數名稱,它可以以花括號({})中的名稱空間 URI 開始。value - 值物件。它可以為任何有效的 Java 物件。處理器負責提供正確的物件 coersion,或只傳遞在擴展中使用的物件。
NullPointerException - 如果值為 null。public abstract Object getParameter(String name)
此方法不返回預設參數值,預設參數值直到在轉換過程中計算了節點上下文後才能確定。
name - 要獲取的 Object
public abstract void clearParameters()
public abstract void setURIResolver(URIResolver resolver)
如果解析器參數為 null,則將清除 URIResolver 值,且轉換器將不再擁有解析器。
resolver - 實作 URIResolver 介面的物件,或為 null。public abstract URIResolver getURIResolver()
public abstract void setOutputProperties(Properties oformat)
如果此函數的參數為 null,則移除任何以前設置的屬性,且值將恢復為 templates 物件中定義的值。
以兩部分字元串形式傳遞限定屬性,即用花括號括起來的名稱空間 URI,後跟本地名稱。如果名稱中有 null URL,則 String 只包含本地名稱。應用程序可以通過測試安全地檢查非 null URI,以查看名稱的首字元是否為 '{' 字元。
例如,如果 URI 和本地名稱是從通過 <xyz:foo xmlns:xyz="http://xyz.foo.com/yada/baz.html"/> 定義的元素獲取的,則限定名稱將為 "{http://xyz.foo.com/yada/baz.html}foo"。注意,不使用前綴。
如果任何參數鍵不能被識別且不是名稱空間限定的,則拋出IllegalArgumentException。
oformat - 將用於覆寫在實際轉換中任何相同屬性的輸出屬性集。
IllegalArgumentException - 當鍵無法識別且不是限定於名稱空間的鍵時。OutputKeys,
Propertiespublic abstract Properties getOutputProperties()
獲取轉換的輸出屬性的副本。
返回的屬性應包含由使用者設置的屬性,以及通過樣式表設置的屬性,且這些屬性將 section 16 of the XSL Transformations (XSLT) W3C Recommendation 指定的預設屬性作為“預設值”。由使用者或通過樣式表特定設置的屬性應位於基本 Properties 列表中,而未特定設置的 XSLT 預設屬性應位於預設的 Properties 列表中。因此,getOutputProperties().getProperty(String key) 將包含通過 setOutputProperty(java.lang.String, java.lang.String)、setOutputProperties(java.util.Properties) 設置的任何屬性,或者在樣式表或 預設屬性中設置的任何屬性,而 getOutputProperties().get(String key) 將只檢索通過 setOutputProperty(java.lang.String, java.lang.String)、setOutputProperties(java.util.Properties) 顯式設置的屬性,或在樣式表中顯式設置的屬性。
注意返回的 Properties 物件的變化將不影響轉換器所包含的屬性。
如果任何參數鍵不能被識別且不是名稱空間限定的鍵,則屬性將被忽略且不返回。換句話說,行為與 setOutputProperties 無關。
OutputKeys,
Properties,
XSL Transformations (XSLT) Version 1.0
public abstract void setOutputProperty(String name,
String value)
throws IllegalArgumentException
以兩部分字元串形式傳遞限定屬性名稱,即用花括號括起來的名稱空間 URI,後跟本地名稱。如果名稱中有 null URL,則 String 只包含本地名稱。應用程序可以通過測試安全地檢查非 null URI,以查看名稱的首字元是否為 '{' 字元。
例如,如果 URI 和本地名稱是從通過 <xyz:foo xmlns:xyz="http://xyz.foo.com/yada/baz.html"/> 定義的元素獲取的,則限定名稱將為 "{http://xyz.foo.com/yada/baz.html}foo"。注意,不使用前綴。
傳遞給 setOutputProperties(java.util.Properties) 的 Properties 物件不會受到調用此方法的影響。
name - 指定了輸出屬性名稱的非 null String,它可以是名稱空間限定的。value - 輸出屬性的非 null 字元串值。
IllegalArgumentException - 如果不支持屬性,且該屬性沒有限定於某一名稱空間。OutputKeys
public abstract String getOutputProperty(String name)
throws IllegalArgumentException
獲取對轉換器有效的輸出屬性。
如果已經使用 setOutputProperty(java.lang.String, java.lang.String) 設置了屬性,則返回所設置的值。如果在樣式表中顯式地指定了屬性,則返回所指定的值。如果使用預設屬性值,即沒有使用 setOutputProperty(java.lang.String, java.lang.String) 或在樣式表中顯式地設置了任何值,則結果將隨實作以及輸入樣式表而改變。
name - 指定了輸出屬性名稱的非 null String,它可以是名稱空間限定的。
IllegalArgumentException - 如果不支持屬性。OutputKeys
public abstract void setErrorListener(ErrorListener listener)
throws IllegalArgumentException
listener - 新錯誤偵聽器。
IllegalArgumentException - 如果偵聽器為 null。public abstract ErrorListener getErrorListener()
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。