Compartilhar via


IEntityResolver2.ResolveEntity(String, String, String, String) Método

Definição

Permite que os aplicativos mapeiem referências a entidades externas em fontes de entrada ou digam ao analisador que ele deve usar a resolução de URI convencional.

[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

Parâmetros

name
String

Identifica a entidade externa que está sendo resolvida. "[dtd]" para o subconjunto externo, ou um nome começando com "%" para indicar uma entidade de parâmetro, ou então o nome de uma entidade geral. Isso nunca é nulo quando invocado por um analisador SAX2.

publicId
String

O identificador público da entidade externa que está sendo referenciada (normalizado conforme exigido pela especificação XML) ou nulo se nenhum foi fornecido.

baseURI
String

O URI em relação ao qual systemIDs relativos são interpretados. Isso é sempre um URI absoluto, a menos que seja nulo (provavelmente porque o XMLReader recebeu um InputSource sem um). Esse URI é definido pela especificação XML como sendo aquele associado ao "<" que inicia a declaração relevante.

systemId
String

O identificador do sistema da entidade externa que está sendo referenciada; um URI relativo ou absoluto. Isso nunca é nulo quando invocado por um analisador SAX2; Somente entidades declaradas, e qualquer subconjunto externo, são resolvidos por esses analisadores.

Retornos

Um objeto InputSource que descreve a nova fonte de entrada a ser usada pelo analisador. O retorno null direciona o analisador para resolver a ID do sistema em relação ao URI base e abrir uma conexão com o URI resultante.

Atributos

Exceções

Qualquer exceção SAX, possivelmente envolvendo outra exceção.

Provavelmente indicando uma falha ao criar um novo InputStream ou Reader, ou uma URL ilegal.

Comentários

Permite que os aplicativos mapeiem referências a entidades externas em fontes de entrada ou digam ao analisador que ele deve usar a resolução de URI convencional. Este método só é exigido para entidades externas que tenham sido devidamente declaradas. Esse método fornece mais flexibilidade do que a EntityResolver interface, suportando implementações de esquemas de catálogo mais complexos, como o definido pela especificação OASIS XML Catalogs .</p>

Os analisadores configurados para usar esse método resolvedor o chamarão para determinar a fonte de entrada a ser usada para qualquer entidade externa que esteja sendo incluída devido a uma referência no texto XML. Isso exclui a entidade do documento e qualquer entidade externa retornada pelo #getExternalSubset getExternalSubset(). Quando um processador (não validador) é configurado para não incluir uma classe de entidades (parâmetro ou geral) por meio do uso de sinalizadores de recurso, esse método não é invocado para essas entidades.

Observe que o esquema de nomenclatura de entidade usado aqui é o mesmo usado no LexicalHandler, ou no org.xml.sax.ContentHandler#skippedEntity ContentHandler.skippedEntity() método.

Documentação Java para org.xml.sax.ext.EntityResolver2.resolveEntity(java.lang.String, java.lang.String, java.lang.String, java.lang.String).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.

Aplica-se a