Condividi tramite


IEntityResolver2.ResolveEntity(String, String, String, String) Metodo

Definizione

Consente alle applicazioni di eseguire il mapping dei riferimenti a entità esterne in origini di input o indicare al parser che deve usare la risoluzione URI convenzionale.

[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

Parametri

name
String

Identifica l'entità esterna risolta. "[dtd]" per il subset esterno o un nome che inizia con "%" per indicare un'entità parametro oppure il nome di un'entità generale. Questo non è mai null quando viene richiamato da un parser SAX2.

publicId
String

Identificatore pubblico dell'entità esterna a cui viene fatto riferimento (normalizzato come richiesto dalla specifica XML) o Null se non è stato specificato alcuno.

baseURI
String

URI per quanto riguarda i relativi systemID vengono interpretati. Si tratta sempre di un URI assoluto, a meno che non sia null (probabilmente perché a XMLReader è stato assegnato un InputSource senza uno). Questo URI è definito dalla specifica XML come quello associato alla "<" che avvia la dichiarazione pertinente.

systemId
String

Identificatore di sistema dell'entità esterna a cui viene fatto riferimento; un URI relativo o assoluto. Questo non è mai null quando viene richiamato da un parser SAX2; solo le entità dichiarate e qualsiasi subset esterno vengono risolte da tali parser.

Restituisce

Oggetto InputSource che descrive la nuova origine di input da usare dal parser. La restituzione di null indirizza il parser a risolvere l'ID di sistema sull'URI di base e aprire una connessione all'URI risultante.

Attributi

Eccezioni

Qualsiasi eccezione SAX, eventualmente con wrapping di un'altra eccezione.

Probabilmente indica un errore durante la creazione di un nuovo inputstream o lettore o un URL non valido.

Commenti

Consente alle applicazioni di eseguire il mapping dei riferimenti a entità esterne in origini di input o indicare al parser che deve usare la risoluzione URI convenzionale. Questo metodo viene chiamato solo per le entità esterne dichiarate correttamente. Questo metodo offre maggiore flessibilità rispetto all'interfaccia EntityResolver , supportando implementazioni di schemi di catalogo più complessi, ad esempio quello definito dalla specifica oasis XML Catalogs .</p>

I parser configurati per l'uso di questo metodo resolver lo chiameranno per determinare l'origine di input da utilizzare per qualsiasi entità esterna inclusa a causa di un riferimento nel testo XML. Che esclude l'entità del documento e qualsiasi entità esterna restituita da #getExternalSubset getExternalSubset(). Quando un processore (non convalida) è configurato per non includere una classe di entità (parametro o generale) tramite l'uso di flag di funzionalità, questo metodo non viene richiamato per tali entità.

Si noti che lo schema di denominazione delle entità usato qui è lo stesso usato in LexicalHandlero nel org.xml.sax.ContentHandler#skippedEntity ContentHandler.skippedEntity() metodo .

Documentazione java per org.xml.sax.ext.EntityResolver2.resolveEntity(java.lang.String, java.lang.String, java.lang.String, java.lang.String).

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.

Si applica a