|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object javax.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。