Share via


RAW モードの使用

RAW モードでは、クエリの結果セットの各行が XML 要素に変換されます。この XML 要素は、汎用識別子 <row> を持つか、必要に応じて要素名が付けられます。既定では、NULL 以外の行セットの各列の値が <row> 要素の属性にマップされます。FOR XML 句に ELEMENTS ディレクティブが追加されると、各列の値が <row> 要素のサブ要素にマップされます。必要に応じて ELEMENTS ディレクティブと共に XSINIL オプションを指定して、xsi:nil="true" の属性を持つ要素に結果セットの NULL 列値をマップできます。

結果として生成される XML のスキーマを要求できます。XMLDATA オプションを指定すると、インライン XDR スキーマが返されます。XMLSCHEMA オプションを指定すると、インライン XSD スキーマが返されます。スキーマはデータの先頭に示されます。その結果、トップレベルの要素ごとにスキーマの名前空間参照が繰り返されます。

バイナリ データを base64 エンコード形式で返すには、BINARY BASE64 オプションを FOR XML 句に指定する必要があります。RAW モードでは、BINARY BASE64 オプションを指定しないでバイナリ データを取得すると、エラーが発生します。

次の例のクエリでは、さまざまなオプションを指定して、どのように FOR XML RAW モードが使用されるかを示します。クエリの多くは、ProductModel テーブルの Instructions 列に格納されている、自転車の製造手順の XML ドキュメントに対して指定されています。製造手順の XML の詳細については、「AdventureWorks データベースの xml データ型表現」を参照してください。