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