외부 XSLT 스타일시트 및 문서 확인
업데이트: November 2007
다음과 같이 변환 중에 외부 리소스를 확인해야 하는 몇 가지 경우가 있습니다.
참고: |
---|
XslTransform 클래스는 .NET Framework 버전 2.0에서 사용되지 않습니다. XslCompiledTransform 클래스를 사용하여 XSLT(eXtensible Stylesheet Language for Transformations) 변환을 수행할 수 있습니다. 자세한 내용은 XslCompiledTransform 클래스 사용 및 XslTransform 클래스에서 마이그레이션을 참조하십시오. |
다음과 같이 변환 중에 외부 리소스를 확인해야 하는 몇 가지 경우가 있습니다.
Load 중에 외부 스타일시트를 찾는 경우
Load 중에 스타일시트에 있는 모든 <xsl:include> 또는 <xsl:import> 요소를 확인하는 경우
Transform 중에 document() 함수를 확인하는 경우
XmlResolver 클래스 사용
네트워크 리소스에 액세스하기 위해 인증이 필요한 경우 XmlResolver 매개 변수를 사용하여 필요한 자격 증명 속성 집합을 갖는 XmlResolver 개체를 전달할 수 있는 Load 메서드를 사용합니다.
다음 표에서는 사용하려는 사용자 지정 XmlResolver가 있거나 다른 자격 증명을 지정해야 하는 경우 외부 리소스 확인이 필요한 시기에 따라 필요한 작업의 목록을 보여 줍니다.
확인이 필요한 프로세스 |
필요한 작업 |
---|---|
Load 중에 스타일시트 찾기 |
스타일시트가 자격 증명을 요구하는 리소스에 있는 경우 XmlResolver를 매개 변수로 사용하는 오버로드된 Load 메서드를 지정합니다. |
Load 중에 <xsl:include> 또는 <xsl:import> 확인 |
매개 변수로 XmlResolver를 사용하는 오버로드된 Load 메서드를 지정합니다. XmlResolver를 사용하여 import 또는 include 문에서 참조하는 스타일시트를 로드합니다. null로 전달하는 경우에는 외부 리소스가 확인되지 않습니다. |
변환 중에 모든 document() 함수 확인 |
XmlResolver 인수를 사용하는 Transform 메서드를 통해 변환 중에 XmlResolver를 지정합니다. |
document() 함수는 입력 스트림에서 제공하는 초기 XML 데이터뿐 아니라 스타일시트의 다른 XML 리소스도 검색합니다. 이 함수를 사용하면 어느 위치에 있는 XML 데이터도 포함시킬 수 있으므로 Transform 메서드에 null 값이 제공된 XmlResolver는 document() 함수가 실행되지 않도록 합니다. document() 함수를 사용하려면 적절한 권한을 설정하고 XmlResolver를 매개 변수로 사용하는 Transform 메서드를 사용합니다.
Load 메서드 및 이 메서드에서 XmlResolver를 사용하는 방법에 대한 자세한 내용은 XslTransform.Load(String, XmlResolver)를 참조하십시오. XmlResolver 클래스에 대한 자세한 내용은 XmlResolver를 사용하여 리소스 확인 및 XmlResolver 클래스를 참조하십시오.
Transform 메서드가 호출되면 로드 시 제공된 증명 정보에 따라 권한이 판별되어 해당 권한 집합이 전체 변환 프로세스에 지정됩니다. document() 함수에서 해당 권한 집합에 없는 권한을 요구하는 작업을 시작하려고 하면 예외가 throw됩니다.
참고 항목
개념
XslTransform 클래스를 사용하여 XSLT 변환
XslTransform 클래스의 XSLT 프로세서 구현
스타일시트 매개 변수 및 확장 개체의 XsltArgumentList
<msxsl:script>를 사용한 XSLT 스타일시트 스크립트
XslTransform에 대한 XPathDocument 입력