ILSParser 接口

定义

能够从各种输入源生成或扩充 DOM 树的对象接口。

[Android.Runtime.Register("org/w3c/dom/ls/LSParser", "", "Org.W3c.Dom.LS.ILSParserInvoker")]
public interface ILSParser : Android.Runtime.IJavaObject, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("org/w3c/dom/ls/LSParser", "", "Org.W3c.Dom.LS.ILSParserInvoker")>]
type ILSParser = interface
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
属性
实现

注解

能够从各种输入源生成或扩充 DOM 树的对象接口。

LSParser 提供用于分析 XML 和生成相应 DOM 文档结构的 API。 LSParser可以通过调用DOMImplementationLS.createLSParser()该方法来获取实例。

如 [DOM 级别 3 核心]中所述,首次通过 LSParser 提供文档时: <ul><li> 永远不会有两个类型为 NODE_TEXT 的相邻节点,并且永远不会有空的文本节点。 </li><li> 预期valuenodeValue节点的属性Attr最初返回 XML 1.0 规范化值。 但是,如果参数“ validate-if-schema”和“ datatype-normalization”设置为 true,则属性值可能与 XML 1.0 属性规范化获取的参数不同。 如果参数“数据类型规范化”设置为false,则保证发生 XML 1.0 属性规范化,如果属性列表不包含命名空间声明,则attributes节点上的属性Element表示 [XML 信息集] 中定义的属性 <b>[attributes]</b>。 </li></ul>

异步 LSParser 对象还应实现 events::EventTarget 接口,以便可以在异步 LSParser 对象上注册事件侦听器。

异步LSParser对象支持的事件包括:<dl<>dt>load</dt><dd> 完成LSParser加载文档。 另请参阅接口的定义 LSLoadEvent 。 </dd dt progress/dt<>dd> 信号LSParser在分析数据时进行进度。<>>< 此规范不会尝试准确定义何时应调度进度事件。 这有意保留为依赖于实现的。 下面是应用程序如何调度进度事件的一个示例:分析程序开始接收数据后,将调度进度事件以指示分析开始。 此后,将针对接收和处理的每 4096 字节数据调度进度事件。 不过,这只是一个示例,实现可以选择在分析时随时调度进度事件,或者根本不调度进度事件。 另请参阅接口的定义 LSProgressEvent 。 </dd/dl><p ><b>注意:</b> 此规范中定义的所有事件都使用命名空间 URI"http://www.w3.org/2002/DOMLS"。><

在分析输入源时,错误将通过错误处理程序(LSParser.domConfig error-handler”参数)向应用程序报告错误。 此规范绝不会尝试定义分析 XML 或任何其他标记时可能发生的所有可能错误,但定义了一些常见的错误案例。 此规范定义的错误和警告的类型为:如果参数“check-character-normalization设置为 true,并且遇到失败规范化检查的字符串,则 dl<>dt/dt><"check-character-normalization-failure" [error]<> dd> 引发。 <DOMError.type <如果将配置参数“disallow-doctype”设置为并且遇到 doctype,则引发 /dd><dt>"doctype-not-allowed" [fatal]</dt<>dd。>true <加载文档时引发 /dd><dt>"no-input-specified" [fatal]</dt<>dd>,且对象中LSInput未指定任何输入。 <如果在无法保留处理指令基 URI 的位置遇到处理指令,则引发 /dd><dt><"pi-base-uri-not-preserved" [warning]/dt><dd。> 将引发此警告的一个示例是,如果将配置参数“ entities”设置为 false 并分析以下 XML 文件:

&lt;!DOCTYPE root [ &lt;!ENTITY e SYSTEM 'subdir/myentity.ent' ]&gt;
            &lt;root&gt; &amp;e; &lt;/root&gt;

并且 subdir/myentity.ent 包含:

&lt;one&gt; &lt;two/&gt; &lt;/one&gt; &lt;?pi 3.14159?&gt;
            &lt;more/&gt;

</dd dt/dt>"unbound-prefix-in-entity" [warning]<<> dd> 如果配置参数“namespaces设置为true且实体的替换文本中遇到未绑定的命名空间前缀,则可能会引发实现相关警告。>< 不会强制引发此警告,因为某些现有分析程序可能无法识别实体替换文本中的未绑定命名空间前缀。 <如果将配置参数“ignore-unknown-character-denormalizations”设置为并且遇到处理器无法确定规范化属性的字符,则引发 /dd><dt>"unknown-character-denormalization" [fatal]</dt<>dd。>false <遇到不受支持的编码时引发 /dd><dt><"unsupported-encoding" [fatal]/dt><dd。> <如果将配置参数“supported-media-types-only”设置为且遇到不支持的媒体类型,则引发 /dd><dt>"unsupported-media-type" [fatal]</dt<>dd。>true </dd></dl>

除了引发定义的错误和警告外,实现还应该针对任何其他错误和警告(如 IO 错误(找不到文件、权限被拒绝,...)、XML 格式错误等引发特定于实现的错误和警告。

请参阅文档对象模型(DOM)级别 3 加载和保存规范

适用于 . 的 org.w3c.dom.ls.LSParserJava 文档

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

字段

ActionAppendAsChildren

将分析操作的结果追加为上下文节点的子级。

ActionInsertAfter

将分析操作的结果插入为上下文节点紧跟的同级。

ActionInsertBefore

将分析操作的结果作为上下文节点紧邻的同级插入。

ActionReplace

将上下文节点替换为分析操作的结果。

ActionReplaceChildren

将上下文节点的所有子级替换为分析操作的结果。

属性

Async

true 如果为 LSParser 异步, false 则为同步。

Busy

trueLSParser如果当前正忙于加载文档,则为 ;否则false为 。

DomConfig

DOMConfiguration分析输入源时使用的对象。

Filter

提供筛选器时,实现将调用筛选器,因为它正在构造 DOM 树结构。

Handle

获取基础 Android 对象的 JNI 值。

(继承自 IJavaObject)
JniIdentityHashCode

返回包装实例的值 java.lang.System.identityHashCode()

(继承自 IJavaPeerable)
JniManagedPeerState

托管对等方的状态。

(继承自 IJavaPeerable)
JniPeerMembers

成员访问和调用支持。

(继承自 IJavaPeerable)
PeerReference

返回 JniObjectReference 包装的 Java 对象实例。

(继承自 IJavaPeerable)

方法

Abort()

中止当前正在加载 LSParser的文档的加载。

Disposed()

在释放实例时调用。

(继承自 IJavaPeerable)
DisposeUnlessReferenced()

如果没有对此实例的未完成引用,则调用 Dispose();否则不执行任何操作。

(继承自 IJavaPeerable)
Finalized()

在实例完成时调用。

(继承自 IJavaPeerable)
Parse(ILSInput)

从由 LSInput.. 标识的资源分析 XML 文档。

ParseURI(String)

从 URI 引用 [IETF RFC 2396] 标识的位置分析 XML 文档。

ParseWithContext(ILSInput, INode, Int16)

分析由资源标识 LSInput 的 XML 片段,并将内容插入到现有文档中,该文档位于使用 contextaction 参数指定的位置。

SetJniIdentityHashCode(Int32)

设置由 JniIdentityHashCode. 返回的值。

(继承自 IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

能够从各种输入源生成或扩充 DOM 树的对象接口。

(继承自 IJavaPeerable)
SetPeerReference(JniObjectReference)

设置由 PeerReference. 返回的值。

(继承自 IJavaPeerable)
UnregisterFromRuntime()

取消注册此实例,以便运行时不会从将来 Java.Interop.JniRuntime+JniValueManager.PeekValue 的调用中返回它。

(继承自 IJavaPeerable)

扩展方法

JavaCast<TResult>(IJavaObject)

执行 Android 运行时检查的类型转换。

JavaCast<TResult>(IJavaObject)

能够从各种输入源生成或扩充 DOM 树的对象接口。

GetJniTypeName(IJavaPeerable)

能够从各种输入源生成或扩充 DOM 树的对象接口。

ParseAsync(ILSParser, ILSInput)

能够从各种输入源生成或扩充 DOM 树的对象接口。

ParseURIAsync(ILSParser, String)

能够从各种输入源生成或扩充 DOM 树的对象接口。

ParseWithContextAsync(ILSParser, ILSInput, INode, Int16)

能够从各种输入源生成或扩充 DOM 树的对象接口。

适用于