uTools-Manuals/docs/java/org/xml/sax/ContentHandler.html

533 lines
33 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">
org.xml.sax
</div>
<h2 class="title" title="Interface ContentHandler">Interface ContentHandler</h2>
</div><div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>
All Known Subinterfaces:
</dt>
<dd>
<span><a href="../../../javax/xml/transform/sax/TemplatesHandler.html" title="javax.xml.transform.sax中的接口">TemplatesHandler</a> <a href="../../../javax/xml/transform/sax/TransformerHandler.html" title="javax.xml.transform.sax中的接口">TransformerHandler</a> <a href="../../../javax/xml/bind/UnmarshallerHandler.html" title="javax.xml.bind中的接口">UnmarshallerHandler</a></span>
</dd>
</dl>
<dl>
<dt>
所有已知实现类:
</dt>
<dd>
<span><a href="../../../org/xml/sax/helpers/DefaultHandler.html" title="org.xml.sax.helpers中的类">DefaultHandler</a> <a href="../../../org/xml/sax/ext/DefaultHandler2.html" title="org.xml.sax.ext中的类">DefaultHandler2</a> <a href="../../../javax/xml/validation/ValidatorHandler.html" title="javax.xml.validation中的类">ValidatorHandler</a> <a href="../../../org/xml/sax/helpers/XMLFilterImpl.html" title="org.xml.sax.helpers中的类">XMLFilterImpl</a> <a href="../../../org/xml/sax/helpers/XMLReaderAdapter.html" title="org.xml.sax.helpers中的类">XMLReaderAdapter</a></span>
</dd>
</dl>
<hr/> <br/> <pre>public interface <span class="typeNameLabel">ContentHandler</span></pre>
<div class="block">
<span>接收文档逻辑内容的通知。</span>
<blockquote>
<span><em>This module, both source code and documentation, is in the Public Domain, and comes with <strong>NO WARRANTY</strong>.</em> See <a href="http://www.saxproject.org">http://www.saxproject.org</a> for further information.</span>
</blockquote>
<p> <span>这是大多数SAX应用程序实现的主要界面如果应用程序需要被通知基本的解析事件它将实现该接口并使用<a href="../../../org/xml/sax/XMLReader.html#setContentHandler-org.xml.sax.ContentHandler-"><code>setContentHandler</code></a>方法向SAX解析器注册一个实例。</span> <span>解析器使用实例来报告基本的文档相关事件,如元素和字符数据的开始和结束。</span> </p>
<p> <span>此界面中的事件顺序非常重要,并且反映了文档本身中信息的顺序。</span> <span>例如,所有元素的内容(字符数据,处理指令和/或子元素将按顺序显示在startElement事件和相应的endElement事件之间。</span> </p>
<p> <span>此接口类似于现在已弃用的SAX 1.0 DocumentHandler接口但它增加了对命名空间的支持以及报告跳过的实体在非验证XML处理器中</span> </p>
<p> <span>实施者应该注意, <code>java.net</code>包中还有一个<code>ContentHandler</code>类;</span> <span>这意味着这可能是一个坏主意</span> </p>
<pre> <span>import java.net.*;
import org.xml.sax.*;</span> </pre>
<p> <span>实际上“import ... *”通常是一个乱码编程的标志所以用户应该考虑这个功能而不是一个bug。</span> </p>
</div>
<dl>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
SAX 2.0
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<span><a href="../../../org/xml/sax/XMLReader.html" title="org.xml.sax中的接口"><code>XMLReader</code></a> <a href="../../../org/xml/sax/DTDHandler.html" title="org.xml.sax中的接口"><code>DTDHandler</code></a> <a href="../../../org/xml/sax/ErrorHandler.html" title="org.xml.sax中的接口"><code>ErrorHandler</code></a></span>
</dd>
</dl> </li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== 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>
</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>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/xml/sax/ContentHandler.html#characters-char:A-int-int-">characters</a></span>(char[] ch, int start, int length)</code>
<div class="block">
接收字符数据通知。
</div> </td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/xml/sax/ContentHandler.html#endDocument--">endDocument</a></span>()</code>
<div class="block">
接收文件结束的通知。
</div> </td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/xml/sax/ContentHandler.html#endElement-java.lang.String-java.lang.String-java.lang.String-">endElement</a></span>(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> uri, <a href="../../../java/lang/String.html" title="class in java.lang">String</a> localName, <a href="../../../java/lang/String.html" title="class in java.lang">String</a> qName)</code>
<div class="block">
接收元素结尾的通知。
</div> </td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/xml/sax/ContentHandler.html#endPrefixMapping-java.lang.String-">endPrefixMapping</a></span>(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> prefix)</code>
<div class="block">
结束前缀URI映射的范围。
</div> </td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/xml/sax/ContentHandler.html#ignorableWhitespace-char:A-int-int-">ignorableWhitespace</a></span>(char[] ch, int start, int length)</code>
<div class="block">
在元素内容中接收到可忽略的空白的通知。
</div> </td>
</tr>
<tr class="rowColor" id="i5">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/xml/sax/ContentHandler.html#processingInstruction-java.lang.String-java.lang.String-">processingInstruction</a></span>(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> target, <a href="../../../java/lang/String.html" title="class in java.lang">String</a> data)</code>
<div class="block">
接收处理指令的通知。
</div> </td>
</tr>
<tr class="altColor" id="i6">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/xml/sax/ContentHandler.html#setDocumentLocator-org.xml.sax.Locator-">setDocumentLocator</a></span>(<a href="../../../org/xml/sax/Locator.html" title="interface in org.xml.sax">Locator</a> locator)</code>
<div class="block">
接收一个查找SAX文档事件的起源的对象。
</div> </td>
</tr>
<tr class="rowColor" id="i7">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/xml/sax/ContentHandler.html#skippedEntity-java.lang.String-">skippedEntity</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="i8">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/xml/sax/ContentHandler.html#startDocument--">startDocument</a></span>()</code>
<div class="block">
接收文件开头的通知。
</div> </td>
</tr>
<tr class="rowColor" id="i9">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/xml/sax/ContentHandler.html#startElement-java.lang.String-java.lang.String-java.lang.String-org.xml.sax.Attributes-">startElement</a></span>(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> uri, <a href="../../../java/lang/String.html" title="class in java.lang">String</a> localName, <a href="../../../java/lang/String.html" title="class in java.lang">String</a> qName, <a href="../../../org/xml/sax/Attributes.html" title="interface in org.xml.sax">Attributes</a> atts)</code>
<div class="block">
接收元素开头的通知。
</div> </td>
</tr>
<tr class="altColor" id="i10">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/xml/sax/ContentHandler.html#startPrefixMapping-java.lang.String-java.lang.String-">startPrefixMapping</a></span>(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> prefix, <a href="../../../java/lang/String.html" title="class in java.lang">String</a> uri)</code>
<div class="block">
开始一个prefix-URI命名空间映射的范围。
</div> </td>
</tr>
</tbody>
</table> </li>
</ul> </li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- --> </a> <h3>方法详细信息</h3> <a name="setDocumentLocator-org.xml.sax.Locator-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setDocumentLocator</h4> <pre>void setDocumentLocator(<a href="../../../org/xml/sax/Locator.html" title="interface in org.xml.sax">Locator</a> locator)</pre>
<div class="block">
<span>接收一个查找SAX文档事件的起源的对象。</span>
<p> <span>强烈地鼓励SAX解析器虽然不是绝对必要的来提供定位器如果这样做它必须通过调用此方法在调用ContentHandler接口中的任何其他方法之前将定位器提供给应用程序。</span> </p>
<p> <span>定位器允许应用程序确定任何文档相关事件的结束位置,即使解析器没有报告错误。</span> <span>通常,应用程序将使用此信息来报告其自身的错误(例如与应用程序业务规则不匹配的字符内容)。</span> <span>定位器返回的信息可能不足以与搜索引擎一起使用。</span> </p>
<p> <span>请注意定位器将只后在调用SAX事件回调返回正确的信息<a href="../../../org/xml/sax/ContentHandler.html#startDocument--"><code>startDocument</code></a>回报和前<a href="../../../org/xml/sax/ContentHandler.html#endDocument--"><code>endDocument</code></a>被调用。</span> <span>应用程序不应在任何其他时间尝试使用它。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>locator</code> - 可以返回任何SAX文档事件的位置的对象
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<span><a href="../../../org/xml/sax/Locator.html" title="org.xml.sax中的接口"><code>Locator</code></a></span>
</dd>
</dl> </li>
</ul> <a name="startDocument--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>startDocument</h4> <pre>void startDocument()
throws <a href="../../../org/xml/sax/SAXException.html" title="class in org.xml.sax">SAXException</a></pre>
<div class="block">
<span>接收文件开头的通知。</span>
<p> <span>SAX解析器将调用此方法只有一次在任何其他事件回调除了<a href="../../../org/xml/sax/ContentHandler.html#setDocumentLocator-org.xml.sax.Locator-"><code>setDocumentLocator</code></a> )。</span> </p>
</div>
<dl>
<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>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../org/xml/sax/ContentHandler.html#endDocument--"><code>endDocument()</code></a>
</dd>
</dl> </li>
</ul> <a name="endDocument--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>endDocument</h4> <pre>void endDocument()
throws <a href="../../../org/xml/sax/SAXException.html" title="class in org.xml.sax">SAXException</a></pre>
<div class="block">
<span>接收文件结束的通知。</span>
<p> <span><strong>该方法的文档和<code>ErrorHandler.fatalError(org.xml.sax.SAXParseException)</code>的文档之间存在明显的<a href="../../../org/xml/sax/ErrorHandler.html#fatalError-org.xml.sax.SAXParseException-">矛盾</a></strong></span> <span><strong>在未来的主要版本解决之前客户端不应该假设当解析器报告一个fatalError或抛出异常时是否会调用endDocument</strong></span> </p>
<p> <span>SAX解析器将仅调用此方法一次这将是解析过程中调用的最后一个方法。</span> <span>分析器不得调用此方法,直到它已经放弃解析(因为不可恢复的错误)或到达输入结束。</span> </p>
</div>
<dl>
<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>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../org/xml/sax/ContentHandler.html#startDocument--"><code>startDocument()</code></a>
</dd>
</dl> </li>
</ul> <a name="startPrefixMapping-java.lang.String-java.lang.String-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>startPrefixMapping</h4> <pre>void startPrefixMapping(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> prefix,
<a href="../../../java/lang/String.html" title="class in java.lang">String</a> uri)
throws <a href="../../../org/xml/sax/SAXException.html" title="class in org.xml.sax">SAXException</a></pre>
<div class="block">
<span>开始一个prefix-URI命名空间映射的范围。</span>
<p> <span>来自此事件的信息对于正常的命名空间处理来说不是必需的:当<code>http://xml.org/sax/features/namespaces</code>功能为<var></var> 默认值SAX XML阅读器将自动替换元素和属性名称的前缀。</span> </p>
<p> <span>然而,有些情况下,当应用程序需要在字符数据或属性值中使用前缀时,无法自动扩展它们;</span> <span>start / endPrefixMapping事件将信息提供给应用程序以在必要时在这些上下文中扩展前缀。</span> </p>
<p> <span>请注意start / endPrefixMapping事件不能保证相对于彼此正确嵌套所有startPrefixMapping事件将在相应的<a href="../../../org/xml/sax/ContentHandler.html#startElement-java.lang.String-java.lang.String-java.lang.String-org.xml.sax.Attributes-"><code>startElement</code></a>事件之前<a href="../../../org/xml/sax/ContentHandler.html#startElement-java.lang.String-java.lang.String-java.lang.String-org.xml.sax.Attributes-">立即</a>发生,并且所有<a href="../../../org/xml/sax/ContentHandler.html#endPrefixMapping-java.lang.String-"><code>endPrefixMapping</code></a>事件将在相应的<a href="../../../org/xml/sax/ContentHandler.html#endElement-java.lang.String-java.lang.String-java.lang.String-"><code>endElement</code></a>事件之后<a href="../../../org/xml/sax/ContentHandler.html#endElement-java.lang.String-java.lang.String-java.lang.String-">立即</a>发生,但其命令不另行保证。</span> </p>
<p> <span>不应该为“xml”前缀启动/ endPrefixMapping事件因为它是预先声明的和不可变的。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>prefix</code> - 声明的命名空间前缀。</span>
<span>空字符串用于默认元素命名空间,它没有前缀。</span>
</dd>
<dd>
<code>uri</code> - 前缀映射到的命名空间URI
</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> - 客户端可能会在处理过程中抛出异常
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../org/xml/sax/ContentHandler.html#endPrefixMapping-java.lang.String-"><code>endPrefixMapping(java.lang.String)</code></a>
<a href="../../../org/xml/sax/ContentHandler.html#startElement-java.lang.String-java.lang.String-java.lang.String-org.xml.sax.Attributes-"><code>startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes)</code></a>
</dd>
</dl> </li>
</ul> <a name="endPrefixMapping-java.lang.String-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>endPrefixMapping</h4> <pre>void endPrefixMapping(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> prefix)
throws <a href="../../../org/xml/sax/SAXException.html" title="class in org.xml.sax">SAXException</a></pre>
<div class="block">
<span>结束前缀URI映射的范围。</span>
<p> <span>详见<a href="../../../org/xml/sax/ContentHandler.html#startPrefixMapping-java.lang.String-java.lang.String-"><code>startPrefixMapping</code></a></span> <span>这些事件将会立即发生,相应的后<a href="../../../org/xml/sax/ContentHandler.html#endElement-java.lang.String-java.lang.String-java.lang.String-"><code>endElement</code></a>事件,但顺序<a href="../../../org/xml/sax/ContentHandler.html#endPrefixMapping-java.lang.String-"><code>endPrefixMapping</code></a>事件是不是另有保证。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>prefix</code> - 正在映射的前缀。</span>
<span>当默认映射范围结束时,这是空字符串。</span>
</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> - 客户端可能会在处理过程中抛出异常
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../org/xml/sax/ContentHandler.html#startPrefixMapping-java.lang.String-java.lang.String-"><code>startPrefixMapping(java.lang.String, java.lang.String)</code></a>
<a href="../../../org/xml/sax/ContentHandler.html#endElement-java.lang.String-java.lang.String-java.lang.String-"><code>endElement(java.lang.String, java.lang.String, java.lang.String)</code></a>
</dd>
</dl> </li>
</ul> <a name="startElement-java.lang.String-java.lang.String-java.lang.String-org.xml.sax.Attributes-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>startElement</h4> <pre>void startElement(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> uri,
<a href="../../../java/lang/String.html" title="class in java.lang">String</a> localName,
<a href="../../../java/lang/String.html" title="class in java.lang">String</a> qName,
<a href="../../../org/xml/sax/Attributes.html" title="interface in org.xml.sax">Attributes</a> atts)
throws <a href="../../../org/xml/sax/SAXException.html" title="class in org.xml.sax">SAXException</a></pre>
<div class="block">
<span>接收元素开头的通知。</span>
<p> <span>解析器将在XML文档中的每个元素的开头调用此方法;</span> <span>每个startElement事件将会有一个相应的<a href="../../../org/xml/sax/ContentHandler.html#endElement-java.lang.String-java.lang.String-java.lang.String-"><code>endElement</code></a>事件(即使该元素为空)。</span> <span>所有元素的内容将按照相应的endElement事件的顺序进行报告。</span> </p>
<p> <span>此事件允许每个元素最多有三个名称组件:</span> </p>
<ol>
<li> <span>命名空间URI;</span> </li>
<li> <span>当地名称;</span> <span></span> </li>
<li> <span>合格(前缀)名称。</span> </li>
</ol>
<p> <span>根据<var>http://xml.org/sax/features/namespaces</var><var>http://xml.org/sax/features/namespace-prefixes</var>属性的值,可以提供任何或全部这些内容:</span> </p>
<ul>
<li> <span>命名空间URI和本地名称在namespaces属性为<var>true</var> (默认值)时是必需的,并且在命名空间属性为<var>false时</var> (如果指定,都必须)为可选参数;</span> </li>
<li> <span>当namespace-prefixes属性为<var>true</var>必需的限定名称并且当namespace-prefixes属性为<var>false</var> (默认值)时是可选的。</span> </li>
</ul>
<p> <span>请注意,提供的属性列表将仅包含具有显式值(指定或默认值)的属性:#IMPLIED属性将被省略。</span> <span>只有当<code>http://xml.org/sax/features/namespace-prefixes</code>属性为true时属性列表才会包含用于命名空间声明xmlns * attributes的属性默认情况下为false并且对真值支持是可选的</span> </p>
<p> <span><a href="../../../org/xml/sax/ContentHandler.html#characters-char:A-int-int-"><code>characters()</code>一样</a> ,属性值可能具有需要多于一个<code>char</code>值的<code>char</code></span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>uri</code> - 命名空间URI或空字符串如果该元素没有命名空间URI或命名空间处理未被执行
</dd>
<dd>
<code>localName</code> - 本地名称(无前缀),如果未执行命名空间处理,则为空字符串
</dd>
<dd>
<code>qName</code> - 限定名称(带前缀),如果限定名不可用,则为空字符串
</dd>
<dd>
<span><code>atts</code> - 附加到元素的属性。</span>
<span>如果没有属性它将是一个空的Attributes对象。</span>
<span>startElement返回后的此对象的值未定义</span>
</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>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<span><a href="../../../org/xml/sax/ContentHandler.html#endElement-java.lang.String-java.lang.String-java.lang.String-"><code>endElement(java.lang.String, java.lang.String, java.lang.String)</code></a> <a href="../../../org/xml/sax/Attributes.html" title="org.xml.sax中的接口"><code>Attributes</code></a> <a href="../../../org/xml/sax/helpers/AttributesImpl.html" title="org.xml.sax.helpers中的类"><code>AttributesImpl</code></a></span>
</dd>
</dl> </li>
</ul> <a name="endElement-java.lang.String-java.lang.String-java.lang.String-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>endElement</h4> <pre>void endElement(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> uri,
<a href="../../../java/lang/String.html" title="class in java.lang">String</a> localName,
<a href="../../../java/lang/String.html" title="class in java.lang">String</a> qName)
throws <a href="../../../org/xml/sax/SAXException.html" title="class in org.xml.sax">SAXException</a></pre>
<div class="block">
<span>接收元素结尾的通知。</span>
<p> <span>SAX解析器将在XML文档中的每个元素的末尾调用此方法;</span> <span>每个endElement事件将会有一个相应的<a href="../../../org/xml/sax/ContentHandler.html#startElement-java.lang.String-java.lang.String-java.lang.String-org.xml.sax.Attributes-"><code>startElement</code></a>事件(即使该元素为空)。</span> </p>
<p> <span>有关名称的信息请参阅startElement。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>uri</code> - 命名空间URI或空字符串如果该元素没有命名空间URI或命名空间处理未被执行
</dd>
<dd>
<code>localName</code> - 本地名称(无前缀),或空字符串,如果未执行命名空间处理
</dd>
<dd>
<code>qName</code> - 合格的XML名称带前缀如果限定名称不可用则为空字符串
</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>
</dl> </li>
</ul> <a name="characters-char:A-int-int-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>characters</h4> <pre>void characters(char[] ch,
int start,
int length)
throws <a href="../../../org/xml/sax/SAXException.html" title="class in org.xml.sax">SAXException</a></pre>
<div class="block">
<span>接收字符数据通知。</span>
<p> <span>Parser将调用此方法来报告每个字符数据块。</span> <span>SAX解析器可以在单个块中返回所有连续的字符数据或者它们可以将其分割成多个块;</span> <span>然而,任何单个事件中的所有字符必须来自相同的外部实体,以便定位器提供有用的信息。</span> </p>
<p> <span>应用程序不得尝试从指定范围之外的数组读取。</span> </p>
<p> <span>单个字符可能包含多个Java <code>char</code>值。</span> <span>有两个重要的情况发生,因为字符不能仅在十六位中表示。</span> <span>在一种情况下,字符在<em>代理对中表示</em> 使用两个特殊的Unicode值。</span> <span>这些字符在所谓的“星云飞行”中代码点高于U + FFFF。</span> <span>第二种情况涉及复合字符,例如与一个或多个重音字符组合的基本字符。</span> </p>
<p> <span>您的代码不应该假设使用<code>char</code>的一次性成语将以字符单位工作;</span> <span>在某些情况下,他们会拆分字符。</span> <span>这在XML允许任意字符如属性值处理指令数据和注释以及从此方法报告的数据中都是相关的。</span> <span>当Java代码操纵国际化文本时它通常也是相关的;</span> <span>这个问题不是XML唯一的。</span> </p>
<p> <span>请注意,某些解析器将使用<a href="../../../org/xml/sax/ContentHandler.html#ignorableWhitespace-char:A-int-int-"><code>ignorableWhitespace</code></a>方法(而不是验证解析器<em>必须</em>这样做)在元素内容中报告空格。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>ch</code> - XML文档中的字符
</dd>
<dd>
<code>start</code> - 数组中的起始位置
</dd>
<dd>
<code>length</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>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<span><a href="../../../org/xml/sax/ContentHandler.html#ignorableWhitespace-char:A-int-int-"><code>ignorableWhitespace(char[], int, int)</code></a> <a href="../../../org/xml/sax/Locator.html" title="org.xml.sax中的接口"><code>Locator</code></a></span>
</dd>
</dl> </li>
</ul> <a name="ignorableWhitespace-char:A-int-int-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>ignorableWhitespace</h4> <pre>void ignorableWhitespace(char[] ch,
int start,
int length)
throws <a href="../../../org/xml/sax/SAXException.html" title="class in org.xml.sax">SAXException</a></pre>
<div class="block">
<span>在元素内容中接收到可忽略的空白的通知。</span>
<p> <span>验证解析器必须使用此方法在元素内容中报告每个空白块参见W3C XML 1.0推荐第2.10节):如果能够解析和使用内容模型,非验证解析器也可以使用此方法。</span> </p>
<p> <span>SAX解析器可以在单个块中返回所有连续的空格或者它们可以将其分割成多个块;</span> <span>但是,任何单个事件中的所有字符都必须来自相同的外部实体,以便定位器提供有用的信息。</span> </p>
<p> <span>应用程序不得尝试从指定范围之外的数组读取。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>ch</code> - 来自XML文档的字符
</dd>
<dd>
<code>start</code> - 数组中的起始位置
</dd>
<dd>
<code>length</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>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../org/xml/sax/ContentHandler.html#characters-char:A-int-int-"><code>characters(char[], int, int)</code></a>
</dd>
</dl> </li>
</ul> <a name="processingInstruction-java.lang.String-java.lang.String-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>processingInstruction</h4> <pre>void processingInstruction(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> target,
<a href="../../../java/lang/String.html" title="class in java.lang">String</a> data)
throws <a href="../../../org/xml/sax/SAXException.html" title="class in org.xml.sax">SAXException</a></pre>
<div class="block">
<span>接收处理指令的通知。</span>
<p> <span>解析器将为发现的每个处理指令调用此方法一次:请注意,处理指令可能发生在主文档元素之前或之后。</span> </p>
<p> <span>SAX解析器不得使用此方法报告XML声明XML 1.0第2.8节或文本声明XML 1.0第4.3.1节)。</span> </p>
<p> <span><a href="../../../org/xml/sax/ContentHandler.html#characters-char:A-int-int-"><code>characters()</code>一样</a> ,处理指令数据可能具有需要多于一个<code>char</code>值的<code>char</code></span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>target</code> - 处理指令目标
</dd>
<dd>
<span><code>data</code> - 处理指令数据如果没有提供则返回null。</span>
<span>数据不包括将其与目标分离的任何空格</span>
</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>
</dl> </li>
</ul> <a name="skippedEntity-java.lang.String-">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>skippedEntity</h4> <pre>void skippedEntity(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> name)
throws <a href="../../../org/xml/sax/SAXException.html" title="class in org.xml.sax">SAXException</a></pre>
<div class="block">
<span>接收跳过实体的通知。</span>
<span>这不是在标记结构中的实体引用(如元素起始标记或标记声明)中调用的。</span>
<span>XML建议需要报告跳过的外部实体SAX还报告内部实体扩展/非扩展,除了标记结构之外)</span>
<p> <span>每次跳过实体时Parser将调用此方法。</span> <span>如果没有看到声明则非验证处理器可能会跳过实体例如实体在外部DTD子集中声明</span> <span>所有处理器可能会跳过外部实体,具体取决于<code>http://xml.org/sax/features/external-general-entities</code><code>http://xml.org/sax/features/external-parameter-entities</code>属性的值。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>name</code> - 跳过的实体的名称。</span>
<span>如果它是一个参数实体,名称将以''开头如果是外部DTD子集它将是字符串“[dtd]”</span>
</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>
</dl> </li>
</ul> </li>
</ul> </li>
</ul>
</div>
</div>