語言

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 規範標準化),若未提供則為空識別碼。

baseURI
String

相對系統ID所解讀的URI。 這永遠是絕對 URI,除非是 null(很可能是因為 XMLReader 被賦予了沒有 URI 的 InputSource)。 XML 規範定義此 URI 為與相關宣告開頭「<」相關聯的 URI。

systemId
String

被參考外部實體的系統識別碼;要麼是親屬,要麼是絕對的URI。 當 SAX2 解析器呼叫時,這個設定永遠不會為空;只有宣告的實體及任何外部子集會被此類解析器解析。

傳回

一個描述解析器將使用的新輸入來源的 InputSource 物件。 回傳 null 會指示解析器對基礎 URI 解析系統 ID,並開啟與產生的 URI 的連線。

屬性

例外狀況

任何 SAX 例外,可能還會封裝另一個例外。

這很可能表示未建立新的 InputStream 或 Reader,或是使用了非法 URL。

備註

允許應用程式將外部實體的參考映射到輸入來源,或告訴解析器應使用傳統 URI 解析度。 此方法僅用於已正確宣告的外部實體。 此方法比介面 EntityResolver 更具彈性,支援更複雜的目錄方案實作,如 OASIS XML 目錄 規範所定義的方案。</p>

設定使用此解析器方法的解析器會呼叫它,以判斷因 XML 文本中的參考而包含的任何外部實體的輸入來源。 這排除了文件實體,以及任何由 回 #getExternalSubset getExternalSubset()傳的外部實體。 當(非驗證)處理器透過功能標誌設定不包含某一類實體(參數或一般)時,該方法不會被調用。

請注意,這裡使用的實體命名方式與 或 org.xml.sax.ContentHandler#skippedEntity ContentHandler.skippedEntity() 方法中使用的相同LexicalHandler。

的 org.xml.sax.ext.EntityResolver2.resolveEntity(java.lang.String, java.lang.String, java.lang.String, java.lang.String)Java 檔。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於