mirror of
https://github.com/fofolee/uTools-Manuals.git
synced 2025-07-01 14:02:44 +08:00
872 lines
66 KiB
HTML
872 lines
66 KiB
HTML
<div class="header">
|
||
<div class="subTitle">
|
||
compact2, compact3
|
||
</div>
|
||
<div class="subTitle">
|
||
javax.xml.validation
|
||
</div>
|
||
<h2 class="title" title="Class SchemaFactory">Class SchemaFactory</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.SchemaFactory</li>
|
||
</ul> </li>
|
||
</ul>
|
||
<div class="description">
|
||
<ul class="blockList">
|
||
<li class="blockList">
|
||
<hr/> <br/> <pre>public abstract class <span class="typeNameLabel">SchemaFactory</span>
|
||
extends <a href="../../../java/lang/Object.html" title="class in java.lang">Object</a></pre>
|
||
<div class="block">
|
||
<span>创建<a href="../../../javax/xml/validation/Schema.html" title="javax.xml.validation中的类"><code>Schema</code></a>对象的工厂。</span>
|
||
<span>入口点到验证API。</span>
|
||
<p> <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/validation/SchemaFactory.html" title="javax.xml.validation中的类"><code>SchemaFactory</code></a>类不是线程安全的。</span> <span>换句话说,应用程序有责任确保在任何给定的时刻最多有一个线程使用<a href="../../../javax/xml/validation/SchemaFactory.html" title="javax.xml.validation中的类"><code>SchemaFactory</code></a>对象。</span> <span>鼓励实施方法标记为<code>synchronized</code>以保护自己免受破坏的客户端。</span> </p>
|
||
<p> <span><a href="../../../javax/xml/validation/SchemaFactory.html" title="javax.xml.validation中的类"><code>SchemaFactory</code></a>不是<a href="../../../javax/xml/validation/SchemaFactory.html" title="javax.xml.validation中的类">入门的</a> 。</span> <span>虽然正在调用其中一个<code>newSchema</code>方法,但应用程序可能不会尝试递归调用<code>newSchema</code>方法,即使是从同一个线程。</span> </p>
|
||
<h2> <span><a name="schemaLanguage"></a>模式语言</span> </h2>
|
||
<p> <span>此规范使用命名空间URI来指定模式语言。</span> <span>下表显示了本规范定义的值。</span> </p>
|
||
<p> <span>为了符合规范,实施只需要支持W3C XML Schema 1.0。</span> <span>但是,如果选择支持此处列出的其他模式语言,则必须符合本规范中描述的相关行为。</span> </p>
|
||
<p> <span>这里未列出的模式语言预计将引入自己的URI来表示自己。</span> <span><a href="../../../javax/xml/validation/SchemaFactory.html" title="javax.xml.validation中的类"><code>SchemaFactory</code></a>类能够在运行时为其他架构语言定位其他实现。</span> </p>
|
||
<p> <span>请注意,由于XML DTD与解析过程密切相关,并且对解析过程有重大影响,因此无法将DTD验证定义为独立于解析的过程。</span> <span>因此,本规范未定义XML DTD的语义。</span> <span>这并不能阻止实现者以合适的方式实现它,但是<em>用户被警告说,在该接口上实现的任何DTD验证必然偏离XML 1.0中定义的XML DTD语义</em> 。</span> </p>
|
||
<span> value language <a href="../../../javax/xml/XMLConstants.html#W3C_XML_SCHEMA_NS_URI"><code>XMLConstants.W3C_XML_SCHEMA_NS_URI</code></a> ("<code>http://www.w3.org/2001/XMLSchema</code>") <a href="http://www.w3.org/TR/xmlschema-1">W3C XML Schema 1.0</a> <a href="../../../javax/xml/XMLConstants.html#RELAXNG_NS_URI"><code>XMLConstants.RELAXNG_NS_URI</code></a> ("<code>http://relaxng.org/ns/structure/1.0</code>") <a href="http://www.relaxng.org/">RELAX NG 1.0</a> </span>
|
||
<table border="1" cellpadding="2">
|
||
</table>
|
||
</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/SchemaFactory.html#SchemaFactory--">SchemaFactory</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="t1"><span><a href="javascript:show(1);">静态方法</a></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/ErrorHandler.html" title="interface in org.xml.sax">ErrorHandler</a></code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/validation/SchemaFactory.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/SchemaFactory.html" title="javax.xml.validation中的类"><code>SchemaFactory</code></a> 。</span>
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor" id="i1">
|
||
<td class="colFirst"><code>boolean</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/validation/SchemaFactory.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="altColor" id="i2">
|
||
<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/SchemaFactory.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="rowColor" id="i3">
|
||
<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/SchemaFactory.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/SchemaFactory.html" title="javax.xml.validation中的类"><code>SchemaFactory</code></a> 。</span>
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor" id="i4">
|
||
<td class="colFirst"><code>abstract boolean</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/validation/SchemaFactory.html#isSchemaLanguageSupported-java.lang.String-">isSchemaLanguageSupported</a></span>(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> schemaLanguage)</code>
|
||
<div class="block">
|
||
指定的模式是否支持此
|
||
<code>SchemaFactory</code> ?
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor" id="i5">
|
||
<td class="colFirst"><code>static <a href="../../../javax/xml/validation/SchemaFactory.html" title="class in javax.xml.validation">SchemaFactory</a></code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/validation/SchemaFactory.html#newInstance-java.lang.String-">newInstance</a></span>(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> schemaLanguage)</code>
|
||
<div class="block">
|
||
在查找的实现
|
||
<code>SchemaFactory</code>支持指定模式语言,并将其返回。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor" id="i6">
|
||
<td class="colFirst"><code>static <a href="../../../javax/xml/validation/SchemaFactory.html" title="class in javax.xml.validation">SchemaFactory</a></code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/validation/SchemaFactory.html#newInstance-java.lang.String-java.lang.String-java.lang.ClassLoader-">newInstance</a></span>(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> schemaLanguage, <a href="../../../java/lang/String.html" title="class in java.lang">String</a> factoryClassName, <a href="../../../java/lang/ClassLoader.html" title="class in java.lang">ClassLoader</a> classLoader)</code>
|
||
<div class="block">
|
||
从类名获取一个新的实例
|
||
<code>SchemaFactory</code> 。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor" id="i7">
|
||
<td class="colFirst"><code>abstract <a href="../../../javax/xml/validation/Schema.html" title="class in javax.xml.validation">Schema</a></code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/validation/SchemaFactory.html#newSchema--">newSchema</a></span>()</code>
|
||
<div class="block">
|
||
<span>创建一个特殊的<a href="../../../javax/xml/validation/Schema.html" title="javax.xml.validation中的类"><code>Schema</code></a>对象。</span>
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor" id="i8">
|
||
<td class="colFirst"><code><a href="../../../javax/xml/validation/Schema.html" title="class in javax.xml.validation">Schema</a></code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/validation/SchemaFactory.html#newSchema-java.io.File-">newSchema</a></span>(<a href="../../../java/io/File.html" title="class in java.io">File</a> schema)</code>
|
||
<div class="block">
|
||
将指定的File
|
||
<code>File</code>为模式,并将其作为
|
||
<code>Schema</code>返回。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor" id="i9">
|
||
<td class="colFirst"><code><a href="../../../javax/xml/validation/Schema.html" title="class in javax.xml.validation">Schema</a></code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/validation/SchemaFactory.html#newSchema-javax.xml.transform.Source-">newSchema</a></span>(<a href="../../../javax/xml/transform/Source.html" title="interface in javax.xml.transform">Source</a> schema)</code>
|
||
<div class="block">
|
||
将指定的源解析为模式,并将其作为模式返回。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor" id="i10">
|
||
<td class="colFirst"><code>abstract <a href="../../../javax/xml/validation/Schema.html" title="class in javax.xml.validation">Schema</a></code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/validation/SchemaFactory.html#newSchema-javax.xml.transform.Source:A-">newSchema</a></span>(<a href="../../../javax/xml/transform/Source.html" title="interface in javax.xml.transform">Source</a>[] schemas)</code>
|
||
<div class="block">
|
||
将指定的源解析为模式并将其作为模式返回。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor" id="i11">
|
||
<td class="colFirst"><code><a href="../../../javax/xml/validation/Schema.html" title="class in javax.xml.validation">Schema</a></code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/validation/SchemaFactory.html#newSchema-java.net.URL-">newSchema</a></span>(<a href="../../../java/net/URL.html" title="class in java.net">URL</a> schema)</code>
|
||
<div class="block">
|
||
将指定的URL
|
||
<code>URL</code>为模式,并将其作为
|
||
<code>Schema</code>返回。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor" id="i12">
|
||
<td class="colFirst"><code>abstract void</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/validation/SchemaFactory.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>以接收<code>newSchema</code>方法调用期间<code>newSchema</code>错误。</span>
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor" id="i13">
|
||
<td class="colFirst"><code>void</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/validation/SchemaFactory.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">
|
||
<span>设置了一个功能,这个<code>SchemaFactory</code> , <a href="../../../javax/xml/validation/Schema.html" title="javax.xml.validation中的类"><code>Schema</code>个</a>此工厂创建S,推而广之, <a href="../../../javax/xml/validation/Validator.html" title="javax.xml.validation中的类"><code>Validator</code>个</a> S和<a href="../../../javax/xml/validation/ValidatorHandler.html" title="javax.xml.validation中的类"><code>ValidatorHandler</code></a>那些创建小号<a href="../../../javax/xml/validation/Schema.html" title="javax.xml.validation中的类"><code>Schema</code></a>秒。</span>
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor" id="i14">
|
||
<td class="colFirst"><code>void</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/validation/SchemaFactory.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="rowColor" id="i15">
|
||
<td class="colFirst"><code>abstract void</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/validation/SchemaFactory.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> </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="SchemaFactory--">
|
||
<!-- --> </a>
|
||
<ul class="blockListLast">
|
||
<li class="blockList"> <h4>SchemaFactory</h4> <pre>protected SchemaFactory()</pre>
|
||
<div class="block">
|
||
<p> <span>派生类的构造方法</span> </p>
|
||
<p> <span>构造函数什么也不做。</span> </p>
|
||
<p> <span>派生类必须创建<a href="../../../javax/xml/validation/SchemaFactory.html" title="javax.xml.validation中的类"><code>SchemaFactory</code></a>具有<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> 。</span> </p>
|
||
</div> </li>
|
||
</ul> </li>
|
||
</ul>
|
||
<!-- ============ METHOD DETAIL ========== -->
|
||
<ul class="blockList">
|
||
<li class="blockList"><a name="method.detail">
|
||
<!-- --> </a> <h3>方法详细信息</h3> <a name="newInstance-java.lang.String-">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>newInstance</h4> <pre>public static <a href="../../../javax/xml/validation/SchemaFactory.html" title="class in javax.xml.validation">SchemaFactory</a> newInstance(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> schemaLanguage)</pre>
|
||
<div class="block">
|
||
<p> <span>在查找的实现<code>SchemaFactory</code>支持指定模式语言,并将其返回。</span> </p>
|
||
<p> <span>要找到给定模式语言的<code>SchemaFactory</code>对象,该方法按照以下顺序查找以下位置,其中“类加载器”是指上下文类加载器:</span> </p>
|
||
<ol>
|
||
<li> <span>如果系统属性<code>"javax.xml.validation.SchemaFactory:<i>schemaLanguage</i>"</code>存在(其中<i>schemaLanguage</i>是此方法的参数),则将其值作为类名读取。</span> <span>该方法将尝试通过使用类加载器来创建此类的新实例,并且如果成功创建则返回此类。</span> </li>
|
||
<li> <span><code>$java.home/lib/jaxp.properties</code>被读取,并且查找与上述系统属性的键相关联的值。</span> <span>如果存在,该值将像上面那样处理。</span> </li>
|
||
<li> <span>使用由<a href="../../../java/util/ServiceLoader.html" title="java.util中的类"><code>ServiceLoader</code></a>类定义的服务提供商加载工具尝试使用default loading mechanism定位并加载服务的<a href="../../../java/util/ServiceLoader.html#load-java.lang.Class-">实现</a> :服务提供商加载工具将使用<a href="../../../java/lang/Thread.html#getContextClassLoader--">current thread's context class loader</a>尝试加载服务。</span> <span>如果上下文类加载器为null, <a href="../../../java/lang/ClassLoader.html#getSystemClassLoader--">那么</a>将使用<a href="../../../java/lang/ClassLoader.html#getSystemClassLoader--">system class loader</a> 。</span> <br/> <span>每个潜在的服务提供商都需要实现方法<a href="../../../javax/xml/validation/SchemaFactory.html#isSchemaLanguageSupported-java.lang.String-"><code>isSchemaLanguageSupported(String schemaLanguage)</code></a> 。</span> <br/> <span>第一个服务提供者发现支持指定的模式语言被返回。</span> <br/> <span>在的情况下, <a href="../../../java/util/ServiceConfigurationError.html" title="java.util中的类"><code>ServiceConfigurationError</code></a>一个<a href="../../../javax/xml/validation/SchemaFactoryConfigurationError.html" title="javax.xml.validation中的类"><code>SchemaFactoryConfigurationError</code></a>将被抛出。</span> </li>
|
||
<li> <span>平台默认<code>SchemaFactory</code>位于实现具体的方式。</span> <span>对于W3C XML Schema,必须有一个默认的平台<code>SchemaFactory</code> 。</span> </li>
|
||
</ol>
|
||
<p> <span>如果一切都失败, <a href="../../../java/lang/IllegalArgumentException.html" title="java.lang中的类"><code>IllegalArgumentException</code></a>将被抛出。</span> </p>
|
||
<p> <span><strong>故障排除提示:</strong></span> </p>
|
||
<p> <span>有关如何解析属性文件,请参阅<a href="../../../java/util/Properties.html#load-java.io.InputStream-"><code>Properties.load(java.io.InputStream)</code></a> 。</span> <span>特别地,冒号:'需要在属性文件中进行转义,因此请确保模式语言URI在其中正确转义。</span> <span>例如:</span> </p>
|
||
<pre> <span>http\://www.w3.org/2001/XMLSchema=org.acme.foo.XSSchemaFactory</span> </pre>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<span><code>schemaLanguage</code> - 指定返回的SchemaFactory将理解的模式语言。</span>
|
||
<span>有关可能的值,请参阅<a href="#schemaLanguage">the list of available schema languages</a> 。</span>
|
||
</dd>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
新实例一个
|
||
<code>SchemaFactory</code>
|
||
</dd>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果没有模式语言的实现可用。
|
||
</dd>
|
||
<dd>
|
||
<code><a href="../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
|
||
<code>schemaLanguage</code>参数为空。
|
||
</dd>
|
||
<dd>
|
||
<code><a href="../../../javax/xml/validation/SchemaFactoryConfigurationError.html" title="class in javax.xml.validation">SchemaFactoryConfigurationError</a></code> - 如果遇到配置错误。
|
||
</dd>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<a href="../../../javax/xml/validation/SchemaFactory.html#newInstance-java.lang.String-java.lang.String-java.lang.ClassLoader-"><code>newInstance(String schemaLanguage, String factoryClassName, ClassLoader classLoader)</code></a>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="newInstance-java.lang.String-java.lang.String-java.lang.ClassLoader-">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>newInstance</h4> <pre>public static <a href="../../../javax/xml/validation/SchemaFactory.html" title="class in javax.xml.validation">SchemaFactory</a> newInstance(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> schemaLanguage,
|
||
<a href="../../../java/lang/String.html" title="class in java.lang">String</a> factoryClassName,
|
||
<a href="../../../java/lang/ClassLoader.html" title="class in java.lang">ClassLoader</a> classLoader)</pre>
|
||
<div class="block">
|
||
<p> <span>从类名获取一个新的实例<code>SchemaFactory</code> 。</span> <span><code>SchemaFactory</code>如果指定的工厂类名支持指定模式语言返回。</span> <span>在类路径中有多个提供程序时,此功能很有用。</span> <span>它可以更好地控制应用程序,因为它可以指定应该加载哪个提供程序。</span> </p>
|
||
<h2> <span>提示进行故障排除</span> </h2>
|
||
<p> <span>设置<code>jaxp.debug</code>系统属性将导致此方法打印大量调试消息到<code>System.err</code>关于它正在做什么和在哪里看。</span> </p>
|
||
<p> <span>如果您有问题,请尝试:</span> </p>
|
||
<pre> <span>java -Djaxp.debug=1 YourProgram ....</span> </pre>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<span><code>schemaLanguage</code> - 指定返回的<code>SchemaFactory</code>将理解的架构语言。</span>
|
||
<span>有关可能的值,请参见<a href="#schemaLanguage">the list of available schema languages</a> 。</span>
|
||
</dd>
|
||
<dd>
|
||
<code>factoryClassName</code> -完全限定工厂类名称,提供实施
|
||
<code>javax.xml.validation.SchemaFactory</code> 。
|
||
</dd>
|
||
<dd>
|
||
<span><code>classLoader</code> - <code>ClassLoader</code>用于加载工厂类。</span>
|
||
<span>如果<code>null</code>当前的<code>Thread</code>的上下文classLoader用于加载工厂类。</span>
|
||
</dd>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
新实例的一个
|
||
<code>SchemaFactory</code>
|
||
</dd>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果
|
||
<code>factoryClassName</code>是
|
||
<code>null</code> ,或者工厂类无法加载,实例化或不支持schemLanguage参数中
|
||
<code>schemLanguage</code>的模式语言。
|
||
</dd>
|
||
<dd>
|
||
<code><a href="../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
|
||
<code>schemaLanguage</code>参数为空。
|
||
</dd>
|
||
<dt>
|
||
<span class="simpleTagLabel">从以下版本开始:</span>
|
||
</dt>
|
||
<dd>
|
||
1.6
|
||
</dd>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<a href="../../../javax/xml/validation/SchemaFactory.html#newInstance-java.lang.String-"><code>newInstance(String schemaLanguage)</code></a>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="isSchemaLanguageSupported-java.lang.String-">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>isSchemaLanguageSupported</h4> <pre>public abstract boolean isSchemaLanguageSupported(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> schemaLanguage)</pre>
|
||
<div class="block">
|
||
<p>这个<code>SchemaFactory</code>是否支持指定的模式? </p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<span><code>schemaLanguage</code> - 指定返回的<code>SchemaFactory</code>将理解的架构语言。</span>
|
||
<span><code>schemaLanguage</code>必须指定一个<a href="#schemaLanguage">valid</a>模式语言。</span>
|
||
</dd>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
<code>true</code>如果
|
||
<code>SchemaFactory</code>支持
|
||
<code>schemaLanguage</code> ,否则
|
||
<code>false</code> 。
|
||
</dd>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
|
||
<code>schemaLanguage</code>是
|
||
<code>null</code> 。
|
||
</dd>
|
||
<dd>
|
||
<code><a href="../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果
|
||
<code>schemaLanguage.length() == 0</code>或
|
||
<code>schemaLanguage</code>未指定
|
||
<a href="#schemaLanguage">valid</a>模式语言。
|
||
</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/SchemaFactory.html" title="javax.xml.validation中的类"><code>SchemaFactory</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>
|
||
特征的当前值(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/SchemaFactory.html" title="javax.xml.validation中的类"><code>SchemaFactory</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/SchemaFactory.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>SchemaFactory</code> , <a href="../../../javax/xml/validation/Schema.html" title="javax.xml.validation中的类"><code>Schema</code>个</a>此工厂创建S,推而广之, <a href="../../../javax/xml/validation/Validator.html" title="javax.xml.validation中的类"><code>Validator</code>个</a> S和<a href="../../../javax/xml/validation/ValidatorHandler.html" title="javax.xml.validation中的类"><code>ValidatorHandler</code></a>那些创建小号<a href="../../../javax/xml/validation/Schema.html" title="javax.xml.validation中的类"><code>Schema</code></a>秒。</span> </p>
|
||
<p> <span>实施者和开发人员应特别<a href="../../../javax/xml/validation/Schema.html" title="javax.xml.validation中的类">注意</a>如何处理由<a href="../../../javax/xml/validation/SchemaFactory.html#newSchema--"><code>newSchema()</code></a>返回的特殊<a href="../../../javax/xml/validation/Schema.html" title="javax.xml.validation中的类"><code>Schema</code></a>对象。</span> <span>在某些情况下,例如,当<code>SchemaFactory</code>和实际加载模式的类来自不同的实现时, <code>SchemaFactory</code>功能可能无法自动继承。</span> <span>开发人员应确保在两个地方明确设置诸如安全处理等功能。</span> </p>
|
||
<p> <span>功能名称是任何完全限定的URI。</span> <span><a href="../../../javax/xml/validation/SchemaFactory.html" title="javax.xml.validation中的类"><code>SchemaFactory</code></a>可以公开特征值,但无法更改当前值。</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/SchemaFactory.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/SchemaFactory.html" title="javax.xml.validation中的类"><code>SchemaFactory</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/SchemaFactory.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/SchemaFactory.html" title="javax.xml.validation中的类"><code>SchemaFactory</code></a>可以识别属性名称,但无法更改当前值。</span> </p>
|
||
<p> <span>实现JAXP 1.5或更高版本的所有实现都需要支持<a href="../../../javax/xml/XMLConstants.html#ACCESS_EXTERNAL_DTD"><code>XMLConstants.ACCESS_EXTERNAL_DTD</code></a>和<a href="../../../javax/xml/XMLConstants.html#ACCESS_EXTERNAL_SCHEMA"><code>XMLConstants.ACCESS_EXTERNAL_SCHEMA</code></a>属性。</span> </p>
|
||
<ul>
|
||
<li><p> <span>访问模式文件中的外部DTD仅限于<a href="../../../javax/xml/XMLConstants.html#ACCESS_EXTERNAL_DTD"><code>XMLConstants.ACCESS_EXTERNAL_DTD</code></a>属性指定的<a href="../../../javax/xml/XMLConstants.html#ACCESS_EXTERNAL_DTD">协议</a> 。</span> <span>如果访问被创造新模式的过程中,由于该物业的限制否认, <a href="../../../org/xml/sax/SAXException.html" title="在org.xml.sax中的类"><code>SAXException</code></a>将被抛出<a href="../../../javax/xml/validation/SchemaFactory.html#newSchema-javax.xml.transform.Source-"><code>newSchema(Source)</code></a>或<a href="../../../javax/xml/validation/SchemaFactory.html#newSchema-java.io.File-"><code>newSchema(File)</code></a>或<a href="../../../javax/xml/validation/SchemaFactory.html#newSchema-java.net.URL-"><code>newSchema(URL)</code></a>或或<a href="../../../javax/xml/validation/SchemaFactory.html#newSchema-javax.xml.transform.Source:A-"><code>newSchema(Source[])</code></a>方法。</span> </p><p> <span>访问xml源文件中的外部DTD仅限于<a href="../../../javax/xml/XMLConstants.html#ACCESS_EXTERNAL_DTD"><code>XMLConstants.ACCESS_EXTERNAL_DTD</code></a>属性指定的<a href="../../../javax/xml/XMLConstants.html#ACCESS_EXTERNAL_DTD">协议</a> 。</span> <span>如果访问被验证过程中,由于该物业的限制否认, <a href="../../../org/xml/sax/SAXException.html" title="在org.xml.sax中的类"><code>SAXException</code></a>将被抛出<a href="../../../javax/xml/validation/Validator.html#validate-javax.xml.transform.Source-"><code>Validator.validate(Source)</code></a>或<a href="../../../javax/xml/validation/Validator.html#validate-javax.xml.transform.Source-javax.xml.transform.Result-"><code>Validator.validate(Source, Result)</code></a>方法。</span> </p><p> <span>由<a href="../../../javax/xml/XMLConstants.html#ACCESS_EXTERNAL_SCHEMA">schemaLocation</a>属性访问外部引用集仅限于<a href="../../../javax/xml/XMLConstants.html#ACCESS_EXTERNAL_SCHEMA"><code>XMLConstants.ACCESS_EXTERNAL_SCHEMA</code></a>属性指定的<a href="../../../javax/xml/XMLConstants.html#ACCESS_EXTERNAL_SCHEMA">协议</a> 。</span> <span>如果访问被验证过程中,由于该物业的限制否认, <a href="../../../org/xml/sax/SAXException.html" title="在org.xml.sax中的类"><code>SAXException</code></a>将被抛出<a href="../../../javax/xml/validation/Validator.html#validate-javax.xml.transform.Source-"><code>Validator.validate(Source)</code></a>或<a href="../../../javax/xml/validation/Validator.html#validate-javax.xml.transform.Source-javax.xml.transform.Result-"><code>Validator.validate(Source, Result)</code></a>方法。</span> </p><p> <span>由Import和Include元素访问外部引用设置仅限于<a href="../../../javax/xml/XMLConstants.html#ACCESS_EXTERNAL_SCHEMA"><code>XMLConstants.ACCESS_EXTERNAL_SCHEMA</code></a>属性指定的<a href="../../../javax/xml/XMLConstants.html#ACCESS_EXTERNAL_SCHEMA">协议</a> 。</span> <span>如果访问被创造新模式的过程中,由于该物业的限制否认, <a href="../../../org/xml/sax/SAXException.html" title="在org.xml.sax中的类"><code>SAXException</code></a>将被抛出<a href="../../../javax/xml/validation/SchemaFactory.html#newSchema-javax.xml.transform.Source-"><code>newSchema(Source)</code></a>或<a href="../../../javax/xml/validation/SchemaFactory.html#newSchema-java.io.File-"><code>newSchema(File)</code></a>或<a href="../../../javax/xml/validation/SchemaFactory.html#newSchema-java.net.URL-"><code>newSchema(URL)</code></a>或<a href="../../../javax/xml/validation/SchemaFactory.html#newSchema-javax.xml.transform.Source:A-"><code>newSchema(Source[])</code></a>方法。</span> </p></li>
|
||
</ul>
|
||
</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/SchemaFactory.html" title="javax.xml.validation中的类"><code>SchemaFactory</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="blockList">
|
||
<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/SchemaFactory.html" title="javax.xml.validation中的类"><code>SchemaFactory</code></a>可以识别属性名称,但暂时无法返回其值。</span> </p>
|
||
<p> <span><a href="../../../javax/xml/validation/SchemaFactory.html" title="javax.xml.validation中的类"><code>SchemaFactory</code></a> s不需要识别任何特定的属性名称。</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/SchemaFactory.html#setProperty-java.lang.String-java.lang.Object-"><code>setProperty(String, Object)</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>以接收在<code>newSchema</code>方法调用期间<code>newSchema</code>错误。</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>Throwable</code></a> (或其衍生类的实例)从<a href="../../../org/xml/sax/ErrorHandler.html" title="org.xml.sax中的接口"><code>ErrorHandler</code></a>抛出,则<code>newSchema</code>方法的调用者将抛出相同的<a href="../../../java/lang/Throwable.html" title="java.lang中的类"><code>Throwable</code></a>对象。</span> </p>
|
||
<p> <span><a href="../../../javax/xml/validation/SchemaFactory.html" title="javax.xml.validation中的类"><code>SchemaFactory</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="../../../javax/xml/validation/Schema.html" title="javax.xml.validation中的类"><code>Schema</code></a>被解析时,应用程序也可以调用此方法。</span> </p>
|
||
<p> <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>
|
||
<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/SchemaFactory.html" title="javax.xml.validation中的类"><code>SchemaFactory</code></a>对象时,最初该字段设置为null。</span> <span>此字段<em>不会</em>被继承到<a href="../../../javax/xml/validation/Schema.html" title="javax.xml.validation中的类"><code>Schema</code>个</a> S, <a href="../../../javax/xml/validation/Validator.html" title="javax.xml.validation中的类"><code>Validator</code>个</a> S,或<a href="../../../javax/xml/validation/ValidatorHandler.html" title="javax.xml.validation中的类"><code>ValidatorHandler</code>个</a> S中的从这个创建<a href="../../../javax/xml/validation/SchemaFactory.html" title="javax.xml.validation中的类"><code>SchemaFactory</code></a> 。</span> </p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<span><code>errorHandler</code> - 要设置的新的错误处理程序。</span>
|
||
<span>该参数可以是<code>null</code> 。</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/SchemaFactory.html" title="javax.xml.validation中的类"><code>SchemaFactory</code></a> 。</span>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
<span>此方法返回通过<a href="../../../javax/xml/validation/SchemaFactory.html#setErrorHandler-org.xml.sax.ErrorHandler-"><code>setErrorHandler(ErrorHandler)</code></a>方法最后设置的对象,如果该方法从未调用,则为null,因为此<a href="../../../javax/xml/validation/SchemaFactory.html" title="javax.xml.validation中的类"><code>SchemaFactory</code></a>已创建。</span>
|
||
</dd>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<a href="../../../javax/xml/validation/SchemaFactory.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/SchemaFactory.html" title="javax.xml.validation中的类"><code>SchemaFactory</code></a>在解析模式时需要定位外部资源时使用<a href="../../../org/w3c/dom/ls/LSResourceResolver.html" title="界面在org.w3c.dom.ls中"><code>LSResourceResolver</code></a> ,尽管构成“定位外部资源”的方式取决于每个模式语言。</span> <span>例如,对于W3C XML Schema,这包括文件<code><include></code> d或<code><import></code> ed,以及从模式文件引用的DTD等。</span> </p>
|
||
<p> <span>即使在<a href="../../../javax/xml/validation/Schema.html" title="javax.xml.validation中的类"><code>Schema</code></a>被解析时,应用程序也可以调用此方法。</span> </p>
|
||
<p> <span>当<a href="../../../org/w3c/dom/ls/LSResourceResolver.html" title="界面在org.w3c.dom.ls中"><code>LSResourceResolver</code></a>为空时,实现将表现为如下设置以下<a href="../../../org/w3c/dom/ls/LSResourceResolver.html" title="界面在org.w3c.dom.ls中"><code>LSResourceResolver</code></a> :</span> </p>
|
||
<pre> <span>class DumbDOMResourceResolver 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>LSResourceResolver</code></a>抛出一个<a href="../../../java/lang/RuntimeException.html" title="java.lang中的类"><code>RuntimeException</code></a> (或其派生类的实例),则<a href="../../../javax/xml/validation/SchemaFactory.html" title="javax.xml.validation中的类"><code>SchemaFactory</code></a>将中止解析和的呼叫者<code>newSchema</code>方法将接收相同<a href="../../../java/lang/RuntimeException.html" title="java.lang中的类"><code>RuntimeException</code></a> 。</span> </p>
|
||
<p> <span>当创建一个新的<a href="../../../javax/xml/validation/SchemaFactory.html" title="javax.xml.validation中的类"><code>SchemaFactory</code></a>对象时,最初该字段设置为null。</span> <span>该字段<em>不会</em>被继承为<a href="../../../javax/xml/validation/Schema.html" title="javax.xml.validation中的类"><code>Schema</code></a> s, <a href="../../../javax/xml/validation/Validator.html" title="javax.xml.validation中的类"><code>Validator</code></a> s或<a href="../../../javax/xml/validation/ValidatorHandler.html" title="javax.xml.validation中的类"><code>ValidatorHandler</code></a> s,这是从此<a href="../../../javax/xml/validation/SchemaFactory.html" title="javax.xml.validation中的类"><code>SchemaFactory</code></a>创建的。</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/SchemaFactory.html" title="javax.xml.validation中的类"><code>SchemaFactory</code></a> 。</span>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
<span>此方法返回通过<a href="../../../javax/xml/validation/SchemaFactory.html#setResourceResolver-org.w3c.dom.ls.LSResourceResolver-"><code>setResourceResolver(LSResourceResolver)</code></a>方法最后设置的对象,如果该方法从未调用,则为null,因为此<a href="../../../javax/xml/validation/SchemaFactory.html" title="javax.xml.validation中的类"><code>SchemaFactory</code></a>已创建。</span>
|
||
</dd>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<a href="../../../javax/xml/validation/SchemaFactory.html#setErrorHandler-org.xml.sax.ErrorHandler-"><code>setErrorHandler(ErrorHandler)</code></a>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="newSchema-javax.xml.transform.Source-">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>newSchema</h4> <pre>public <a href="../../../javax/xml/validation/Schema.html" title="class in javax.xml.validation">Schema</a> newSchema(<a href="../../../javax/xml/transform/Source.html" title="interface in javax.xml.transform">Source</a> schema)
|
||
throws <a href="../../../org/xml/sax/SAXException.html" title="class in org.xml.sax">SAXException</a></pre>
|
||
<div class="block">
|
||
<p> <span>将指定的源解析为模式,并将其作为模式返回。</span> </p>
|
||
<p> <span>这是一个方便的方法<a href="../../../javax/xml/validation/SchemaFactory.html#newSchema-javax.xml.transform.Source:A-"><code>newSchema(Source[] schemas)</code></a> 。</span> </p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>schema</code> - 表示模式的源。
|
||
</dd>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
新的
|
||
<code>Schema</code>从解析
|
||
<code>schema</code> 。
|
||
</dd>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../../org/xml/sax/SAXException.html" title="class in org.xml.sax">SAXException</a></code> - 如果解析期间发生SAX错误。
|
||
</dd>
|
||
<dd>
|
||
<code><a href="../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
|
||
<code>schema</code>为空。
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="newSchema-java.io.File-">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>newSchema</h4> <pre>public <a href="../../../javax/xml/validation/Schema.html" title="class in javax.xml.validation">Schema</a> newSchema(<a href="../../../java/io/File.html" title="class in java.io">File</a> schema)
|
||
throws <a href="../../../org/xml/sax/SAXException.html" title="class in org.xml.sax">SAXException</a></pre>
|
||
<div class="block">
|
||
<p> <span>将指定的File <code>File</code>为模式,并将其作为<code>Schema</code>返回。</span> </p>
|
||
<p> <span>这是一个方便的方法<a href="../../../javax/xml/validation/SchemaFactory.html#newSchema-javax.xml.transform.Source-"><code>newSchema(Source schema)</code></a> 。</span> </p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>schema</code> - 表示模式的文件。
|
||
</dd>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
新的
|
||
<code>Schema</code>从解析
|
||
<code>schema</code> 。
|
||
</dd>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../../org/xml/sax/SAXException.html" title="class in org.xml.sax">SAXException</a></code> - 解析时是否发生SAX错误。
|
||
</dd>
|
||
<dd>
|
||
<code><a href="../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
|
||
<code>schema</code>为空。
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="newSchema-java.net.URL-">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>newSchema</h4> <pre>public <a href="../../../javax/xml/validation/Schema.html" title="class in javax.xml.validation">Schema</a> newSchema(<a href="../../../java/net/URL.html" title="class in java.net">URL</a> schema)
|
||
throws <a href="../../../org/xml/sax/SAXException.html" title="class in org.xml.sax">SAXException</a></pre>
|
||
<div class="block">
|
||
<p> <span>将指定的URL <code>URL</code>为模式,并将其作为<code>Schema</code>返回。</span> </p>
|
||
<p> <span>这是一个方便的方法<a href="../../../javax/xml/validation/SchemaFactory.html#newSchema-javax.xml.transform.Source-"><code>newSchema(Source schema)</code></a> 。</span> </p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>schema</code> -
|
||
<code>URL</code> ,表示一个模式。
|
||
</dd>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
新的
|
||
<code>Schema</code>从解析
|
||
<code>schema</code> 。
|
||
</dd>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../../org/xml/sax/SAXException.html" title="class in org.xml.sax">SAXException</a></code> - 解析时是否发生SAX错误。
|
||
</dd>
|
||
<dd>
|
||
<code><a href="../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
|
||
<code>schema</code>为空。
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="newSchema-javax.xml.transform.Source:A-">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>newSchema</h4> <pre>public abstract <a href="../../../javax/xml/validation/Schema.html" title="class in javax.xml.validation">Schema</a> newSchema(<a href="../../../javax/xml/transform/Source.html" title="interface in javax.xml.transform">Source</a>[] schemas)
|
||
throws <a href="../../../org/xml/sax/SAXException.html" title="class in org.xml.sax">SAXException</a></pre>
|
||
<div class="block">
|
||
<span>将指定的源解析为模式并将其作为模式返回。</span>
|
||
<p> <span>被调用者将读取所有<a href="../../../javax/xml/transform/Source.html" title="javax.xml.transform中的接口"><code>Source</code></a>并将它们组合成一个模式。</span> <span>组合的确切语义取决于创建此<a href="../../../javax/xml/validation/SchemaFactory.html" title="javax.xml.validation中的类"><code>SchemaFactory</code></a>对象的模式语言。</span> </p>
|
||
<p> <span>当设置了一个<a href="../../../org/xml/sax/ErrorHandler.html" title="org.xml.sax中的接口"><code>ErrorHandler</code></a>时,被调用者将向处理程序报告源中发现的所有错误。</span> <span>如果处理程序引发异常,它将中止模式编译,并从该方法抛出相同的异常。</span> <span>此外,在将错误报告给处理程序之后,被叫方可以通过抛出来中止进一步的处理。</span> <span>如果未设置错误处理程序,则被调用者将在源中抛出第一个错误。</span> </p>
|
||
<h2> <span>W3C XML Schema 1.0</span> </h2>
|
||
<p> <span>生成的模式包含指定源的组件。</span> <span>如果将所有这些源都使用适用于schemaLocation和命名空间的值导入到具有不同targetNamespace的单个模式文档中,并且导入元素的顺序与源的顺序相同,那么将实现相同的结果。</span> <span>XML Schema建议的第4.2.3节介绍了处理器在这方面的选择。</span> <span>处理器在处理JAXP模式源和XML Schema导入时应该是一致的,JAXP兼容解析器之间的行为可能会有所不同;</span> <span>特别地,解析器可以选择忽略除了第一个<import>对于给定的命名空间,而不管schemaLocation中提供的信息。</span> </p>
|
||
<p> <span>如果解析的模式集合包含XML Schema规范第5.1节中指定的错误,则该错误必须报告给<a href="../../../org/xml/sax/ErrorHandler.html" title="org.xml.sax中的接口"><code>ErrorHandler</code></a> 。</span> </p>
|
||
<h2> <span>RELAX NG</span> </h2>
|
||
<p> <span>对于RELAX NG,这种方法必须抛出<a href="../../../java/lang/UnsupportedOperationException.html" title="java.lang中的类"><code>UnsupportedOperationException</code></a>如果<code>schemas.length!=1</code> 。</span> </p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<span><code>schemas</code> - 要解析的输入。</span>
|
||
<span><a href="../../../javax/xml/validation/SchemaFactory.html" title="javax.xml.validation中的类"><code>SchemaFactory</code></a>需要认识到<a href="../../../javax/xml/transform/sax/SAXSource.html" title="javax.xml.transform.sax中的类"><code>SAXSource</code></a> , <a href="../../../javax/xml/transform/stream/StreamSource.html" title="javax.xml.transform.stream中的类"><code>StreamSource</code></a> , <a href="../../../javax/xml/transform/stax/StAXSource.html" title="javax.xml.transform.stax中的类"><code>StAXSource</code></a>和<a href="../../../javax/xml/transform/dom/DOMSource.html" title="javax.xml.transform.dom中的类"><code>DOMSource</code></a> 。</span>
|
||
<span>输入模式必须是XML文档或XML元素,且不能为null。</span>
|
||
<span>为了向后兼容,传递文档或元素以外的任何结果都是依赖于实现的。</span>
|
||
<span>实现必须识别和处理输入或抛出IllegalArgumentException。</span>
|
||
</dd>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
<span>始终返回一个非空的有效<a href="../../../javax/xml/validation/Schema.html" title="javax.xml.validation中的类"><code>Schema</code></a>对象。</span>
|
||
<span>请注意,当报告错误时,不保证返回的<a href="../../../javax/xml/validation/Schema.html" title="javax.xml.validation中的类"><code>Schema</code></a>对象是有意义的。</span>
|
||
</dd>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<span><code><a href="../../../org/xml/sax/SAXException.html" title="class in org.xml.sax">SAXException</a></code> - 如果在处理指定的输入期间发现错误。</span>
|
||
<span>当设置了<a href="../../../org/xml/sax/ErrorHandler.html" title="org.xml.sax中的接口"><code>ErrorHandler</code></a>时,首先会报错。</span>
|
||
<span>见<a href="../../../javax/xml/validation/SchemaFactory.html#setErrorHandler-org.xml.sax.ErrorHandler-"><code>setErrorHandler(ErrorHandler)</code></a> 。</span>
|
||
</dd>
|
||
<dd>
|
||
<code><a href="../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
|
||
<code>schemas</code>参数本身为空或数组中的任何项为空。
|
||
</dd>
|
||
<dd>
|
||
<code><a href="../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果该方法中没有识别到数组中的任何项目。
|
||
</dd>
|
||
<dd>
|
||
<code><a href="../../../java/lang/UnsupportedOperationException.html" title="class in java.lang">UnsupportedOperationException</a></code> - 如果模式语言不支持此操作。
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="newSchema--">
|
||
<!-- --> </a>
|
||
<ul class="blockListLast">
|
||
<li class="blockList"> <h4>newSchema</h4> <pre>public abstract <a href="../../../javax/xml/validation/Schema.html" title="class in javax.xml.validation">Schema</a> newSchema()
|
||
throws <a href="../../../org/xml/sax/SAXException.html" title="class in org.xml.sax">SAXException</a></pre>
|
||
<div class="block">
|
||
<span>创建一个特殊的<a href="../../../javax/xml/validation/Schema.html" title="javax.xml.validation中的类"><code>Schema</code></a>对象。</span>
|
||
<p> <span>返回的<a href="../../../javax/xml/validation/Schema.html" title="javax.xml.validation中的类"><code>Schema</code></a>对象的确切语义取决于创建此<a href="../../../javax/xml/validation/SchemaFactory.html" title="javax.xml.validation中的类"><code>SchemaFactory</code></a>的模式语言。</span> </p>
|
||
<p> <span>此外,允许实现使用实现特定的属性/功能来改变此方法的语义。</span> </p>
|
||
<p> <span>实施者和开发人员应该特别<a href="../../../javax/xml/validation/Schema.html" title="javax.xml.validation中的类">注意</a>这个<a href="../../../javax/xml/validation/SchemaFactory.html" title="javax.xml.validation中的类"><code>SchemaFactory</code></a>所设置的功能如何处理这个特殊的<a href="../../../javax/xml/validation/Schema.html" title="javax.xml.validation中的类"><code>Schema</code></a> 。</span> <span>在某些情况下,例如,当<a href="../../../javax/xml/validation/SchemaFactory.html" title="javax.xml.validation中的类"><code>SchemaFactory</code></a>和类实际加载模式来自不同的实现时, <a href="../../../javax/xml/validation/SchemaFactory.html" title="javax.xml.validation中的类"><code>SchemaFactory</code></a>功能可能无法自动继承。</span> <span>开发人员应确保在两个地方明确设置诸如安全处理等功能。</span> </p>
|
||
<h2> <span>W3C XML Schema 1.0</span> </h2>
|
||
<p> <span>对于XML模式,此方法创建一个<a href="../../../javax/xml/validation/Schema.html" title="javax.xml.validation中的类"><code>Schema</code></a>对象,通过使用文档中指定的位置提示来执行验证。</span> </p>
|
||
<p> <span>返回的<a href="../../../javax/xml/validation/Schema.html" title="javax.xml.validation中的类"><code>Schema</code></a>对象假设如果文档引用模式位置提示中的相同URL,则它们将始终解析为同一模式文档。</span> <span>此asusmption允许实现重用解析文档的结果,以便针对相同模式的多个验证运行速度更快。</span> </p>
|
||
<p> <span>请注意,使用模式位置提示会引入拒绝服务攻击的漏洞。</span> </p>
|
||
<h2> <span>RELAX NG</span> </h2>
|
||
<p> <span>RELAX NG不支持此操作。</span> </p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
<span>始终返回非空有效的<a href="../../../javax/xml/validation/Schema.html" title="javax.xml.validation中的类"><code>Schema</code></a>对象。</span>
|
||
</dd>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../../java/lang/UnsupportedOperationException.html" title="class in java.lang">UnsupportedOperationException</a></code> - 被调用者不支持此操作。
|
||
</dd>
|
||
<dd>
|
||
<code><a href="../../../org/xml/sax/SAXException.html" title="class in org.xml.sax">SAXException</a></code> - 如果此操作受支持但由于某些原因失败。
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> </li>
|
||
</ul> </li>
|
||
</ul>
|
||
</div>
|
||
</div> |