Generazione di uno schema XDR inlineGenerate an Inline XDR Schema

La direttiva XMLDATA in FOR XML restituisce uno schema XDR inline insieme al risultato della query.The XMLDATA directive in FOR XML returns an inline XDR schema together with the query result. Lo schema XDR tuttavia non supporta tutti i nuovi tipi di dati e i miglioramenti introdotti in SQL Server 2005SQL Server 2005 e versioni successive.However, the XDR schema does not support all the new data types and other enhancements introduced in SQL Server 2005SQL Server 2005 and later versions. In alternativa, è possibile richiedere uno schema XSD inline usando la direttiva XMLSCHEMA.Instead, you can request an inline XSD schema by using the XMLSCHEMA directive.

Importante

La direttiva XMLDATA all'opzione FOR XML è deprecata.The XMLDATA directive to the FOR XML option is deprecated. Utilizzare la generazione XSD in caso di modalità RAW e AUTO.Use XSD generation in the case of RAW and AUTO modes. Non sono disponibili sostituzioni per direttiva XMLDATA in modalità EXPLICIT.There is no replacement for the XMLDATA directive in EXPLICIT mode. Questa funzionalità verrà rimossa a partire da una delle prossime versioni di Microsoft SQL Server.This feature will be removed in a future version of Microsoft SQL Server. Evitare di usare questa funzionalità in un nuovo progetto di sviluppo e prevedere interventi di modifica nelle applicazioni in cui è attualmente implementata.Avoid using this feature in new development work, and plan to modify applications that currently use this feature.

Per il supporto dello schema XDR inline, notare inoltre quanto segue:Also note the following about the inline XDR schema support:

  • Se il risultato della query FOR XML include colonne di tipo xml e viene richiesto uno schema XDR inline, sarà generato un errore.If the FOR XML query result includes columns of xml type and you request an inline XDR schema, an error is returned. Gli schemi XDR inline non supportano infatti questi tipi.Inline XDR does not support these types.

  • Verrà eseguito il mapping dei tipi (n)varchar(max) e (n)varbinary(max) rispettivamente a (n)varchar(n) e varbinary(n).The (n)varchar(max) and (n)varbinary(max) types will be mapped to (n)varchar(n) and varbinary(n), respectively.

  • Se la modalità di compatibilità è impostata su 90 o superiore, i valori timestamp vengono considerati come dati varbinary(8) , trattati come dati binari e restituiti nel risultato nel modo seguente:When compatibility mode is set to 90 or higher, timestamp values are considered as varbinary(8) data, are treated like binary data, and are returned in the result as follows:

    • Se si specifica binary base64 , viene usata la codifica Base64.Base 64 encoding is used when binary base64 is specified.

    • Se non si specifica binary base64 , viene usata la codifica URL in modalità AUTO.URL encoding is used in AUTO mode when binary base64 is not specified.