다음을 통해 공유


XML 출력에 변환 적용

업데이트: 2006년 12월 12일

XML 렌더링 확장 프로그램을 사용하면 런타임에 보고서 내보내기 작업 중 만들어지는 XML 파일을 생성할 수 있습니다. 결과 XML 파일은 나중에 XSLT(XSL 변환)를 사용하여 거의 모든 형식으로 변환될 수 있습니다. XML 렌더링 확장 프로그램과 XSLT를 사용하면 기존 렌더링 확장 프로그램에서 지원되지 않는 형식도 만들 수 있습니다.

다음은 XSLT를 사용하는 일반적인 세 가지 시나리오입니다.

  • 데이터 전송 Reporting Services의 XML 출력을 다른 응용 프로그램에서 읽을 수 있는 다른 XML 형식으로 변환할 수 있습니다.
  • 텍스트 렌더링 XML 보고서를 일반 텍스트 파일로 변환할 수 있습니다. 보고서 데이터에 따라 앰퍼샌드 문자와 같은 특수 문자는 HTML로 인코딩된 형식(예: &amp;)으로 렌더링될 수 있습니다. 특수 문자가 HTML로 인코딩되는 것을 방지하려면 다음과 같은 메서드 특성을 XSLT 파일에 추가합니다. <xsl:output method="text" encoding="utf-8" media-type="text/plain"/>.
  • HTML 렌더링 XML 보고서에서 HTML 또는 기타 문서를 만들 수 있습니다.

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>&#xD;&#xA;</xsl:text>
  <xsl:apply-templates/>
</xsl:template>

<xsl:template match="Report">
  <xsl:for-each select="ProductTable/ProductTable_Group1_Collection/ProductTable_Group1">
    <xsl:text>&#xD;&#xA;</xsl:text>
    <xsl:value-of select="@Category"/>
    <xsl:for-each select="ProductTable_Group2_Collection/ProductTable_Group2">
      <xsl:text>&#xD;&#xA;    </xsl:text>
      <xsl:value-of select="@SubCategory"/>
      <xsl:for-each select="ProductTable_Group3_Collection/ProductTable_Group3">
        <xsl:text>&#xD;&#xA;        </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인 파일을 출력합니다. 이 예에서는 이전 예의 XSL이 보고서 서버에서 Product Catalog 보고서와 동일한 폴더에 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

Reporting Services 이외의 다른 응용 프로그램에서도 XSLT를 사용하여 XML 보고서를 변환할 수 있습니다. 보고서 서버에서 XML을 검색한 다음 고유의 응용 프로그램을 사용하여 XSLT를 적용할 수도 있습니다.

[!참고] 이 예에 사용된 XSL 파일은 Product Catalog 예제 보고서에만 사용할 수 있습니다. 다른 보고서를 사용하거나 Product Catalog 보고서를 변경하면 파일이 제대로 변환되지 않을 수도 있습니다.

참고 항목

개념

보고서 내보내기
XML 데이터의 보고서 데이터 집합 정의
XML 출력 디자인

관련 자료

Using a URL to Access Report Server Items
AdventureWorks 보고서 예제

도움말 및 정보

SQL Server 2005 지원 받기

변경 내역

릴리스 내역

2006년 12월 12일

변경된 내용
  • xml 렌더링 명령의 기본 예제 경로를 수정했습니다.

2005년 12월 5일

새로운 내용
  • 텍스트 렌더링에 대한 경고를 추가했습니다.