ILSParser 接口
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
能够从各种输入源生成或扩充 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> 预期value
nodeValue
节点的属性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 文件:
<!DOCTYPE root [ <!ENTITY e SYSTEM 'subdir/myentity.ent' ]>
<root> &e; </root>
并且 subdir/myentity.ent
包含:
<one> <two/> </one> <?pi 3.14159?>
<more/>
</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 格式错误等引发特定于实现的错误和警告。
适用于 . 的 org.w3c.dom.ls.LSParser
Java 文档
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。
字段
ActionAppendAsChildren |
将分析操作的结果追加为上下文节点的子级。 |
ActionInsertAfter |
将分析操作的结果插入为上下文节点紧跟的同级。 |
ActionInsertBefore |
将分析操作的结果作为上下文节点紧邻的同级插入。 |
ActionReplace |
将上下文节点替换为分析操作的结果。 |
ActionReplaceChildren |
将上下文节点的所有子级替换为分析操作的结果。 |
属性
Async |
|
Busy |
|
DomConfig |
|
Filter |
提供筛选器时,实现将调用筛选器,因为它正在构造 DOM 树结构。 |
Handle |
获取基础 Android 对象的 JNI 值。 (继承自 IJavaObject) |
JniIdentityHashCode |
返回包装实例的值 |
JniManagedPeerState |
托管对等方的状态。 (继承自 IJavaPeerable) |
JniPeerMembers |
成员访问和调用支持。 (继承自 IJavaPeerable) |
PeerReference |
返回 JniObjectReference 包装的 Java 对象实例。 (继承自 IJavaPeerable) |
方法
Abort() |
中止当前正在加载 |
Disposed() |
在释放实例时调用。 (继承自 IJavaPeerable) |
DisposeUnlessReferenced() |
如果没有对此实例的未完成引用,则调用 |
Finalized() |
在实例完成时调用。 (继承自 IJavaPeerable) |
Parse(ILSInput) |
从由 |
ParseURI(String) |
从 URI 引用 [IETF RFC 2396] 标识的位置分析 XML 文档。 |
ParseWithContext(ILSInput, INode, Int16) |
分析由资源标识 |
SetJniIdentityHashCode(Int32) |
设置由 |
SetJniManagedPeerState(JniManagedPeerStates) |
能够从各种输入源生成或扩充 DOM 树的对象接口。 (继承自 IJavaPeerable) |
SetPeerReference(JniObjectReference) |
设置由 |
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 树的对象接口。 |