|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
java.lang.Objectjavax.xml.xpath.XPathFactory
public abstract class XPathFactory
XPathFactory 實例可用於創建 XPath 物件。
有關尋找機制,請參閱 newInstance(String uri)。
XPathFactory 類別不是執行緒安全的。換句話說,應用程序負責確保任意給定時刻最多只有一個執行緒使用 XPathFactory 物件。建議實作將方法標記為 synchronized 以保護客戶端不至於崩潰。
XPathFactory 不可重入。當正在調用某個 newInstance 方法時,應用程序不能試圖以遞歸方式調用 newInstance 方法,即使是從相同的執行緒調用。
| 欄位摘要 | |
|---|---|
static String |
DEFAULT_OBJECT_MODEL_URI
預設 Object Model URI。 |
static String |
DEFAULT_PROPERTY_NAME
遵守 JAXP 規範的預設屬性名稱。 |
| 建構子摘要 | |
|---|---|
protected |
XPathFactory()
應使用 newInstance()、newInstance(String uri) 或 newInstance(String uri, String factoryClassName, ClassLoader classLoader) 之類別的受保護建構子創建 XPathFactory 的新實例。 |
| 方法摘要 | |
|---|---|
abstract boolean |
getFeature(String name)
獲取指定功能的狀態。 |
abstract boolean |
isObjectModelSupported(String objectModel)
此 XPathFactory 是否支持指定的物件模型 |
static XPathFactory |
newInstance()
獲取使用預設物件模型 DEFAULT_OBJECT_MODEL_URI(即 W3C DOM)的新 XPathFactory 實例。 |
static XPathFactory |
newInstance(String uri)
獲取使用指定物件模型的新 XPathFactory 實例。 |
static XPathFactory |
newInstance(String uri,
String factoryClassName,
ClassLoader classLoader)
根據處理器類別名稱獲取一個新 XPathFactory 實例。 |
abstract XPath |
newXPath()
返回使用實例化 XPathFactory 時確定的底層物件模型的新 XPath。 |
abstract void |
setFeature(String name,
boolean value)
設置此處理器所創建的此 XPathFactory 和 XPath 的功能。 |
abstract void |
setXPathFunctionResolver(XPathFunctionResolver resolver)
建立預設函數解析器。 |
abstract void |
setXPathVariableResolver(XPathVariableResolver resolver)
建立預設變數解析器。 |
| 從類別 java.lang.Object 繼承的方法 |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| 欄位詳細資訊 |
|---|
public static final String DEFAULT_PROPERTY_NAME
遵守 JAXP 規範的預設屬性名稱。
public static final String DEFAULT_OBJECT_MODEL_URI
預設 Object Model URI。
| 建構子詳細資訊 |
|---|
protected XPathFactory()
應使用 newInstance()、newInstance(String uri) 或 newInstance(String uri, String factoryClassName, ClassLoader classLoader) 之類別的受保護建構子創建 XPathFactory 的新實例。
| 方法詳細資訊 |
|---|
public static final XPathFactory newInstance()
獲取使用預設物件模型 DEFAULT_OBJECT_MODEL_URI(即 W3C DOM)的新 XPathFactory 實例。
此方法的功能等效於:
newInstance(DEFAULT_OBJECT_MODEL_URI)
因為 W3C DOM 的實作總是可用的,因此此方法永遠不會失敗。
XPathFactory 的實例。
RuntimeException - 創建預設物件模型的 XPathFactory 遇到故障時。
public static final XPathFactory newInstance(String uri)
throws XPathFactoryConfigurationException
獲取使用指定物件模型的新 XPathFactory 實例。
為了尋找 XPathFactory 物件,此方法按以下順序尋找以下位置,其中“類別載入器”指上下文類別載入器:
DEFAULT_PROPERTY_NAME + ":uri"(其中 uri 是此方法的參數),則其值作為類別名稱讀取。該方法將試圖通過使用類別載入器創建此類別的新實例,如果創建成功,則返回它。
javax.xml.xpath.XPathFactory 比對。有關檔案格式和解析規則,請參閱 JAR File Specification。每個可能的服務提供者均要實作該方法:
isObjectModelSupported(String objectModel)
返回支持指定物件模型的類別載入器順序中的第一個服務提供者。
XPathFactory。必須存在 W3C DOM 的平臺預設 的 XPathFactory,即 DEFAULT_OBJECT_MODEL_URI。
如果這些都失敗,則拋出 XPathFactoryConfigurationException。
疑難解答提示:
有關如何精確解析屬性檔案的資訊,請參閱 Properties.load(java.io.InputStream)。尤其是,冒號 ':'在屬性檔案中需要轉義,因此要確保 URI 在其中進行正確轉義。例如:
http\://java.sun.com/jaxp/xpath/dom=org.acme.DomXPathFactory
uri - 標識底層物件模型。規範只定義了 URI DEFAULT_OBJECT_MODEL_URI、用於 W3C DOM 的 http://java.sun.com/jaxp/xpath/dom、org.w3c.dom 套件。至於其他物件模型,實作可隨意引入其他 URI。
XPathFactory 的實例。
XPathFactoryConfigurationException - 如果指定的物件模型不可用。
NullPointerException - 如果 uri 為 null。
IllegalArgumentException - 如果 uri 為 null 或 uri.length() == 0。
public static XPathFactory newInstance(String uri,
String factoryClassName,
ClassLoader classLoader)
throws XPathFactoryConfigurationException
根據處理器類別名稱獲取一個新 XPathFactory 實例。如果指定的處理器類別支持指定的物件模型,則返回 XPathFactory。當類別路徑中有多個提供者時此函數很有用。它給了應用程序更多的控制權,因為它能指定應該載入哪個提供者。
設置 jaxp.debug 系統屬性將導致此方法將許多除錯訊息列印到 System.err,以說明正在執行的操作以及在何處尋找。
如有問題,請嘗試:
java -Djaxp.debug=1 YourProgram ....
uri - 標識底層物件模型。規範只定義了 URI DEFAULT_OBJECT_MODEL_URI、用於 W3C DOM 的 http://java.sun.com/jaxp/xpath/dom、org.w3c.dom 套件。至於其他物件模型,實作可隨意引入其他 URI。factoryClassName - 完全限定處理器類別名稱,提供 javax.xml.xpath.XPathFactory 的實作。classLoader - 用來載入處理器類別的 ClassLoader。如果為 null,則使用當前 Thread 的上下文 classLoader 來載入處理器類別。
XPathFactory 實例
XPathFactoryConfigurationException - 如果 factoryClassName 為 null、處理器類別不能被載入或實例化、處理器類別不支持 uri 參數中指定的物件模型。
NullPointerException - 如果 uri 為 null。
IllegalArgumentException - 如果 uri 為 null 或 uri.length() == 0。newInstance(),
newInstance(String uri)public abstract boolean isObjectModelSupported(String objectModel)
此 XPathFactory 是否支持指定的物件模型
objectModel - 指定返回的 XPathFactory 理解的物件模型。
XPathFactory 支持 objectModel,則返回 true,否則返回 false。
NullPointerException - 如果 objectModel 為 null。
IllegalArgumentException - 如果 objectModel.length() == 0。
public abstract void setFeature(String name,
boolean value)
throws XPathFactoryConfigurationException
設置此處理器所創建的此 XPathFactory 和 XPath 的功能。
功能名稱是完全限定的 URI。實作可以定義它們自己的功能。如果此 XPathFactory 或其創建的 XPath 不支持該功能,則拋出 XPathFactoryConfigurationException。XPathFactory 可以公開功能值,但不能更改其狀態。
所有實作必須支持 XMLConstants.FEATURE_SECURE_PROCESSING 功能。當功能為 true 時,任何對外部函數的參考均是錯誤的。在這些條件下,實作不能調用 XPathFunctionResolver 且必須拋出 XPathFunctionException。
name - 功能名稱。value - 功能狀態為 true 或 false。
XPathFactoryConfigurationException - 如果此 XPathFactory 或其創建的 XPath 不支持此功能。
NullPointerException - 如果 name 為 null。
public abstract boolean getFeature(String name)
throws XPathFactoryConfigurationException
獲取指定功能的狀態。
功能名稱是完全限定的 URI。實作可以定義它們自己的功能。如果此 XPath 或其創建的 XPathFactory 不支持該功能,則拋出 XPathFactoryConfigurationException。XPathFactory 可以公開功能值,但不能更改其狀態。
name - 功能名稱。
XPathFactoryConfigurationException - 如果此 XPathFactory 或其創建的 XPath 不支持此功能。
NullPointerException - 如果 name 為 null。public abstract void setXPathVariableResolver(XPathVariableResolver resolver)
建立預設變數解析器。
從此處理器建構的任何 XPath 物件將預設使用指定的解析器。
如果 resolver 為 null,則拋出 NullPointerException。
resolver - 變數解析器。
NullPointerException - 如果 resolver 為 null。public abstract void setXPathFunctionResolver(XPathFunctionResolver resolver)
建立預設函數解析器。
從此處理器建構的任何 XPath 物件將預設使用指定的解析器。
如果 resolver 為 null,則拋出 NullPointerException。
resolver - XPath 函數解析器。
NullPointerException - 如果 resolver 為 null。public abstract XPath newXPath()
返回使用實例化 XPathFactory 時確定的底層物件模型的新 XPath。
XPath 的新實例。
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。