| 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()旨在让现有的Validators节约与新Validators创作相关资源的重用。
复位Validator不能保证有相同的LSResourceResolver或ErrorHandler Objects,例如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{公共无效的致命错误(SAXParseExceptionE)抛出SAXException{把E;}公共无效错误(SAXParseExceptionE)抛出SAXException{把E;}公共无效报警(SAXParseExceptionE)抛出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{公共LSInputresolveresource(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解析模式,虽然Validators不需要承认任何特定功能的名字。
功能名称是完全合格的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识别属性名称,但暂时无法返回它的值是可能的。一些属性值可能只在特定的上下文中可用,例如在验证之前、期间或之后的属性值。
Validators不需要承认任何特定的属性名称。
实施者是自由的(鼓励)来创造他们自己的特性,以建立自己的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.