Usar el modo RAW
El modo RAW transforma cada fila del conjunto de resultados de la consulta en un elemento XML que tiene el identificador genérico <row> o el nombre del elemento, que se proporciona de manera opcional. De manera predeterminada, cada valor de columna del conjunto de filas que no es NULL se asigna a un atributo del elemento <row>. Si se agrega la directiva ELEMENTS a la cláusula FOR XML, cada valor de columna se asigna a un subelemento del elemento <row>. Opcionalmente, junto con la directiva ELEMENTS se puede especificar la opción XSINIL para asignar los valores de columna NULL del conjunto de resultados a un elemento que tenga el atributo, xsi:nil="true".
Se puede solicitar un esquema para el XML resultante. Si se especifica la opción XMLDATA se devuelve un esquema XDR en línea. Si se especifica la opción XMLSCHEMA se devuelve un esquema XSD en línea. El esquema aparece al principio de los datos. En el resultado, la referencia al espacio de nombres del esquema se repite en todos los elementos de nivel superior.
La opción BINARY BASE64 se debe especificar en la cláusula FOR XML para devolver los datos binarios en formato codificado en base 64. En el modo RAW, si se recuperan los datos binarios sin especificar la opción BINARY BASE64, se produce un error.
Ejemplos
En las consultas de los ejemplos siguientes se muestra cómo se utiliza el modo RAW de FOR XML con varias opciones. Muchas de estas consultas se especifican utilizando los documentos XML de instrucciones de fabricación de bicicletas almacenados en la columna Instructions de la tabla ProductModel. Para obtener más información acerca de las instrucciones XML, vea Representación de tipo de datos xml en la base de datos AdventureWorks.
En esta sección
Esta sección contiene los siguientes ejemplos:
Ejemplo: Recuperar información de modelos de productos como XML
Ejemplo: Especificar XSINIL con la directiva ELEMENTS
Ejemplo: Solicitar esquemas como resultados mediante las opciones XMLDATA y XMLSCHEMA
Ejemplo: Especificar un elemento raíz para el XML generado por FOR XML