XslCompiledTransform 클래스에 대한 입력
Transform 메서드는 소스 문서에 대한 세 가지 입력 형식을 허용합니다. 즉, IXPathNavigable 인터페이스를 구현하는 개체, 소스 문서를 읽는 XmlReader 개체 또는 문자열 URI를 허용합니다.
참고 항목
기본적으로 XslCompiledTransform 클래스는 공백을 유지합니다. 이러한 점은 W3C XSLT 1.0 권장 사항의 섹션 3.4과 일치합니다.
IXPathNavigable 인터페이스
IXPathNavigable 인터페이스는 XmlNode 및 XPathDocument 클래스에서 구현됩니다. 이 클래스는 XML 데이터의 메모리 내 캐시를 나타냅니다.
XmlNode 클래스는 W3C DOM(문서 개체 모델)을 기반으로 하며 편집 기능이 있습니다.
XPathDocument 클래스는 XPath 데이터 모델을 기반으로 하는 읽기 전용 데이터 저장소입니다. XPathDocument는 XSLT 처리에 권장되는 클래스입니다. 이 클래스는 XmlNode 클래스와 비교하여 속도가 더 빠릅니다.
참고 항목
변형은 문서 전체에 적용됩니다. 즉, 문서 루트 노드 이외의 노드에 전달해도 변환 프로세스에서 로드된 문서의 모든 노드에 액세스할 수 있습니다. 노드 조각을 변형하려면 노드 조각만 포함하는 개체를 만들고 이 개체를 Transform 메서드에 전달해야 합니다. 자세한 내용은 방법: 노드 조각 변환을 참조하세요.
다음 예제에서는 XslCompiledTransform.Transform 메서드를 통해 transform.xsl 스타일시트를 사용하여 books.xml 파일을 books.html 파일로 변형합니다. books.xml 및 transform.xsl 파일은 방법: 어셈블리를 사용하여 XSLT 변환 수행 항목에서 찾을 수 있습니다.
// Open books.xml as an XPathDocument.
XPathDocument doc = new XPathDocument("books.xml");
// Create a writer for writing the transformed file.
XmlWriter writer = XmlWriter.Create("books.html");
// Create and load the transform with script execution enabled.
XslCompiledTransform transform = new XslCompiledTransform();
XsltSettings settings = new XsltSettings();
settings.EnableScript = true;
transform.Load("transform.xsl", settings, null);
// Execute the transformation.
transform.Transform(doc, writer);
' Open books.xml as an XPathDocument.
Dim doc As XPathDocument = New XPathDocument("books.xml")
' Create a writer for writing the transformed file.
Dim writer As XmlWriter = XmlWriter.Create("books.html")
' Create and load the transform with script execution enabled.
Dim transform As XslCompiledTransform = New XslCompiledTransform()
Dim settings As XsltSettings = New XsltSettings()
settings.EnableScript = True
transform.Load("transform.xsl", settings, Nothing)
'Execute the transformation.
transform.Transform(doc, writer)
XmlReader 개체
Transform 메서드는 모든 자식을 통해 XmlReader의 현재 노드로부터 로드합니다. 그러면 문서의 일부를 컨텍스트 문서로 사용할 수 있습니다. Transform 메서드가 반환된 후 XmlReader가 컨텍스트 문서 끝 뒤의 다음 노드에 배치됩니다. 문서 끝에 도달하면 XmlReader가 EOF(파일 끝)에 배치됩니다.
다음 예제에서는 XslCompiledTransform.Transform 메서드를 통해 transform.xsl 스타일시트를 사용하여 books.xml 파일을 books.html 파일로 변형합니다. books.xml 및 transform.xsl 파일은 방법: 어셈블리를 사용하여 XSLT 변환 수행 항목에서 찾을 수 있습니다.
// Create a reader to read books.xml
XmlReader reader = XmlReader.Create("books.xml");
// Create a writer for writing the transformed file.
XmlWriter writer = XmlWriter.Create("books.html");
// Create and load the transform with script execution enabled.
XslCompiledTransform transform = new XslCompiledTransform();
XsltSettings settings = new XsltSettings();
settings.EnableScript = true;
transform.Load("transform.xsl", settings, null);
// Execute the transformation.
transform.Transform(reader, writer);
'Create a reader to read books.xml
Dim reader As XmlReader = XmlReader.Create("books.xml")
' Create a writer for writing the transformed file.
Dim writer As XmlWriter = XmlWriter.Create("books.html")
' Create and load the transform with script execution enabled.
Dim transform As XslCompiledTransform = New XslCompiledTransform()
Dim settings As XsltSettings = New XsltSettings()
settings.EnableScript = True
transform.Load("transform.xsl", settings, Nothing)
' Execute the transformation.
transform.Transform(reader, writer)
문자열 URI
소스 문서 URI를 XSLT 입력으로 지정할 수도 있습니다. XmlResolver를 사용하여 URI를 확인할 수 있습니다. 사용할 XmlResolver를 Transform 메서드에 전달하여 지정할 수 있습니다. XmlResolver를 지정하지 않으면 Transform 메서드는 자격 증명 없이 기본 XmlUrlResolver를 사용합니다.
다음 예제에서는 XslCompiledTransform.Transform 메서드를 통해 transform.xsl 스타일시트를 사용하여 books.xml 파일을 books.html 파일로 변형합니다. books.xml 및 transform.xsl 파일은 방법: 어셈블리를 사용하여 XSLT 변환 수행 항목에서 찾을 수 있습니다.
// Create and load the transform with script execution enabled.
XslCompiledTransform transform = new XslCompiledTransform();
XsltSettings settings = new XsltSettings();
settings.EnableScript = true;
transform.Load("transform.xsl", settings, null);
// Execute the transformation.
transform.Transform("books.xml", "books.html");
' Create and load the transform with script execution enabled.
Dim transform As XslCompiledTransform = New XslCompiledTransform()
Dim settings As XsltSettings = New XsltSettings()
settings.EnableScript = True
transform.Load("transform.xsl", settings, Nothing)
' Execute the transformation.
transform.Transform("books.xml", "books.html")
자세한 내용은 XSLT 처리 중 외부 리소스 확인을 참조하세요.
참고 항목
.NET