IEntityResolver2.ResolveEntity(String, String, String, String) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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.
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.