정보: .NET 응용 프로그램에서 XSLT 변환의 실행을 로드맵

기술 자료 번역 기술 자료 번역
기술 자료: 313997 - 이 문서가 적용되는 제품 보기.
모두 확대 | 모두 축소

이 페이지에서

요약

이 문서에서는 .NET Framework 네임스페이스 및 프로그래밍 방식으로 .NET 응용 프로그램에서 확장 가능한 스타일시트 언어 변환 (XSLT) 변환을 실행하는 데 사용할 수 있는 클래스를 소개하고 로드맵을 제공합니다. 로드맵 문서는 온라인 설명서, Microsoft 기술 자료 문서를 Microsoft Microsoft 제품이나 기술에 대해 배울 수 있도록 백서 등의 유용한 정보에 대한 링크를 제공합니다.

이 문서에서는 XSLT 자습서를 아닙니다. 이 문서에서는 함께 World Wide Web Consortium (W3C) XSLT standard 익숙한 및 XML 데이터를 변환하는 XSLT 스타일시트를 작성하는 함께 경험이 가정합니다.

개요

XSLT는 웹 W3C (컨소시엄) 표준 XML 데이터를 변환하기 위한 것입니다. XSLT은 스타일시트를 XML 데이터를 고정 길이 텍스트, 쉼표로 구분된 텍스트 또는 다른 XML 형식으로 HTML 같은 다른 형식으로 변환하는 쓸 일반적으로 사용됩니다.

개발자의 관점에서 보면 XSLT 프로그래밍 구문 및 일반적인 변환 요구 사항을 해결하기 위해 요소에 해당하는 요소가 구현하는 풍부한, XML 기반 구문 사용하여 프로그래밍 언어입니다.

XSLT 스타일시트를 자주 XML 경로 언어 (XPath) 쿼리를 원본 XML 문서에서 노드를 찾아 이러한 노드 변환하는 XSLT 템플릿을 적용할 수 있습니다. XSLT 스타일시트 XPath 쿼리에서 효율성을 자주 영향 및 사용할 변환 성능에 영향을 미칠.

높은 수준의 대기 지점에서 XSLT 프로세서에서 지정한 원본 XML 문서를 XSLT 변환을 실행할 수 및 필요한 출력을 생성하는 데 지정된 스타일시트에 적용됩니다 소프트웨어 구성 요소입니다.

XSLT 변환을 생성하는 최종 출력 일반적으로 원본 XML 데이터가 지정된 대상 형식으로 표시하는 결과 문서입니다.

.NET 응용 프로그램에서 XSLT 변환 실행 코드 작성

다음 퀵 스타트 자습서 및 Microsoft 기술 자료 문서를 기본 변환을 실행하는 데 XML 문서에 XSLT 스타일시트를 적용하려면 .NET 응용 프로그램에 코드를 작성하는 방법을 보여 줍니다.
I. 어떻게 일.. XML로 XSL 변환 적용?
http://samples.gotdotnet.com/quickstart/howto/doc/Xml/TransformXml.aspx
307322방법: Visual C# .NET을 사용하여 XML 문서에서 XSL 변환 적용
300929Visual Basic .NET을 사용하여 XML 문서에서 XSL 변환에 XML 문서에서로의 방법 적용

System.Xml.Xsl 네임스페이스

System.Xml.Xsl 네임스페이스의 XslTransform 클래스는 .NET Framework XSLT 프로세서에서 구현합니다. 이 클래스의 인스턴스를 만들고 .NET 응용 프로그램에서 XSLT 변환을 실행하는 데 사용되는 개체입니다. XSLT 프로세서의 .NET Framework 에서 버전과 W3C XSLT Recommendation 1.0 호환 구현입니다.

또한 System.Xml.Xsl 네임스페이스 XSLT 예외 처리 및 XSLT 변환 및 XPath 쿼리 실행과 관련된 고급 옵션을 지원하기 위해 다음 클래스를 구현합니다.
  • XsltArgumentList. 이 클래스의 개체 인스턴스를 확장 개체 인스턴스 및 XSLT 스타일시트를 정의할 XSLT 매개 변수 및 참조 값을 제공할 수 있습니다.
  • XsltCompileException. XSLT 스타일시트를 컴파일하는 동안 오류가 발생하면 이 클래스는 .NET Framework 예외를 생성합니다. XSLT 스타일시트는 XslTransform 개체의 Load 메서드를 실행할 때 컴파일됩니다.
  • XsltException. XSLT 변환을 실행하는 동안 런타임 오류가 발생할 때 이 클래스는 .NET Framework 예외를 생성합니다.
  • XsltContext, IXsltContextFunctionIXsltContextVariable. 이러한 구성 요소를 고급 요구 사항을 구현하고 사용자 정의 함수 및 변수 XPathNavigator 클래스 및 DOM (문서 개체 모델) 클래스를 사용하여 .NET 응용 프로그램에서 실행되는 XPath 쿼리에서 참조하는 경우 사용자 지정 XPath 쿼리 실행 컨텍스트를 구현하는 데 사용됩니다.

    XSLT 스타일시트를 에 포함된 XPath 쿼리 식에서 사용자 정의 함수와 변수에 더 쉽게 구현하기 위해 인라인 스크립트 블록은, 확장 개체 및 XSLT 변수 또는 매개 변수를 사용할 수 있습니다.

고급 XSLT 기능

이 절에서는 몇 가지 고급 XSLT 기능에 대해 설명합니다.

XSLT 변환을 파이프라인

파이프라인과 증분 두 개 이상의 XSLT 스타일시트를 적용하여 원본 XML 문서를 변환하는 과정을 의미합니다. 각 중간 단계에서 생성하는 출력을 다음 단계로 입력으로 제공된 마지막 단계는 끝까지 통해 적절한 출력을 어떤 다음 생성합니다.

이 메서드는 변환 프로세스에 직접 연결되지 않은 추가 처리를 위해 중간 단계 생성할 출력 유지할 합니다 경우에 유용합니다. 이 항목에 대한 추가 정보 및 그 사용을 보여 주는 코드 샘플을 아래 문서 번호를 눌러 Microsoft 기술 자료에 있는 문서를 클릭하십시오.
320847방법: 파이프라인 .NET 응용 프로그램에서 XSLT 변환을

매개 변수화된 XSLT 변환

일반적인 XSLT 연습 정의하려면 및 스타일시트 매개 변수를 사용할 수 있습니다. 매개 변수화된 XSLT 스타일시트를 <xsl:param> 요소를 선택적으로 찾아 원본 XML 데이터에 노드 변환 XPath 쿼리 식에서 참조되는 매개 변수를 정의할 수 있습니다. 정의된 매개 변수에 대한 값은 스타일시트에서 하드 코드된 수 또는 실행된 시간에 제공된 수 있습니다. 변환 프로세스를 제어하는 입력된 매개 변수 값을 동적으로 제공하는 후자의 방법은 이 기능의 가장 일반적인 사용량입니다.

.NET 응용 프로그램에서 XsltArgumentList 개체는 실행 시 XSLT 매개 변수에 대한 값을 제공하는 데 사용됩니다. AddParam 메서드는 스타일 시트 및 해당 값을 XsltArgumentList 개체에 정의된 매개 변수를 나타내는 이름-값 쌍을 추가하는 데 사용됩니다. XsltArgumentList 개체 다음 변환을 실행하는 데 사용되는 XslTransform 개체의 변환 메서드를 실행할 때 매개 변수로 제공됩니다.

GetParamRemoveParam 메서드에 액세스할 수 XsltArgumentList 개체에 추가된 개별 매개 변수를 제거하는 데 사용됩니다. .NET 응용 프로그램에서 매개 변수화된 XSLT 변환을 실행하는 방법에 대한 자세한 내용은 아래 문서 번호를 눌러 Microsoft 기술 자료에 있는 문서를 클릭하십시오.
321704방법: .NET 응용 프로그램에서 매개 변수화된 XSL 변환 실행

인라인 스크립트 블록

인라인 스크립트 함수는 사용자 정의 함수를 구현하고 XSLT 스타일시트를 에서 사용되는 XPath 쿼리 식에서 참조되는 프로시저를 하위 사용할 수 있는 옵션 중 하나입니다. W3C 확장 인라인 스크립트 블록은 XSLT 스타일시트에 포함될 수가 있습니다.

.NET Framework에서 사용자 지정 인라인 함수 및 서브루틴 <msxsl:script> 블록은 XSLT 스타일시트의 코딩됩니다. Microsoft Visual Basic .NET 또는 Microsoft Visual C# .NET 같은 Visual Studio .NET 프로그래밍 언어를 사용하여 이러한 루틴을 구현할 수 있습니다.

인라인 스크립트 블록을 사용하는 것과 관련된 단점 중 하나는 이러한 이식 가능하지 XSLT 스타일시트를 만들 것입니다. 기술, 태그, 및 인라인 스크립트 블록은 구현하는 데 사용되는 의미를 W3C XSLT 사양에 않는 표준화하는 수행할 공급업체 특정 확장입니다.

정의하고 인라인 스크립트 블록은 관련된 의미 해석 및 코드를 실행할 수 있는 기술을 통합할 수 있는 XSLT 프로세서를 사용하여 실행되는 변환을 성공적으로 사용하는 XSLT 스타일시트를 하나만 사용할 수 있습니다.

.NET Framework에서 관리되는 어셈블리를 생성한 않으며 암시적으로 로드된 인라인 <msxsl:script> 포함된 코드를 실행할 스크립트 블록. 현재로서는 알려진된 문제가 .NET Framework의 이러한 어셈블리는 변환 프로세스가 완료될 때 올바르게 언로드되는 것을 방지합니다. XSLT 변환을 실행하는 영향을 받는 스타일시트를 반복적으로 로드된 경우 이 이상 메모리 사용량이 증가하는 발생할 수 있습니다. 호스트 프로세스가 재생되기 때 출시되지 않은 메모리가 해제됩니다. .NET Framework에서 이 문제에 대한 자세한 내용은 아래 문서 번호를 눌러 Microsoft 기술 자료에 있는 문서를 클릭하십시오.
316775PRB: 어셈블리 만들기 및 XSLT에서 스크립트를 사용하여 로드 있는 언로드 없음
Microsoft ASP.NET 응용 프로그램에서 이 문제를 해결하려면 응용 프로그램의 수명 중에 한 번만 영향을 받는 스타일시트를 로드할 영향을 받는 스타일시트, ASP.NET 캐시에 있는 캐시 및 다음 변환 캐시된 버전을 그 이후에 다시 사용할 수 있습니다.

Windows Forms 및 콘솔 응용 프로그램은 응용 프로그램이 시작될 때 영향을 받는 스타일시트를 로드할 수 및 나중에 변환을 실행할 전역 XslTransform 개체 인스턴스를 사용할 수 있습니다. 예를 들어, 중간 계층 엔터프라이즈 서비스 구성 요소)를 가진 상태 비저장 환경에서 실행되는 XSLT 변환의 있을 때 이러한 해결 방법이 적용되지 않습니다.

이 문제를 해결하려면 사용자 지정 XPath 확장 함수를 구현하는 XSLT 확장 개체를 사용하는 것이 좋습니다.

XSLT 확장 개체

XSLT 스타일시트를 에서 사용되는 XPath 쿼리 식에서 참조되는 함수와 사용자 지정 서브루틴 구현하려면 확장 개체를 사용하는 것이 좋습니다.

.NET Framework DLL 구현하려면 및 .NET 응용 프로그램에서 변환을 실행할 때 확장 개체를 사용하려면 만들 수 있습니다. 사용자 지정 서브루틴 및 함수가 DLL에 구현되는 및 DLL 구성 요소 개체 인스턴스를 XslTransform 개체의 변환 메서드를 실행할 때 XsltArgumentList 개체를 사용하여 런타임 매개 변수로 제공됩니다.

XsltArgumentList 클래스의 AddExtensionObject 메서드는 XsltArgumentList 개체에 확장 개체 인스턴스를 추가할 수 있습니다. 액세스 및 XsltArgumentList 개체에 추가한 확장 개체 인스턴스를 제거할 수 있는 가져오기 및 확장 개체 제거 메서드를 사용할 수 있습니다.

W3C XSLT 사양에 개념 및 확장 요소 사용 주소 및 함수 없이 주의하여 또는 구현하는 데 사용해야 하는 기본 기술 참조. 정의하고 함수 및 확장 개체가 구현된 서브루틴 참조할 수 있는 스타일시트의 표준 기반 XML 네임스페이스 접두사를 합니다. 공급업체 확장 개체 구현 측면을 해결하기 위해 해당 플랫폼 가장 적합한 기술을 선택할 수 있습니다. 개념 및 .NET Framework에서 XSLT 확장 개체 사용하는 방법에 대한 자세한 내용은 및 .NET 응용 프로그램에서 XSLT 변환을 실행할 때 확장 개체를 사용하는 방법을 보여 주는 종단 간 응용 프로그램을 만드는 단계를 보려면 아래 문서 번호를 눌러 Microsoft 기술 자료에 있는 문서를 클릭하십시오.
321702방법: Visual Basic .NET 응용 프로그램에서 XSL 변환 실행 시 확장 개체 사용

일반 XSLT 변환을 실행할 .NET Framework 클래스 사용 지침

  • XPathDocument 클래스 XSLT, XPath 처리는 위해 고도로 최적화되었습니다. 최적의 성능을 위해 항상 XPathDocument 개체를 사용하여 XSLT 변환을 실행하는 동안 원본 XML 제공합니다.
  • 캐시 및 나중에 변환을 실행하는 데 자주 사용되는 XSLT 스타일시트를 로드하는 데 사용되는 XslTransform 개체를 다시 사용할 수 있습니다.
  • XSLT 프로세서는 XSLT 변환을 사용할 확장 개체 인스턴스를 자동으로 캐시하지 않습니다. 캐시 및 나중에 변환을 실행할 때 자주 사용하는 XSLT 스타일시트는 확장 개체 인스턴스를 제공하는 데 사용되는 XsltArgumentList 개체를 다시 사용할 수 있습니다. XSLT 변환을 .NET Framework에서 사용되는 캐시 확장 개체에 방법입니다.
  • 경우에만 인라인 스크립트 블록은 구현하는 XSLT 스타일시트는 한 번 로드되고 캐시할 수 합니다. 나중에 변환의 캐시된 XslTransform 개체를 다시 합니다. 이 연습 스타일 시트에서 인라인 스크립트 함수를 사용해야 경우 Microsoft 기술 자료 문서 Q316775 설명하는 메모리 관리 문제를 해결할 수 있습니다.
  • 확장 개체를 사용하여 XSLT 스타일시트가 사용되는 XPath 쿼리 식에서 참조되는 사용자 지정 기능을 구현하는 것이 좋습니다. 구현 및 사용자 지정 확장 함수를 XPathNavigator 및 DOM 클래스를 사용하여 .NET 응용 프로그램에서 실행되는 XPath 쿼리 식에서 참조할 수 있을 때 사용자 지정 XsltContext, IXsltContextFunctionIXsltContextVariable 클래스를 구현하십시오.
  • 예외를 처리 XSLT 변환을 실행할 코드를 작성할 때 XsltCompileException, XsltExceptionXmlException .NET Framework 예외 클래스를 처리할 코드를 구현하십시오. 이 예외 클래스는 XSLT 변환을 실행할 때 발생하는 모든 XSLT 관련 또는 XML 관련 문제에 대한 정보를 제공합니다. 또한, 다른 특정 .NET Framework 예외를 처리하는 코드를 구현하는 XSLT 변환을 실행하는 코드 블록에서 구현된 다른 XSLT 관련 기능을 기반으로 제네릭 System.Exception 클래스를 구현하는 것이 좋습니다.

.NET Framework의 XSLT 변환 성능

원인 및 .NET 응용 프로그램에서 XSLT 변환을 실행할 때 알려진된 성능 문제에 대한 해결 방법에 대한 자세한 내용은 아래 문서 번호를 눌러 Microsoft 기술 자료에 있는 문서를 클릭합니다.
325689.NET Framework의 XSLT 변환 성능 정보:

문제 해결

문제가 발생하는 경우 또는 문의 사항이 있으시면 동료와 함께 사용자의 경험을 공유할 수 있는 MSDN 뉴스 그룹에 참조할 수 있습니다. 특정 문제에 대한 문서를 검색 또는 Microsoft 고객기술지원부에 문의하여 Microsoft 기술 자료에 사용할 수도 있습니다.
MSDN 뉴스 그룹
http://msdn.microsoft.com/newsgroups/

기술 자료 검색
http://support.microsoft.com/search

Microsoft 고객기술지원부
http://support.microsoft.com

참조

%1에 대한 자세한 내용은 Microsoft 기술 자료 문서에서는 %2 볼 수 있는 %2 아래 자료의 문서를 참조하십시오.
313651.NET Framework에서 XML 정보: 로드맵

속성

기술 자료: 313997 - 마지막 검토: 2005년 8월 12일 금요일 - 수정: 4.4
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft .NET Framework 1.1
  • Microsoft .NET Framework 1.0
키워드:?
kbmt kbarttyperoadmap kbinfo KB313997 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com