uTools-Manuals/docs/java/javax/xml/validation/ValidatorHandler.html

559 lines
45 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<div class="header">
<div class="subTitle">
compact2, compact3
</div>
<div class="subTitle">
javax.xml.validation
</div>
<h2 class="title" title="Class ValidatorHandler">Class ValidatorHandler</h2>
</div><div class="contentContainer">
<ul class="inheritance">
<li><a href="../../../java/lang/Object.html" title="class in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>javax.xml.validation.ValidatorHandler</li>
</ul> </li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>
All Implemented Interfaces:
</dt>
<dd>
<span><a href="../../../org/xml/sax/ContentHandler.html" title="org.xml.sax中的接口">ContentHandler</a></span>
</dd>
</dl>
<hr/> <br/> <pre>public abstract class <span class="typeNameLabel">ValidatorHandler</span>
extends <a href="../../../java/lang/Object.html" title="class in java.lang">Object</a>
implements <a href="../../../org/xml/sax/ContentHandler.html" title="interface in org.xml.sax">ContentHandler</a></pre>
<div class="block">
<span>流式验证器适用于SAX流。</span>
<p> <span>一个<a href="../../../javax/xml/validation/ValidatorHandler.html" title="javax.xml.validation中的类"><code>ValidatorHandler</code></a>对象不是线程安全的,不能重入。</span> <span>换句话说,应用程序的责任是确保在任何给定时间从多个线程中使用一个<a href="../../../javax/xml/validation/ValidatorHandler.html" title="javax.xml.validation中的类"><code>ValidatorHandler</code></a>对象。</span> </p>
<p> <span><a href="../../../javax/xml/validation/ValidatorHandler.html" title="javax.xml.validation中的类"><code>ValidatorHandler</code></a>检查SAX事件是否遵循相关联的<code>Schema</code>中描述的约束<a href="../../../javax/xml/validation/Schema.html" title="javax.xml.validation中的类"></a> 此外它可以修改SAX事件例如通过添加默认值等</span> </p>
<p> <span><a href="../../../javax/xml/validation/ValidatorHandler.html" title="javax.xml.validation中的类"><code>ValidatorHandler</code></a>从延伸<a href="../../../org/xml/sax/ContentHandler.html" title="org.xml.sax中的接口"><code>ContentHandler</code></a> ,但它细化了基本<a href="../../../org/xml/sax/ContentHandler.html" title="org.xml.sax中的接口"><code>ContentHandler</code></a>按以下方式:</span> </p>
<ol>
<li> <span>的startElement /事件的endElement必须接收非空字符串为<code>uri</code> <code>localName</code><code>qname</code> 即使SAX允许他们中的一些是空的。</span> <span>类似地,用户指定的<a href="../../../org/xml/sax/ContentHandler.html" title="org.xml.sax中的接口"><code>ContentHandler</code></a>将为所有三个参数接收非空字符串。</span> </li>
<li> <span>应用程序必须确保<a href="../../../javax/xml/validation/ValidatorHandler.html" title="javax.xml.validation中的类"><code>ValidatorHandler</code></a><a href="../../../org/xml/sax/ContentHandler.html#startPrefixMapping-java.lang.String-java.lang.String-"><code>ContentHandler.startPrefixMapping(String,String)</code></a><a href="../../../org/xml/sax/ContentHandler.html#endPrefixMapping-java.lang.String-"><code>ContentHandler.endPrefixMapping(String)</code></a>正确调用。</span> <span>类似地,用户指定的<a href="../../../org/xml/sax/ContentHandler.html" title="org.xml.sax中的接口"><code>ContentHandler</code></a>将接收startPrefixMapping / endPrefixMapping事件。</span> <span>如果<a href="../../../javax/xml/validation/ValidatorHandler.html" title="javax.xml.validation中的类"><code>ValidatorHandler</code>引入了</a>额外的命名空间绑定,用户指定的<a href="../../../org/xml/sax/ContentHandler.html" title="org.xml.sax中的接口"><code>ContentHandler</code></a>将会收到额外的startPrefixMapping / endPrefixMapping事件。</span> </li>
<li> <span><a href="../../../org/xml/sax/Attributes.html" title="org.xml.sax中的接口"><code>Attributes</code></a><a href="../../../org/xml/sax/ContentHandler.html#startElement-java.lang.String-java.lang.String-java.lang.String-org.xml.sax.Attributes-"><code>ContentHandler.startElement(String,String,String,Attributes)</code></a>方法可能包含或不包含xmlns *属性。</span> </li>
</ol>
<p> <span><a href="../../../javax/xml/validation/ValidatorHandler.html" title="javax.xml.validation中的类"><code>ValidatorHandler</code></a>自动复位每次调用startDocument方法时间。</span> </p>
<h2> <span>认可的特性和特点</span> </h2>
<p> <span>该规范定义了所有<a href="../../../javax/xml/validation/ValidatorHandler.html" title="javax.xml.validation中的类"><code>ValidatorHandler</code></a>实现必须识别的<a href="../../../javax/xml/validation/ValidatorHandler.html" title="javax.xml.validation中的类">以下</a>功能。</span> </p>
<h3> <code>http://xml.org/sax/features/namespace-prefixes</code> </h3>
<p> <span>此功能控制<a href="../../../javax/xml/validation/ValidatorHandler.html" title="javax.xml.validation中的类"><code>ValidatorHandler</code></a>如何<a href="../../../javax/xml/validation/ValidatorHandler.html" title="javax.xml.validation中的类">引入</a>原始SAX事件流中不存在的命名空间绑定。</span> <span>当此功能设置为true则必须确保用户<a href="../../../org/xml/sax/ContentHandler.html" title="org.xml.sax中的接口"><code>ContentHandler</code></a>会看到相应<code>xmlns*</code>属性在<a href="../../../org/xml/sax/Attributes.html" title="org.xml.sax中的接口"><code>Attributes</code></a>的对象<a href="../../../org/xml/sax/ContentHandler.html#startElement-java.lang.String-java.lang.String-java.lang.String-org.xml.sax.Attributes-"><code>ContentHandler.startElement(String,String,String,Attributes)</code></a>回调。</span> <span>否则, <code>xmlns*</code>属性不能被添加到<a href="../../../org/xml/sax/Attributes.html" title="org.xml.sax中的接口"><code>Attributes</code></a>则传递到用户指定的<a href="../../../org/xml/sax/ContentHandler.html" title="org.xml.sax中的接口"><code>ContentHandler</code></a></span> </p>
<p> <span>(请注意,无论此开关的,名称空间绑定总是通过通知应用程序<a href="../../../org/xml/sax/ContentHandler.html#startPrefixMapping-java.lang.String-java.lang.String-"><code>ContentHandler.startPrefixMapping(String,String)</code></a><a href="../../../org/xml/sax/ContentHandler.html#endPrefixMapping-java.lang.String-"><code>ContentHandler.endPrefixMapping(String)</code></a>所述的方法<a href="../../../org/xml/sax/ContentHandler.html" title="org.xml.sax中的接口"><code>ContentHandler</code></a>由用户指定)。</span> </p>
<p> <span>请注意,此功能<em></em>影响的方式<a href="../../../javax/xml/validation/ValidatorHandler.html" title="javax.xml.validation中的类"><code>ValidatorHandler</code></a>接收SAX事件。</span> <span>它只是改变了增加SAX事件的方式。</span> </p>
<p> <span>此功能默认设置为<code>false</code></span> </p>
</div>
<dl>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
1.5
</dd>
</dl> </li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- --> </a> <h3>构造方法摘要</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Constructor Summary table, listing constructors, and an explanation">
<caption>
<span>构造方法</span>
<span class="tabEnd"> </span>
</caption>
<tbody>
<tr>
<th class="colFirst" scope="col">Modifier</th>
<th class="colLast" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/validation/ValidatorHandler.html#ValidatorHandler--">ValidatorHandler</a></span>()</code>
<div class="block">
派生类的构造方法
</div> </td>
</tr>
</tbody>
</table> </li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- --> </a> <h3>方法摘要</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Method Summary table, listing methods, and an explanation">
<caption>
<span class="activeTableTab" id="t0"><span>所有方法</span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t2"><span><a href="javascript:show(2);">接口方法</a></span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t3"><span><a href="javascript:show(4);">抽象方法</a></span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t4"><span><a href="javascript:show(8);">具体的方法</a></span><span class="tabEnd"> </span></span>
</caption>
<tbody>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor" id="i0">
<td class="colFirst"><code>abstract <a href="../../../org/xml/sax/ContentHandler.html" title="interface in org.xml.sax">ContentHandler</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/validation/ValidatorHandler.html#getContentHandler--">getContentHandler</a></span>()</code>
<div class="block">
<span>获得<a href="../../../org/xml/sax/ContentHandler.html" title="org.xml.sax中的接口"><code>ContentHandler</code></a> ,它接收增强的验证结果。</span>
</div> </td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code>abstract <a href="../../../org/xml/sax/ErrorHandler.html" title="interface in org.xml.sax">ErrorHandler</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/validation/ValidatorHandler.html#getErrorHandler--">getErrorHandler</a></span>()</code>
<div class="block">
<span>获得当前<a href="../../../org/xml/sax/ErrorHandler.html" title="org.xml.sax中的接口"><code>ErrorHandler</code></a>设置为<a href="../../../javax/xml/validation/ValidatorHandler.html" title="javax.xml.validation中的类"><code>ValidatorHandler</code></a></span>
</div> </td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/validation/ValidatorHandler.html#getFeature-java.lang.String-">getFeature</a></span>(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> name)</code>
<div class="block">
查找特征标记的值。
</div> </td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code><a href="../../../java/lang/Object.html" title="class in java.lang">Object</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/validation/ValidatorHandler.html#getProperty-java.lang.String-">getProperty</a></span>(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> name)</code>
<div class="block">
查找属性的值。
</div> </td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code>abstract <a href="../../../org/w3c/dom/ls/LSResourceResolver.html" title="interface in org.w3c.dom.ls">LSResourceResolver</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/validation/ValidatorHandler.html#getResourceResolver--">getResourceResolver</a></span>()</code>
<div class="block">
<span>获取当前<a href="../../../org/w3c/dom/ls/LSResourceResolver.html" title="界面在org.w3c.dom.ls中"><code>LSResourceResolver</code></a>设置为此<a href="../../../javax/xml/validation/ValidatorHandler.html" title="javax.xml.validation中的类"><code>ValidatorHandler</code></a></span>
</div> </td>
</tr>
<tr class="rowColor" id="i5">
<td class="colFirst"><code>abstract <a href="../../../javax/xml/validation/TypeInfoProvider.html" title="class in javax.xml.validation">TypeInfoProvider</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/validation/ValidatorHandler.html#getTypeInfoProvider--">getTypeInfoProvider</a></span>()</code>
<div class="block">
<span>获得这<a href="../../../javax/xml/validation/TypeInfoProvider.html" title="javax.xml.validation中的类"><code>ValidatorHandler</code></a> <code>TypeInfoProvider</code> <a href="../../../javax/xml/validation/ValidatorHandler.html" title="javax.xml.validation中的类">实现</a></span>
</div> </td>
</tr>
<tr class="altColor" id="i6">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/validation/ValidatorHandler.html#setContentHandler-org.xml.sax.ContentHandler-">setContentHandler</a></span>(<a href="../../../org/xml/sax/ContentHandler.html" title="interface in org.xml.sax">ContentHandler</a> receiver)</code>
<div class="block">
<span>设置<a href="../../../org/xml/sax/ContentHandler.html" title="org.xml.sax中的接口"><code>ContentHandler</code></a>接收扩充的验证结果。</span>
</div> </td>
</tr>
<tr class="rowColor" id="i7">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/validation/ValidatorHandler.html#setErrorHandler-org.xml.sax.ErrorHandler-">setErrorHandler</a></span>(<a href="../../../org/xml/sax/ErrorHandler.html" title="interface in org.xml.sax">ErrorHandler</a> errorHandler)</code>
<div class="block">
<span>设置<a href="../../../org/xml/sax/ErrorHandler.html" title="org.xml.sax中的接口"><code>ErrorHandler</code></a>以接收验证期间遇到的错误。</span>
</div> </td>
</tr>
<tr class="altColor" id="i8">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/validation/ValidatorHandler.html#setFeature-java.lang.String-boolean-">setFeature</a></span>(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> name, boolean value)</code>
<div class="block">
为这个
<code>ValidatorHandler</code>设置一个功能。
</div> </td>
</tr>
<tr class="rowColor" id="i9">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/validation/ValidatorHandler.html#setProperty-java.lang.String-java.lang.Object-">setProperty</a></span>(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> name, <a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> object)</code>
<div class="block">
设置属性的值。
</div> </td>
</tr>
<tr class="altColor" id="i10">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/validation/ValidatorHandler.html#setResourceResolver-org.w3c.dom.ls.LSResourceResolver-">setResourceResolver</a></span>(<a href="../../../org/w3c/dom/ls/LSResourceResolver.html" title="interface in org.w3c.dom.ls">LSResourceResolver</a> resourceResolver)</code>
<div class="block">
<span>设置<a href="../../../org/w3c/dom/ls/LSResourceResolver.html" title="界面在org.w3c.dom.ls中"><code>LSResourceResolver</code></a>以在验证集中自定义资源分辨率。</span>
</div> </td>
</tr>
</tbody>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- --> </a> <h3>Methods inherited from class java.lang.<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a></h3> <code><a href="../../../java/lang/Object.html#clone--">clone</a>, <a href="../../../java/lang/Object.html#equals-java.lang.Object-">equals</a>, <a href="../../../java/lang/Object.html#finalize--">finalize</a>, <a href="../../../java/lang/Object.html#getClass--">getClass</a>, <a href="../../../java/lang/Object.html#hashCode--">hashCode</a>, <a href="../../../java/lang/Object.html#notify--">notify</a>, <a href="../../../java/lang/Object.html#notifyAll--">notifyAll</a>, <a href="../../../java/lang/Object.html#toString--">toString</a>, <a href="../../../java/lang/Object.html#wait--">wait</a>, <a href="../../../java/lang/Object.html#wait-long-">wait</a>, <a href="../../../java/lang/Object.html#wait-long-int-">wait</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.xml.sax.ContentHandler">
<!-- --> </a> <h3>Methods inherited from interface org.xml.sax.<a href="../../../org/xml/sax/ContentHandler.html" title="interface in org.xml.sax">ContentHandler</a></h3> <code><a href="../../../org/xml/sax/ContentHandler.html#characters-char:A-int-int-">characters</a>, <a href="../../../org/xml/sax/ContentHandler.html#endDocument--">endDocument</a>, <a href="../../../org/xml/sax/ContentHandler.html#endElement-java.lang.String-java.lang.String-java.lang.String-">endElement</a>, <a href="../../../org/xml/sax/ContentHandler.html#endPrefixMapping-java.lang.String-">endPrefixMapping</a>, <a href="../../../org/xml/sax/ContentHandler.html#ignorableWhitespace-char:A-int-int-">ignorableWhitespace</a>, <a href="../../../org/xml/sax/ContentHandler.html#processingInstruction-java.lang.String-java.lang.String-">processingInstruction</a>, <a href="../../../org/xml/sax/ContentHandler.html#setDocumentLocator-org.xml.sax.Locator-">setDocumentLocator</a>, <a href="../../../org/xml/sax/ContentHandler.html#skippedEntity-java.lang.String-">skippedEntity</a>, <a href="../../../org/xml/sax/ContentHandler.html#startDocument--">startDocument</a>, <a href="../../../org/xml/sax/ContentHandler.html#startElement-java.lang.String-java.lang.String-java.lang.String-org.xml.sax.Attributes-">startElement</a>, <a href="../../../org/xml/sax/ContentHandler.html#startPrefixMapping-java.lang.String-java.lang.String-">startPrefixMapping</a></code></li>
</ul> </li>
</ul> </li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- --> </a> <h3>构造方法详细信息</h3> <a name="ValidatorHandler--">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>ValidatorHandler</h4> <pre>protected ValidatorHandler()</pre>
<div class="block">
<p> <span>派生类的构造方法</span> </p>
<p> <span>构造函数什么也不做。</span> </p>
<p> <span>派生类必须创建具有<code>null</code> <a href="../../../org/xml/sax/ErrorHandler.html" title="org.xml.sax中的接口"><code>ErrorHandler</code></a><code>null</code> <a href="../../../org/w3c/dom/ls/LSResourceResolver.html" title="界面在org.w3c.dom.ls中"><code>LSResourceResolver</code></a> <a href="../../../javax/xml/validation/ValidatorHandler.html" title="javax.xml.validation中的类"><code>ValidatorHandler</code></a>对象。</span> </p>
</div> </li>
</ul> </li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- --> </a> <h3>方法详细信息</h3> <a name="setContentHandler-org.xml.sax.ContentHandler-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setContentHandler</h4> <pre>public abstract void setContentHandler(<a href="../../../org/xml/sax/ContentHandler.html" title="interface in org.xml.sax">ContentHandler</a> receiver)</pre>
<div class="block">
<span>设置<a href="../../../org/xml/sax/ContentHandler.html" title="org.xml.sax中的接口"><code>ContentHandler</code></a>接收扩充的验证结果。</span>
<p> <span>当指定<a href="../../../org/xml/sax/ContentHandler.html" title="org.xml.sax中的接口"><code>ContentHandler</code></a>时, <a href="../../../javax/xml/validation/ValidatorHandler.html" title="javax.xml.validation中的类"><code>ValidatorHandler</code></a>将作为过滤器使用,基本上将传入的事件复制到指定的<a href="../../../org/xml/sax/ContentHandler.html" title="org.xml.sax中的接口"><code>ContentHandler</code></a></span> </p>
<p> <span>在这样做时, <a href="../../../javax/xml/validation/ValidatorHandler.html" title="javax.xml.validation中的类"><code>ValidatorHandler</code></a>可以修改事件,例如通过添加默认属性。</span> </p>
<p> <span><a href="../../../javax/xml/validation/ValidatorHandler.html" title="javax.xml.validation中的类"><code>ValidatorHandler</code></a>可缓冲事件一定程度上,但允许<a href="../../../javax/xml/validation/ValidatorHandler.html" title="javax.xml.validation中的类"><code>ValidatorHandler</code></a>至被解析器所使用的,以下要求必须满足。</span> </p>
<ol>
<li> <span><a href="../../../org/xml/sax/ContentHandler.html#startElement-java.lang.String-java.lang.String-java.lang.String-org.xml.sax.Attributes-"><code>ContentHandler.startElement(String, String, String, Attributes)</code></a> <a href="../../../org/xml/sax/ContentHandler.html#endElement-java.lang.String-java.lang.String-java.lang.String-"><code>ContentHandler.endElement(String, String, String)</code></a> <a href="../../../org/xml/sax/ContentHandler.html#startDocument--"><code>ContentHandler.startDocument()</code></a> ,或<a href="../../../org/xml/sax/ContentHandler.html#endDocument--"><code>ContentHandler.endDocument()</code></a>被在调用<a href="../../../javax/xml/validation/ValidatorHandler.html" title="javax.xml.validation中的类"><code>ValidatorHandler</code></a> ,在用户指定的相同的方法<a href="../../../org/xml/sax/ContentHandler.html" title="org.xml.sax中的接口"><code>ContentHandler</code></a>必须调用回调返回之前相同的事件。</span> </li>
<li> <span><a href="../../../javax/xml/validation/ValidatorHandler.html" title="javax.xml.validation中的类"><code>ValidatorHandler</code></a>可能不会引入输入中不存在的新元素。</span> </li>
<li> <span><a href="../../../javax/xml/validation/ValidatorHandler.html" title="javax.xml.validation中的类"><code>ValidatorHandler</code></a>可能不会删除输入中存在的属性。</span> </li>
</ol>
<p> <span>当在指定的回调方法<a href="../../../org/xml/sax/ContentHandler.html" title="org.xml.sax中的接口"><code>ContentHandler</code></a>抛出异常,相同的异常对象必须从抛出<a href="../../../javax/xml/validation/ValidatorHandler.html" title="javax.xml.validation中的类"><code>ValidatorHandler</code></a></span> <span><a href="../../../org/xml/sax/ErrorHandler.html" title="org.xml.sax中的接口"><code>ErrorHandler</code></a>不应该被通知这样的例外。</span> </p>
<p> <span>即使在验证的中间,也可以调用此方法。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>receiver</code> - A <a href="../../../org/xml/sax/ContentHandler.html" title="org.xml.sax中的接口"><code>ContentHandler</code></a>或空值。</span>
</dd>
</dl> </li>
</ul> <a name="getContentHandler--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getContentHandler</h4> <pre>public abstract <a href="../../../org/xml/sax/ContentHandler.html" title="interface in org.xml.sax">ContentHandler</a> getContentHandler()</pre>
<div class="block">
<span>获取<a href="../../../org/xml/sax/ContentHandler.html" title="org.xml.sax中的接口"><code>ContentHandler</code></a>接收扩充的验证结果。</span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<span>此方法返回通过<a href="../../../javax/xml/validation/ValidatorHandler.html#getContentHandler--"><code>getContentHandler()</code></a>方法最后设置的对象如果该方法从未调用则为null因为此<a href="../../../javax/xml/validation/ValidatorHandler.html" title="javax.xml.validation中的类"><code>ValidatorHandler</code></a>已创建。</span>
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/xml/validation/ValidatorHandler.html#setContentHandler-org.xml.sax.ContentHandler-"><code>setContentHandler(ContentHandler)</code></a>
</dd>
</dl> </li>
</ul> <a name="setErrorHandler-org.xml.sax.ErrorHandler-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setErrorHandler</h4> <pre>public abstract void setErrorHandler(<a href="../../../org/xml/sax/ErrorHandler.html" title="interface in org.xml.sax">ErrorHandler</a> errorHandler)</pre>
<div class="block">
<span>设置<a href="../../../org/xml/sax/ErrorHandler.html" title="org.xml.sax中的接口"><code>ErrorHandler</code></a>以接收验证期间遇到的错误。</span>
<p> <span>错误处理程序可用于在验证期间自定义错误处理过程。</span> <span>当设置<a href="../../../org/xml/sax/ErrorHandler.html" title="org.xml.sax中的接口"><code>ErrorHandler</code></a>时,验证期间发现的错误将首先发送到<a href="../../../org/xml/sax/ErrorHandler.html" title="org.xml.sax中的接口"><code>ErrorHandler</code></a></span> </p>
<p> <span>错误处理程序可以通过从处理程序中抛出<a href="../../../org/xml/sax/SAXException.html" title="在org.xml.sax中的类"><code>SAXException</code></a>来立即中止进一步的验证。</span> <span>或者,例如,它可以在屏幕上打印错误,并尝试通过从<code>ErrorHandler</code>正常返回来继续<a href="../../../org/xml/sax/ErrorHandler.html" title="org.xml.sax中的接口">验证</a></span> </p>
<p> <span>如果从<a href="../../../java/lang/Throwable.html" title="java.lang中的类"><code>ErrorHandler</code></a>抛出<a href="../../../org/xml/sax/ErrorHandler.html" title="org.xml.sax中的接口"><code>Throwable</code></a> ,那么相同的<a href="../../../java/lang/Throwable.html" title="java.lang中的类"><code>Throwable</code></a>对象将被抛向调用堆栈的根目录。</span> </p>
<p> <span><a href="../../../javax/xml/validation/ValidatorHandler.html" title="javax.xml.validation中的类"><code>ValidatorHandler</code></a>不允许抛出<a href="../../../org/xml/sax/SAXException.html" title="在org.xml.sax中的类"><code>SAXException</code></a>没有首先报告给<a href="../../../org/xml/sax/ErrorHandler.html" title="org.xml.sax中的接口"><code>ErrorHandler</code></a></span> </p>
<p> <span><a href="../../../org/xml/sax/ErrorHandler.html" title="org.xml.sax中的接口"><code>ErrorHandler</code></a>为null时实现将表现为如下设置以下<a href="../../../org/xml/sax/ErrorHandler.html" title="org.xml.sax中的接口"><code>ErrorHandler</code></a> </span> </p>
<pre> <span>class DraconianErrorHandler implements <a href="../../../org/xml/sax/ErrorHandler.html" title="interface in org.xml.sax"><code>ErrorHandler</code></a> {
public void fatalError( <a href="../../../org/xml/sax/SAXParseException.html" title="class in org.xml.sax"><code>SAXParseException</code></a> e ) throws <a href="../../../org/xml/sax/SAXException.html" title="class in org.xml.sax"><code>SAXException</code></a> {
throw e;
}
public void error( <a href="../../../org/xml/sax/SAXParseException.html" title="class in org.xml.sax"><code>SAXParseException</code></a> e ) throws <a href="../../../org/xml/sax/SAXException.html" title="class in org.xml.sax"><code>SAXException</code></a> {
throw e;
}
public void warning( <a href="../../../org/xml/sax/SAXParseException.html" title="class in org.xml.sax"><code>SAXParseException</code></a> e ) throws <a href="../../../org/xml/sax/SAXException.html" title="class in org.xml.sax"><code>SAXException</code></a> {
// noop
}
}</span> </pre>
<p> <span>当创建一个新的<a href="../../../javax/xml/validation/ValidatorHandler.html" title="javax.xml.validation中的类"><code>ValidatorHandler</code></a>对象时最初该字段设置为null。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>errorHandler</code> - 要设置的新的错误处理程序。</span>
<span>此参数可以为null。</span>
</dd>
</dl> </li>
</ul> <a name="getErrorHandler--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getErrorHandler</h4> <pre>public abstract <a href="../../../org/xml/sax/ErrorHandler.html" title="interface in org.xml.sax">ErrorHandler</a> getErrorHandler()</pre>
<div class="block">
<span>获得当前<a href="../../../org/xml/sax/ErrorHandler.html" title="org.xml.sax中的接口"><code>ErrorHandler</code></a>设置为<a href="../../../javax/xml/validation/ValidatorHandler.html" title="javax.xml.validation中的类"><code>ValidatorHandler</code></a></span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<span>此方法返回是通过最后一组对象<a href="../../../javax/xml/validation/ValidatorHandler.html#setErrorHandler-org.xml.sax.ErrorHandler-"><code>setErrorHandler(ErrorHandler)</code></a>方法则返回null因为这是方法从未被称为<a href="../../../javax/xml/validation/ValidatorHandler.html" title="javax.xml.validation中的类"><code>ValidatorHandler</code></a>创造。</span>
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/xml/validation/ValidatorHandler.html#setErrorHandler-org.xml.sax.ErrorHandler-"><code>setErrorHandler(ErrorHandler)</code></a>
</dd>
</dl> </li>
</ul> <a name="setResourceResolver-org.w3c.dom.ls.LSResourceResolver-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setResourceResolver</h4> <pre>public abstract void setResourceResolver(<a href="../../../org/w3c/dom/ls/LSResourceResolver.html" title="interface in org.w3c.dom.ls">LSResourceResolver</a> resourceResolver)</pre>
<div class="block">
<span>设置<a href="../../../org/w3c/dom/ls/LSResourceResolver.html" title="界面在org.w3c.dom.ls中"><code>LSResourceResolver</code></a>以在验证集中定制资源分辨率。</span>
<p> <span><a href="../../../javax/xml/validation/ValidatorHandler.html" title="javax.xml.validation中的类"><code>ValidatorHandler</code></a>使用<a href="../../../org/w3c/dom/ls/LSResourceResolver.html" title="界面在org.w3c.dom.ls中"><code>LSResourceResolver</code></a>当需要定位外部资源的同时进行验证,虽然完全是什么构成“定位外部资源”取决于每种架构语言。</span> </p>
<p> <span><a href="../../../org/w3c/dom/ls/LSResourceResolver.html" title="界面在org.w3c.dom.ls中"><code>LSResourceResolver</code></a>为null时实现将表现为如下设置以下<a href="../../../org/w3c/dom/ls/LSResourceResolver.html" title="界面在org.w3c.dom.ls中"><code>LSResourceResolver</code></a> </span> </p>
<pre> <span>class DumbLSResourceResolver implements <a href="../../../org/w3c/dom/ls/LSResourceResolver.html" title="interface in org.w3c.dom.ls"><code>LSResourceResolver</code></a> {
public <a href="../../../org/w3c/dom/ls/LSInput.html" title="interface in org.w3c.dom.ls"><code>LSInput</code></a> resolveResource(
String publicId, String systemId, String baseURI) {
return null; // always return null
}
}</span> </pre>
<p> <span>如果一个<a href="../../../org/w3c/dom/ls/LSResourceResolver.html" title="界面在org.w3c.dom.ls中"><code>RuntimeException</code></a> (或其派生类的实例)抛出<a href="../../../java/lang/RuntimeException.html" title="java.lang中的类"><code>RuntimeException</code></a> ,那么<a href="../../../javax/xml/validation/ValidatorHandler.html" title="javax.xml.validation中的类"><code>ValidatorHandler</code></a>将中止解析,并且<code>validate</code>方法的调用者将收到相同的<a href="../../../java/lang/RuntimeException.html" title="java.lang中的类"><code>RuntimeException</code></a></span> </p>
<p> <span>当创建一个新的<a href="../../../javax/xml/validation/ValidatorHandler.html" title="javax.xml.validation中的类"><code>ValidatorHandler</code></a>对象时最初该字段设置为null。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>resourceResolver</code> - 要设置的新资源解析器。</span>
<span>此参数可以为null。</span>
</dd>
</dl> </li>
</ul> <a name="getResourceResolver--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getResourceResolver</h4> <pre>public abstract <a href="../../../org/w3c/dom/ls/LSResourceResolver.html" title="interface in org.w3c.dom.ls">LSResourceResolver</a> getResourceResolver()</pre>
<div class="block">
<span>获取当前的<a href="../../../org/w3c/dom/ls/LSResourceResolver.html" title="界面在org.w3c.dom.ls中"><code>LSResourceResolver</code></a>设置为<a href="../../../javax/xml/validation/ValidatorHandler.html" title="javax.xml.validation中的类"><code>ValidatorHandler</code></a></span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<span>此方法返回是通过最后一组对象<a href="../../../javax/xml/validation/ValidatorHandler.html#setResourceResolver-org.w3c.dom.ls.LSResourceResolver-"><code>setResourceResolver(LSResourceResolver)</code></a>方法则返回null因为这是方法从未被称为<a href="../../../javax/xml/validation/ValidatorHandler.html" title="javax.xml.validation中的类"><code>ValidatorHandler</code></a>创造。</span>
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/xml/validation/ValidatorHandler.html#setErrorHandler-org.xml.sax.ErrorHandler-"><code>setErrorHandler(ErrorHandler)</code></a>
</dd>
</dl> </li>
</ul> <a name="getTypeInfoProvider--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getTypeInfoProvider</h4> <pre>public abstract <a href="../../../javax/xml/validation/TypeInfoProvider.html" title="class in javax.xml.validation">TypeInfoProvider</a> getTypeInfoProvider()</pre>
<div class="block">
<span>获取<a href="../../../javax/xml/validation/TypeInfoProvider.html" title="javax.xml.validation中的类"><code>TypeInfoProvider</code></a>这个<a href="../../../javax/xml/validation/ValidatorHandler.html" title="javax.xml.validation中的类"><code>ValidatorHandler</code>的实现</a></span>
<p> <span>获得的<a href="../../../javax/xml/validation/TypeInfoProvider.html" title="javax.xml.validation中的类"><code>TypeInfoProvider</code></a>可以在解析期间查询以访问由验证器确定的类型信息。</span> </p>
<p> <span>某些模式语言没有定义类型的概念,对于这些语言,可能不支持此方法。</span> <span>然而为了符合本规范W3C XML Schema 1.0的实现必须支持此操作。</span> </p>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<span>如果验证器/模式语言不支持<a href="../../../org/w3c/dom/TypeInfo.html" title="界面在org.w3c.dom"><code>TypeInfo</code></a>的概念, <a href="../../../org/w3c/dom/TypeInfo.html" title="界面在org.w3c.dom">则为null</a></span>
<span>否则为非空有效<a href="../../../javax/xml/validation/TypeInfoProvider.html" title="javax.xml.validation中的类"><code>TypeInfoProvider</code></a></span>
</dd>
</dl> </li>
</ul> <a name="getFeature-java.lang.String-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getFeature</h4> <pre>public boolean getFeature(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> name)
throws <a href="../../../org/xml/sax/SAXNotRecognizedException.html" title="class in org.xml.sax">SAXNotRecognizedException</a>,
<a href="../../../org/xml/sax/SAXNotSupportedException.html" title="class in org.xml.sax">SAXNotSupportedException</a></pre>
<div class="block">
<span>查找特征标记的值。</span>
<p> <span>功能名称是任何完全限定的URI。</span> <span><a href="../../../javax/xml/validation/ValidatorHandler.html" title="javax.xml.validation中的类"><code>ValidatorHandler</code></a>可以识别功能名称,但暂时无法返回其值。</span> <span>某些特征值可能仅在特定上下文中可用,例如在验证之前,期间或之后。</span> </p>
<p> <span>实施者是免费并被鼓励发明自己的功能使用自己的URI建立的名称。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>name</code> - 特征名称它是非空的完全限定URI。
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
特征的当前值true或false
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../org/xml/sax/SAXNotRecognizedException.html" title="class in org.xml.sax">SAXNotRecognizedException</a></code> - 如果不能分配或检索到特征值。
</dd>
<dd>
<span><code><a href="../../../org/xml/sax/SAXNotSupportedException.html" title="class in org.xml.sax">SAXNotSupportedException</a></code> - 当<a href="../../../javax/xml/validation/ValidatorHandler.html" title="javax.xml.validation中的类"><code>ValidatorHandler</code></a>识别功能名称,但此时无法确定其值。</span>
</dd>
<dd>
<code><a href="../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> -
<code>name</code>
<code>null</code>
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/xml/validation/ValidatorHandler.html#setFeature-java.lang.String-boolean-"><code>setFeature(String, boolean)</code></a>
</dd>
</dl> </li>
</ul> <a name="setFeature-java.lang.String-boolean-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setFeature</h4> <pre>public void setFeature(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> name,
boolean value)
throws <a href="../../../org/xml/sax/SAXNotRecognizedException.html" title="class in org.xml.sax">SAXNotRecognizedException</a>,
<a href="../../../org/xml/sax/SAXNotSupportedException.html" title="class in org.xml.sax">SAXNotSupportedException</a></pre>
<div class="block">
<p> <span>为这个<code>ValidatorHandler</code>设置一个功能。</span> </p>
<p> <span>功能可以用来控制一个<a href="../../../javax/xml/validation/ValidatorHandler.html" title="javax.xml.validation中的类"><code>ValidatorHandler</code></a>解析模式的方式。</span> <span>功能名称是任何完全限定的URI。</span> <span><a href="../../../javax/xml/validation/SchemaFactory.html" title="javax.xml.validation中的类"><code>SchemaFactory</code></a>可以公开特征值,但无法更改当前值。</span> <span>一些特征值可以是不可变的或可变的仅在特定的上下文中,例如验证之前,期间或之后。</span> </p>
<p> <span>所有实现都需要支持<a href="../../../javax/xml/XMLConstants.html#FEATURE_SECURE_PROCESSING"><code>XMLConstants.FEATURE_SECURE_PROCESSING</code></a>功能。</span> <span>当功能是:</span> </p>
<ul>
<li> <span><code>true</code> 实现将限制XML处理以符合实施限制。</span> <span>示例包括enity扩展限制和消耗大量资源的XML Schema结构。</span> <span>如果出于安全考虑XML处理受到限制将通过对已注册的<a href="../../../org/xml/sax/ErrorHandler.html#fatalError-org.xml.sax.SAXParseException-"><code>ErrorHandler.fatalError(SAXParseException exception)</code></a>的呼叫进行报告。</span> <span><a href="../../../javax/xml/validation/ValidatorHandler.html#setErrorHandler-org.xml.sax.ErrorHandler-"><code>setErrorHandler(ErrorHandler errorHandler)</code></a></span> </li>
<li> <span><code>false</code> 实现将根据XML规范处理XML而不考虑可能的实现限制。</span> </li>
</ul>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>name</code> - 特征名称它是非空的完全限定的URI。
</dd>
<dd>
<code>value</code> - 要素的值true或false
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../org/xml/sax/SAXNotRecognizedException.html" title="class in org.xml.sax">SAXNotRecognizedException</a></code> - 如果无法分配或检索到特征值。
</dd>
<dd>
<span><code><a href="../../../org/xml/sax/SAXNotSupportedException.html" title="class in org.xml.sax">SAXNotSupportedException</a></code> - 当<a href="../../../javax/xml/validation/ValidatorHandler.html" title="javax.xml.validation中的类"><code>ValidatorHandler</code></a>识别功能名称但无法设置请求的值时。</span>
</dd>
<dd>
<code><a href="../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 当
<code>name</code>
<code>null</code>
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/xml/validation/ValidatorHandler.html#getFeature-java.lang.String-"><code>getFeature(String)</code></a>
</dd>
</dl> </li>
</ul> <a name="setProperty-java.lang.String-java.lang.Object-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setProperty</h4> <pre>public void setProperty(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> name,
<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> object)
throws <a href="../../../org/xml/sax/SAXNotRecognizedException.html" title="class in org.xml.sax">SAXNotRecognizedException</a>,
<a href="../../../org/xml/sax/SAXNotSupportedException.html" title="class in org.xml.sax">SAXNotSupportedException</a></pre>
<div class="block">
<span>设置属性的值。</span>
<p> <span>属性名称是任何完全限定的URI。</span> <span><a href="../../../javax/xml/validation/ValidatorHandler.html" title="javax.xml.validation中的类"><code>ValidatorHandler</code></a>可以识别属性名称,但无法更改当前值。</span> <span>某些属性值可能仅在特定上下文中是不可变的或可变的,例如验证之前,之中或之后。</span> </p>
<p> <span><a href="../../../javax/xml/validation/ValidatorHandler.html" title="javax.xml.validation中的类"><code>ValidatorHandler</code></a>不需要识别设置任何特定的属性名称。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>name</code> - 属性名称它是非空的完全限定的URI。
</dd>
<dd>
<code>object</code> - 该属性的请求的值。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../org/xml/sax/SAXNotRecognizedException.html" title="class in org.xml.sax">SAXNotRecognizedException</a></code> - 如果属性值无法分配或检索。
</dd>
<dd>
<span><code><a href="../../../org/xml/sax/SAXNotSupportedException.html" title="class in org.xml.sax">SAXNotSupportedException</a></code> - <a href="../../../javax/xml/validation/ValidatorHandler.html" title="javax.xml.validation中的类"><code>ValidatorHandler</code></a>识别属性名称但无法设置请求的值时。</span>
</dd>
<dd>
<code><a href="../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 当
<code>name</code>
<code>null</code>
</dd>
</dl> </li>
</ul> <a name="getProperty-java.lang.String-">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>getProperty</h4> <pre>public <a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> getProperty(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> name)
throws <a href="../../../org/xml/sax/SAXNotRecognizedException.html" title="class in org.xml.sax">SAXNotRecognizedException</a>,
<a href="../../../org/xml/sax/SAXNotSupportedException.html" title="class in org.xml.sax">SAXNotSupportedException</a></pre>
<div class="block">
<span>查找属性的值。</span>
<p> <span>属性名称是任何完全限定的URI。</span> <span><a href="../../../javax/xml/validation/ValidatorHandler.html" title="javax.xml.validation中的类"><code>ValidatorHandler</code></a>可以识别属性名称,但暂时无法返回其值。</span> <span>某些属性值可能仅在特定上下文中可用,例如验证之前,期间或之后。</span> </p>
<p> <span><a href="../../../javax/xml/validation/ValidatorHandler.html" title="javax.xml.validation中的类"><code>ValidatorHandler</code></a>不需要识别任何特定的属性名称。</span> </p>
<p> <span>实施者是免费的并被鼓励发明自己的属性使用自己的URI建立的名称。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>name</code> - 属性名称它是非空的完全限定的URI。
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
当前的属性值。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../org/xml/sax/SAXNotRecognizedException.html" title="class in org.xml.sax">SAXNotRecognizedException</a></code> - 如果不能分配或检索属性值。
</dd>
<dd>
<code><a href="../../../org/xml/sax/SAXNotSupportedException.html" title="class in org.xml.sax">SAXNotSupportedException</a></code> - 当XMLReader识别属性名称但此时无法确定其值。
</dd>
<dd>
<code><a href="../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 当时
<code>name</code>
<code>null</code>
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/xml/validation/ValidatorHandler.html#setProperty-java.lang.String-java.lang.Object-"><code>setProperty(String, Object)</code></a>
</dd>
</dl> </li>
</ul> </li>
</ul> </li>
</ul>
</div>
</div>