|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
java.lang.Objectjavax.xml.transform.TransformerFactory
public abstract class TransformerFactory
TransformerFactory 實例可用於創建 Transformer 和 Templates 物件。
確定要創建的哪一個 Factory 實作被命名為 "javax.xml.transform.TransformerFactory" 的系統屬性。此屬性命名了 TransformerFactory 抽象類別的一個具體子類別。如果未定義此屬性,則使用平臺預設的屬性。
| 建構子摘要 | |
|---|---|
protected |
TransformerFactory()
預設建構子受到有意保護。 |
| 方法摘要 | |
|---|---|
abstract Source |
getAssociatedStylesheet(Source source,
String media,
String title,
String charset)
通過與給定標準比對的 xml 樣式表的處理指令 獲取與 XML Source 文檔關聯的樣式表規範(或多個規範)。 |
abstract Object |
getAttribute(String name)
允許使用者在底層實作上檢索指定屬性。 |
abstract ErrorListener |
getErrorListener()
獲取 TransformerFactory 的錯誤事件處理程序。 |
abstract boolean |
getFeature(String name)
尋找功能值。 |
abstract URIResolver |
getURIResolver()
獲取在轉換過程中預設用於解析 document()、xsl:import 或 xsl:include 中所使用的 URI 的物件。 |
static TransformerFactory |
newInstance()
獲取 TransformerFactory 的新實例。 |
static TransformerFactory |
newInstance(String factoryClassName,
ClassLoader classLoader)
根據類別名稱獲得一個新 TransformerFactory 實例。 |
abstract Templates |
newTemplates(Source source)
將 Source 處理為 Templates 物件,後者是源的編譯後表示形式。 |
abstract Transformer |
newTransformer()
創建執行從 Source 到 Result 的複製的新 Transformer。 |
abstract Transformer |
newTransformer(Source source)
將 Source 處理為 Transformer Object。 |
abstract void |
setAttribute(String name,
Object value)
允許使用者設置底層實作上的指定屬性。 |
abstract void |
setErrorListener(ErrorListener listener)
設置此 TransformerFactory 的錯誤事件偵聽器,它將用於轉換指令的處理,而不用於轉換本身。 |
abstract void |
setFeature(String name,
boolean value)
設置通過此處理器創建的此 TransformerFactory 和 Transformer 或 Template 的功能。 |
abstract void |
setURIResolver(URIResolver resolver)
設置在轉換過程中預設用於解析 document()、xsl:import 或 xsl:include 中所使用的 URI 的物件。 |
| 從類別 java.lang.Object 繼承的方法 |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| 建構子詳細資訊 |
|---|
protected TransformerFactory()
| 方法詳細資訊 |
|---|
public static TransformerFactory newInstance()
throws TransformerFactoryConfigurationError
獲取 TransformerFactory 的新實例。此靜態方法創建新的處理器實例。此方法使用以下順序的尋找程序來確定要載入的 TransformerFactory 實作類別:
javax.xml.transform.TransformerFactory 系統屬性。
java.util.Properties 且包含實作類別的完全限定名,其中實作類別的鍵是上述定義的系統屬性。
JAXP 實作只讀取一次 jaxp.properties 檔案,然後快取記憶體其值供以後使用。如果首次嘗試讀取檔案時,檔案不存在,則不會再次嘗試檢查該檔案是否存在。首次讀取 jaxp.properties 後,其中的屬性值不能再更改。
META-INF/services/javax.xml.transform.TransformerFactory 中的類別名稱。
TransformerFactory 實例。
在應用程序已獲取對 TransformerFactory 的參考後,它可以使用處理器來配置和獲取轉換器實例。
TransformerFactoryConfigurationError - 如果實作不可用或不能被實例化。
public static TransformerFactory newInstance(String factoryClassName,
ClassLoader classLoader)
throws TransformerFactoryConfigurationError
根據類別名稱獲得一個新 TransformerFactory 實例。當類別路徑中有多個提供者時此功能很有用。它給了應用程序更多的控制權,因為它能指定應該載入哪個提供者。
在應用程序已獲取對 TransformerFactory 的參考後,它可以使用處理器來配置和獲取轉換器實例。
設置 jaxp.debug 系統屬性將導致此方法將許多除錯訊息列印到 System.err,以說明其執行的操作以及在何處尋找這些操作。
如有問題,請嘗試:
java -Djaxp.debug=1 YourProgram ....
factoryClassName - 完全限定處理器類別名稱,提供 javax.xml.transform.TransformerFactory 的實作。classLoader - 用來載入處理器類別的 ClassLoader。如果為 null,則使用當前 Thread 的上下文 classLoader 來載入處理器類別。
TransformerFactoryConfigurationError - 如果 factoryClassName 為 null,或者不能載入或實例化處理器類別。newInstance()
public abstract Transformer newTransformer(Source source)
throws TransformerConfigurationException
將 Source 處理為 Transformer Object。Source 是遵守 XSL Transformations (XSLT) Version 1.0 的 XSLT 文檔。必須注意的是,在多個 Thread 共時運行中不能使用此 Transformer。不同 Thread 可以共時使用不同的 TransformerFactories。
用於創建 - Transformer 的 XSLT 文檔的源 Source。XML Source 的範例包括 DOMSource、SAXSource 和 StreamSource。
Thread 中執行轉換的 Transformer 物件,永遠不能返回 null。
TransformerConfigurationException - 如果當解析 Source 時發生錯誤,或不能創建 Transformer 實例。
public abstract Transformer newTransformer()
throws TransformerConfigurationException
創建執行從 Source 到 Result 的複製的新 Transformer。即 "identity transform"。
TransformerConfigurationException - 當不能創建 Transformer 實例時。
public abstract Templates newTemplates(Source source)
throws TransformerConfigurationException
source - 保持 URL、輸入串流等的物件。
null。
TransformerConfigurationException - 當對建構 Templates 物件進行解析失敗時。
public abstract Source getAssociatedStylesheet(Source source,
String media,
String title,
String charset)
throws TransformerConfigurationException
通過與給定標準比對的 xml 樣式表的處理指令 獲取與 XML Source 文檔關聯的樣式表規範(或多個規範)。注意,可能返回幾個樣式表,在這種情況下它們作為導入列表或單個樣式表中的層疊列表來使用。
source - XML 源文檔。media - 要比對的介質屬性。可以為 null,此時將使用首選的 template(即 alternate = no)。title - 要比對的標題屬性值。可以為 null。charset - 要比對的字元集屬性值。可以為 null。
TransformerFactory 的 Source Object。
TransformerConfigurationException - 如果 source 的解析過程中發生錯誤,則拋出 Exception。public abstract void setURIResolver(URIResolver resolver)
resolver - 實作 URIResolver 介面的物件,或為 null。public abstract URIResolver getURIResolver()
public abstract void setFeature(String name,
boolean value)
throws TransformerConfigurationException
設置通過此處理器創建的此 TransformerFactory 和 Transformer 或 Template 的功能。
功能名稱是完全限定的 URI。實作可以定義它們自己的功能。如果它創建的此 TransformerFactory 或 Transformer 或 Template 不支持該功能,則拋出 TransformerConfigurationException。TransformerFactory 可以公開功能值,但不能更改其狀態。
所有實作必須支持 XMLConstants.FEATURE_SECURE_PROCESSING 功能。當功能為以下情況時:
true: 實作將限制 XML 處理遵守實作限制,並且實作方式為實作所定義的安全方式。範例包括解析使用者定義的樣式表和函數。如果出於安全原因使 XML 處理受到限制,則將通過對註冊的 ErrorListener.fatalError(TransformerException exception) 的調用來報告此情況。參見 setErrorListener(ErrorListener listener)。
false: 實作將根據 XML 規範來處理 XML,而不管可能的實作限制。
name - 功能名稱。value - 功能狀態為 true 或 false。
TransformerConfigurationException - 如果它創建的此 TransformerFactory 或 Transformer 或 Template 不支持此功能。
NullPointerException - 如果 name 參數為 null。public abstract boolean getFeature(String name)
功能名稱為完全限定的 URI。實作可以定義其自己的功能。如果其創建的 TransformerFactory 或 Transformer 或 Template 不支持該功能,則返回 false。TransformerFactory 可以公開功能值,但不能更改其狀態。
name - 功能名稱。
true 或 false。
NullPointerException - 如果 name 參數為 null。
public abstract void setAttribute(String name,
Object value)
IllegalArgumentException。
name - 屬性名稱。value - 屬性值。
IllegalArgumentException - 當實作不能識別屬性時。public abstract Object getAttribute(String name)
IllegalArgumentException。
name - 屬性名稱。value - 屬性值。
IllegalArgumentException - 當實作不能識別屬性時。public abstract void setErrorListener(ErrorListener listener)
ErrorListener 偵聽器為 null,則拋出 IllegalArgumentException。
listener - 新錯誤偵聽器。
IllegalArgumentException - 當 listener 為 null 時。public abstract ErrorListener getErrorListener()
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。