IEntityResolver2.GetExternalSubset(String, String) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Consente alle applicazioni di fornire un subset esterno per i documenti che non ne definiscono in modo esplicito uno.
[Android.Runtime.Register("getExternalSubset", "(Ljava/lang/String;Ljava/lang/String;)Lorg/xml/sax/InputSource;", "GetGetExternalSubset_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? GetExternalSubset(string? name, string? baseURI);
[<Android.Runtime.Register("getExternalSubset", "(Ljava/lang/String;Ljava/lang/String;)Lorg/xml/sax/InputSource;", "GetGetExternalSubset_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 GetExternalSubset : string * string -> Org.Xml.Sax.InputSource
Parametri
- name
- String
Identifica l'elemento radice del documento. Questo nome deriva da una dichiarazione DOCTYPE (se disponibile) o dall'elemento radice effettivo.
- baseURI
- String
L'URI di base del documento, che funge da suggerimento aggiuntivo per la selezione del sottoinsieme esterno. Si tratta sempre di un URI assoluto, a meno che non sia null perché a XMLReader è stato assegnato un InputSource senza uno.
Valori restituiti
Oggetto InputSource che descrive il nuovo subset esterno da utilizzare dal parser oppure null per indicare che non viene fornito alcun subset esterno.
- 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 fornire un subset esterno per i documenti che non ne definiscono in modo esplicito uno. I documenti con dichiarazioni DOCTYPE che omettono un subset esterno possono quindi aumentare le dichiarazioni disponibili per la convalida, l'elaborazione di entità e l'elaborazione degli attributi (normalizzazione, impostazione predefinita e tipi di report inclusi ID). Questa aumento viene segnalato tramite il LexicalHandler#startDTD startDTD() metodo come se il testo del documento avesse originariamente incluso il subset esterno. Questo callback viene eseguito prima che vengano segnalati eventuali dati o errori interni del subset.</p>
Questo metodo può essere usato anche con documenti che non dispongono di alcuna dichiarazione DOCTYPE. Quando viene rilevato l'elemento radice, ma non è stata rilevata alcuna dichiarazione DOCTYPE, questo metodo viene richiamato. Se restituisce un valore per il subset esterno, tale elemento radice viene dichiarato come elemento radice, dando l'effetto dello splicing di una dichiarazione DOCTYPE alla fine del prologo di un documento che altrimenti non può essere valido. La sequenza di callback del parser in questo caso è simile alla seguente:
... comments and PIs from the prolog (as usual)
startDTD ("rootName", source.getPublicId (), source.getSystemId ());
startEntity ("[dtd]");
... declarations, comments, and PIs from the external subset
endEntity ("[dtd]");
endDTD ();
... then the rest of the document (as usual)
startElement (..., "rootName", ...);
Si noti che InputSource non ottiene ulteriore risoluzione. Le implementazioni di questo metodo possono voler richiamare #resolveEntity resolveEntity() per ottenere vantaggi, ad esempio l'uso di cache locali di entità DTD. Inoltre, questo metodo non verrà mai usato da un processore (non di convalida) che non include entità di parametri esterni.
Gli usi per questo metodo includono la facilitazione della convalida dei dati durante l'interoperabilità con processori XML che richiedono sempre accessi di rete indesiderati per le entità esterne o che per altri motivi adottano un criterio "nessun DTD". I motivi di non convalida includono l'uso forzato dei documenti per includere DTD in modo che gli attributi vengano gestiti in modo coerente. Ad esempio, un processore XPath deve conoscere quali attibut hanno tipo "ID" prima di poter elaborare un tipo di riferimento ampiamente usato.
< >strong Warning:</strong> Returning an external subset modifica il documento di input. Fornendo definizioni per le entità generali, è possibile che un documento in formato non valido sembri ben formato.
per org.xml.sax.ext.EntityResolver2.getExternalSubset(java.lang.String, java.lang.String).
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.