Modifier | Constructor and Description |
---|---|
protected |
Validator()
派生类的构造函数。
|
Modifier and Type | Method and Description |
---|---|
abstract ErrorHandler |
getErrorHandler()
被设置为这
Validator 当前
ErrorHandler 。
|
boolean |
getFeature(String name)
查找功能标志的值。
|
Object |
getProperty(String name)
查找属性的值。
|
abstract LSResourceResolver |
getResourceResolver()
被设置为这
Validator 当前
LSResourceResolver 。
|
abstract void |
reset()
这
Validator 复位到原来的配置。
|
abstract void |
setErrorHandler(ErrorHandler errorHandler)
设置接收
validate 方法调用期间遇到错误的
ErrorHandler 。
|
void |
setFeature(String name, boolean value)
设置功能标志的值。
|
void |
setProperty(String name, Object object)
设置属性的值。
|
abstract void |
setResourceResolver(LSResourceResolver resourceResolver)
设置自定义资源解决在验证集
LSResourceResolver 。
|
void |
validate(Source source)
验证指定的输入。
|
abstract void |
validate(Source source, Result result)
验证指定的输入,并将增强验证结果发送到指定的输出。
|
protected Validator()
构造函数什么都不做。
派生类必须创建具有null
ErrorHandler
和null
LSResourceResolver
Validator
对象。
public abstract void reset()
这Validator
复位到原来的配置。
Validator
设置为相同的状态时,它的创建与Schema.newValidator()
。reset()
旨在让现有的Validator
s节约与新Validator
s创作相关资源的重用。
复位Validator
不能保证有相同的LSResourceResolver
或ErrorHandler
Object
s,例如Object.equals(Object obj)
。这是保证有一个功能相同的LSResourceResolver
和ErrorHandler
。
public void validate(Source source) throws SAXException, IOException
这仅仅是一个方便的方法与result
null
validate(Source source, Result result)
。
source
XML进行验证。必须是一个XML文档或XML元素,不能为空。对于向后兼容性,试图验证文档或元素以外的任何其他文件或元素的结果是依赖于实现的。实现必须认识和处理输入或扔IllegalArgumentException。
IllegalArgumentException
-如果
Source
是XML的神器,实现无法验证(例如,一个处理指令)。
SAXException
-如果
ErrorHandler
抛出一个
SAXException
或者是发现了一个致命的错误,
ErrorHandler
正常返回。
IOException
如果验证器是处理
SAXSource
和底层
XMLReader
抛出一个
IOException
。
null
source
NullPointerException
。
validate(Source source, Result result)
public abstract void validate(Source source, Result result) throws SAXException, IOException
验证指定的输入,并将增强验证结果发送到指定的输出。
该方法将下列限制的Source
/ Result
接受的类型。
Source / Result Accepted |
||||
---|---|---|---|---|
StreamSource |
SAXSource |
DOMSource |
StAXSource |
|
null |
OK | OK | OK | OK |
StreamResult |
OK | IllegalArgumentException |
IllegalArgumentException |
IllegalArgumentException |
SAXResult |
IllegalArgumentException |
OK | IllegalArgumentException |
IllegalArgumentException |
DOMResult |
IllegalArgumentException |
IllegalArgumentException |
OK | IllegalArgumentException |
StAXResult |
IllegalArgumentException |
IllegalArgumentException |
IllegalArgumentException |
OK |
为了验证一个Source
成另一种Result
身份,使用变压器(见TransformerFactory.newTransformer()
)。
发现错误验证时发送到指定的ErrorHandler
。
如果一个文件是有效的,如果一个文件包含了一些错误,但是他们没有一个是致命的,ErrorHandler
不抛出任何异常,则该方法返回正常。
source
XML进行验证。必须是一个XML文档或XML元素,不能为空。对于向后兼容性,试图验证文档或元素以外的任何其他文件或元素的结果是依赖于实现的。实现必须认识和处理输入或扔IllegalArgumentException。
result
-接收
Result
对象(可能增强)XML。如果调用方对它不感兴趣,则此参数可以为空。请注意,当一个
DOMResult
使用验证器可能只是通过同样的DOM节点从
DOMSource
到
DOMResult
(在这种情况下,
source.getNode()==result.getNode()
),它会复制整个DOM树,或者它可能改变了由源节点。
IllegalArgumentException
-如果
Result
类型不匹配
Source
型如果
Source
是XML的神器,实现无法验证(例如,一个处理指令)。
SAXException
-如果
ErrorHandler
抛出一个
SAXException
或者是发现了一个致命的错误,
ErrorHandler
正常返回。
IOException
如果验证器是处理
SAXSource
和底层
XMLReader
抛出一个
IOException
。
NullPointerException
-如果
source
参数
null
。
validate(Source source)
public abstract void setErrorHandler(ErrorHandler errorHandler)
validate
方法调用期间遇到错误的
ErrorHandler
。
错误处理程序可以用于在验证过程中自定义错误处理过程。当一个ErrorHandler
设置,发现错误验证时会首先发送到ErrorHandler
。
错误处理程序可以中止进一步验证立即从处理扔SAXException
。或例如可以打印一个错误的屏幕,试图通过正常的ErrorHandler
返回继续验证
如果任何Throwable
从ErrorHandler
抛出,这validate
方法调用者会泛起同样的Throwable
对象。
Validator
不允许扔SAXException
不先报告给ErrorHandler
。
当ErrorHandler
是null,实施将有如以下ErrorHandler
设置:
类draconianerrorhandler实现ErrorHandler
{公共无效的致命错误(SAXParseException
E)抛出SAXException
{把E;}公共无效错误(SAXParseException
E)抛出SAXException
{把E;}公共无效报警(SAXParseException
E)抛出SAXException
{/ /空}}
当一个新的Validator
对象被创建,最初该字段设置为null。
errorHandler
-一个新的错误处理程序将。此参数可以为空。
public abstract ErrorHandler getErrorHandler()
Validator
当前
ErrorHandler
。
setErrorHandler(ErrorHandler)
方法,或null如果方法从来没有所谓的因为这
Validator
创造了。
setErrorHandler(ErrorHandler)
public abstract void setResourceResolver(LSResourceResolver resourceResolver)
LSResourceResolver
。
Validator
使用LSResourceResolver
当需要定位的外部资源,而验证,但到底什么是“定位外部资源”是由每个模式语言。
当LSResourceResolver
是null,实施将有如以下LSResourceResolver
设置:
类dumblsresourceresolver实现LSResourceResolver
{公共LSInput
resolveresource(publicid字符串,字符串的字符串systemid,baseuri){返回空;/ /始终返回空值}}
如果一个LSResourceResolver
抛出一个RuntimeException
(或其派生类的实例),然后Validator
将中止的解析和validate
方法调用者会得到相同的RuntimeException
。
当一个新的Validator
对象被创建,最初该字段设置为null。
resourceResolver
-新资源解析器将。此参数可以为空。
public abstract LSResourceResolver getResourceResolver()
Validator
当前
LSResourceResolver
。
setResourceResolver(LSResourceResolver)
方法,或null如果方法从来没有所谓的因为这
Validator
创造了。
setErrorHandler(ErrorHandler)
public boolean getFeature(String name) throws SAXNotRecognizedException, SAXNotSupportedException
功能名称是完全合格的URI。一Validator
识别特征的名字,但暂时无法返回它的值是可能的。一些特征值可能只在特定的上下文中,例如在验证之前、期间或之后可用。
实施者是自由的(鼓励)来创造自己的特色,以建立自己的URI的名字。
name
特点的名字,这是一个非空的完全合格的URI。
SAXNotRecognizedException
-如果特征值不能被分配或检索。
SAXNotSupportedException
-当
Validator
识别特征名称,但不能确定它的价值在这个时候。
NullPointerException
-当名称参数为空。
setFeature(String, boolean)
public void setFeature(String name, boolean value) throws SAXNotRecognizedException, SAXNotSupportedException
特征可以用来控制方式Validator
解析模式,虽然Validator
s不需要承认任何特定功能的名字。
功能名称是完全合格的URI。一Validator
暴露特征值,但无法改变目前的价值是可能的。一些特征值可以不变或可变的只有在特定的语境中,如前,中,后的验证。
name
特点的名字,这是一个非空的完全合格的URI。
value
特征的请求的值(true或false)。
SAXNotRecognizedException
-如果特征值不能被分配或检索。
SAXNotSupportedException
-当
Validator
识别特征的名字,但不能设置请求的值。
NullPointerException
-当名称参数为空。
getFeature(String)
public void setProperty(String name, Object object) throws SAXNotRecognizedException, SAXNotSupportedException
属性名称是完全合格的URI。一Validator
识别属性名称,但无法改变当前值,它是可能的。有些属性值可能不变或可变的只有在特定的语境中,如前,中,后的验证。
实现JAXP 1.5或更新版本的所有实现都必须支持的XMLConstants.ACCESS_EXTERNAL_DTD
和XMLConstants.ACCESS_EXTERNAL_SCHEMA
性质。
访问外部DTD或Schema文件源限制的XMLConstants.ACCESS_EXTERNAL_DTD
属性指定的协议。如果拒绝访问验证由于这种性质的限制时,SAXException
将由validate(Source)
方法引发。
访问外部参考集的schemaLocation属性限制的XMLConstants.ACCESS_EXTERNAL_SCHEMA
属性指定的协议。如果拒绝访问验证由于这种性质的限制时,SAXException
将由validate(Source)
方法引发。
name
-属性的名字,这是一个非空的完全合格的URI。
object
-请求的性能值。
SAXNotRecognizedException
-如果属性值不能被分配或检索。
SAXNotSupportedException
-当
Validator
识别属性名称,但不能设置请求的值。
NullPointerException
-当名称参数为空。
public Object getProperty(String name) throws SAXNotRecognizedException, SAXNotSupportedException
属性名称是完全合格的URI。一Validator
识别属性名称,但暂时无法返回它的值是可能的。一些属性值可能只在特定的上下文中可用,例如在验证之前、期间或之后的属性值。
Validator
s不需要承认任何特定的属性名称。
实施者是自由的(鼓励)来创造他们自己的特性,以建立自己的URI的名字。
name
-属性的名字,这是一个非空的完全合格的URI。
SAXNotRecognizedException
-如果属性值不能被分配或检索。
SAXNotSupportedException
当XmlReader识别属性名称,但不能确定它的价值在这个时候。
NullPointerException
-当名称参数为空。
setProperty(String, Object)
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.