Supporto dell'associazione all'elemento include
Questo argomento è specifico di una tecnologia legacy. Servizi Web XML e client di servizi Web XML devono essere creati attualmente tramite Windows Communication Foundation.
In .NET Framework è incluso un supporto parziale per l'associazione all'elemento <include>.
Durante la generazione di codice sorgente dall'elemento <include>, Xsd.exe individua un documento XSD incluso come percorso assoluto di file system specificato mediante l'attributo schemaLocation.
Descrizione
L'elemento <include> è simile all'elemento <import>. Entrambi gli elementi vengono visualizzati come figli dell'elemento radice <schema> e devono trovarsi prima degli altri figli. Entrambi vengono inoltre inseriti in una definizione <schema> separata, generalmente definita in un altro file xsd. Vi è un'unica distinzione principale, come illustrato di seguito:
<import>: importa le dichiarazioni e le definizioni dello schema all'interno di uno spazio dei nomi separato specificato mediante l'attributo namespace.
<include>: include ulteriori definizioni e dichiarazioni dello schema all'interno dello stesso spazio dei nomi specificato come targetNamespace per la definizione XML Schema esistente.
Una definizione XML Schema che utilizza gli elementi <include> è sintatticamente equivalente a una definizione XML Schema le cui definizioni in esso contenute vengono visualizzate direttamente.
Durante la generazione di documenti XML Schema da un set di classi in un assembly, Xsd.exe crea un solo file xsd per lo spazio dei nomi di destinazione. In altri termini non esistono due file xsd generati che abbiano lo stesso valore per l'attributo targetNamespace dell'elemento radice <schema>. Pertanto, l'elemento <include> non viene mai generato. Uno sviluppatore può sempre suddividere un file xsd generato in più file mediante l'elemento <include>.
Durante la generazione di codice sorgente da un documento XML Schema, Xsd.exe riconosce l'elemento <include>. I documenti inclusi da XSD non devono essere passati come argomenti aggiuntivi a Xsd.exe. Vengono invece individuati mediante l'attributo schemaLocation. Il valore dell'attributo deve essere un percorso di file system assoluto.
Nell'esempio riportato di seguito viene illustrato un valore schemaLocation valido:
<xsd:include schemaLocation="c:\\projectRoot\\source\\xsd\\included1.xsd" />
Nota: |
---|
Xsd.exe ignora l'attributo schemaLocation quando viene visualizzato nell'elemento <import> . Per Xsd.exe i file importati vengono invece specificati come argomenti aggiuntivi da riga di comando. Vedere Supporto dell'associazione all'elemento import. |
Attributi possibili | Supporto per l'associazione |
---|---|
id |
L'utilità Xsd.exe ignora l'attributo id che fornisce un identificatore univoco. |
schemaLocation |
Vedere il testo precedente. |
Elementi padre possibili: <schema>
Elementi figlio possibili: <annotation>