XML 出力に対する変換の適用
更新 : 2006 年 12 月 12 日
XML 表示拡張機能を使用すると、レポートのエクスポート操作中に作成される XML ファイルを実行時に生成できます。生成された XML ファイルは、その後、XSL 変換 (XSLT) を使用してほぼすべての形式に変換できます。XML 表示拡張機能と XSLT を使用すると、既存の表示拡張機能ではサポートされていない形式を生成できます。
XSLT が使用される 3 つの一般的なシナリオを以下に示します。
- データ転送 Reporting Services の XML 出力を、別のアプリケーションからも読み取ることができる別の XML 形式に変換できます。
- テキスト表示 XML レポートをプレーン テキスト形式のファイルに変換できます。レポート データによっては、アンパサンドなどの特殊文字が HTML エンコード形式 (& など) で表示されることがあります。特殊文字の HTML エンコードを避けるには、XSLT ファイルにメソッドの属性
<xsl:output method="text" encoding="utf-8" media-type="text/plain"/>
を追加します。 - HTML 表示 HTML などのドキュメントを XML レポートから作成できます。
XML 表示拡張機能で生成した XML は、生成元のレポートに固有のものです。そのため、そのレポートに固有の XSL 変換を記述する必要があります。
メモ : |
---|
Reporting Services では、セキュリティ上の理由から、Microsoft Visual Basic コードを埋め込んだ XSL 変換をサポートしていません。 |
例
次の XSL をファイルに保存してレポート サーバーにアップロードすると、そのファイルを使用して、Product Catalog サンプル レポートをプレーン テキストの製品モデル一覧に変換することができます。
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" encoding="utf-8" media-type="text/plain"/>
<xsl:strip-space elements="*"/>
<xsl:template match="/">
<xsl:text>Product Models</xsl:text>
<xsl:text>
</xsl:text>
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="Report">
<xsl:for-each select="ProductTable/ProductTable_Group1_Collection/ProductTable_Group1">
<xsl:text>
</xsl:text>
<xsl:value-of select="@Category"/>
<xsl:for-each select="ProductTable_Group2_Collection/ProductTable_Group2">
<xsl:text>
 </xsl:text>
<xsl:value-of select="@SubCategory"/>
<xsl:for-each select="ProductTable_Group3_Collection/ProductTable_Group3">
<xsl:text>
 </xsl:text>
<xsl:value-of select="@Model"/>
</xsl:for-each>
</xsl:for-each>
</xsl:for-each>
<xsl:apply-templates/>
</xsl:template>
</xsl:stylesheet>
サンプル レポートを変換するため、レポートの実行に使用する URL でデバイス情報の設定を使用できます。たとえば、次の URL は、レポートを実行し、変換を適用して、.txt 拡張子の付いたファイルを出力します。この例では、レポート サーバーの Product Catalog レポートと同じフォルダに、先ほどの例の XSL を ProductModels.xsl という名前で保存してあることを想定しています。
https://localhost/reportserver?/AdventureWorks%20Sample%20Reports/Product+Catalog&rs:Command=Render&rs:Format=XML&rc:OmitSchema=True&rc:FileExtension=txt&rc:XSLT=ProductModels.xsl
XSLT を使用して XML レポートを変換する際に、必ずしも Reporting Services を使用する必要はありません。レポート サーバーから XML を取得し、独自のアプリケーションを使用して XSLT を適用することもできます。
メモ : |
---|
この例で使用する XSL ファイルは、Product Catalog サンプル レポートに固有のものです。別のレポートを使用した場合、または Product Catalog レポートを変更した場合は、ファイルが正しく変換されないことがあります。 |
参照
概念
レポートのエクスポート
レポート データセットの定義 (XML データ)
XML 出力のデザイン
その他の技術情報
URL を使用したレポート サーバー アイテムへのアクセス
AdventureWorks サンプル レポート
ヘルプおよび情報
変更履歴
リリース | 履歴 |
---|---|
2006 年 12 月 12 日 |
|
2005 年 12 月 5 日 |
|