IEntityResolver2.ResolveEntity(String, String, String, String) 方法

定义

允许应用程序将对外部实体的引用映射到输入源,或告知分析器它应使用传统的 URI 解析。

[Android.Runtime.Register("resolveEntity", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/xml/sax/InputSource;", "GetResolveEntity_Ljava_lang_String_Ljava_lang_String_Ljava_lang_String_Ljava_lang_String_Handler:Org.Xml.Sax.Ext.IEntityResolver2Invoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")]
public Org.Xml.Sax.InputSource? ResolveEntity (string? name, string? publicId, string? baseURI, string? systemId);
[<Android.Runtime.Register("resolveEntity", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/xml/sax/InputSource;", "GetResolveEntity_Ljava_lang_String_Ljava_lang_String_Ljava_lang_String_Ljava_lang_String_Handler:Org.Xml.Sax.Ext.IEntityResolver2Invoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")>]
abstract member ResolveEntity : string * string * string * string -> Org.Xml.Sax.InputSource

参数

name
String

标识要解析的外部实体。 外部子集的“[dtd]”或以“%”开头的名称,以指示参数实体,或者常规实体的名称。 当 SAX2 分析程序调用时,这永远不会为 null。

publicId
String

要引用的外部实体的公共标识符(按 XML 规范的要求进行规范化),如果未提供,则为 null。

baseURI
String

相对于哪些相对 systemID 进行解释的 URI。 这始终是绝对 URI,除非它为 null(可能是因为 XMLReader 没有输入源)。 此 URI 由 XML 规范定义为与从相关声明开始的“<”关联的 URI。

systemId
String

所引用的外部实体的系统标识符;相对 URI 或绝对 URI。 当 SAX2 分析程序调用时,这永远不会为 null;仅声明的实体和任何外部子集由此类分析器解析。

返回

描述分析器要使用的新输入源的 InputSource 对象。 返回 null 将指示分析程序将系统 ID 解析为基 URI,并打开与生成的 URI 的连接。

属性

例外

任何 SAX 异常,可能包装另一个异常。

可能表示无法创建新的 InputStream 或读取器或非法 URL。

注解

允许应用程序将对外部实体的引用映射到输入源,或告知分析器它应使用传统的 URI 解析。 仅对已正确声明的外部实体调用此方法。 此方法比接口更EntityResolver灵活,支持更复杂的目录方案的实现,例如 OASIS XML 目录规范定义的方案。</p>

配置为使用此解析程序方法的分析程序将调用它,以确定要用于因 XML 文本中的引用而包含的任何外部实体的输入源。 这不包括文档实体,以及由 #getExternalSubset getExternalSubset()该实体返回的任何外部实体。 如果将(非验证)处理器配置为不使用功能标志包含实体类(参数或常规),则不会为此类实体调用此方法。

请注意,此处使用的实体命名方案与方法中使用的LexicalHandlerorg.xml.sax.ContentHandler#skippedEntity ContentHandler.skippedEntity()实体命名方案相同。

适用于 . 的 org.xml.sax.ext.EntityResolver2.resolveEntity(java.lang.String, java.lang.String, java.lang.String, java.lang.String)Java 文档

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

适用于