방법: XML 웹 서버 컨트롤의 XML 데이터 변환
업데이트: 2007년 11월
XSLT(XSL transformations) 스타일시트(.xslt 또는 .xsl 파일)는 소스 XML 문서의 내용을 특정 사용자, 미디어 또는 클라이언트를 위해 특별히 제작된 프레젠테이션으로 변환하는 데 사용됩니다. Xml 웹 서버 컨트롤의 XML 데이터를 변환하는 방법은 두 가지입니다.
외부 .xslt 파일을 가리켜서 변환을 XML 문서에 자동으로 적용합니다.
XslTransform 형식의 개체인 변환을 XML 문서에 적용합니다.
두 방법 모두 결과는 같으므로 응용 프로그램에서 편리한 방법을 선택하면 됩니다. 변환이 .xsl 또는 .xslt 파일 형식이면 파일을 쉽게 로드할 수 있습니다. 변환이 개체 형식이면 다른 프로세스에 의해 응용 프로그램으로 전달되므로 개체로 적용할 수 있습니다.
참고: |
---|
XslTransform 클래스를 사용해도 .xsl 또는 .xslt 파일을 변환 인스턴스로 로드할 수 있습니다. |
파일의 변환을 적용하려면
Web Forms 페이지에 Xml 컨트롤을 추가합니다.
Xml 컨트롤의 TransformSource 속성을 XSLT 문서에 대한 경로로 설정합니다.
참고: 응용 프로그램이 실행될 때는 XML 파일을 읽을 수 있는 충분한 권한이 있는지 확인해야 합니다.
다음 코드 예제에서는 파일의 변환을 Xml1이라는 Xml 컨트롤에 적용하는 방법을 보여 줍니다.
Xml1.TransformSource = "mystyle.xsl"
Xml1.TransformSource = "mystyle.xsl";
XslTransform 개체의 변환을 적용하려면
XslTransform 클래스의 인스턴스를 만듭니다.
Xml 컨트롤의 Transform 속성을 변환 인스턴스로 설정합니다.
다음 코드 예제에서는 변환 클래스의 인스턴스를 만들고 이 인스턴스를 사용하여 변환을 개체에 적용하는 방법을 보여 줍니다. 이 예제에서는 XML 문서와 변환을 모두 파일에서 읽지만 실제 응용 프로그램에서는 두 개체 모두 다른 구성 요소에서 가져올 수 있습니다. 변환은 페이지를 로드하는 즉시 적용됩니다.
Private Sub Page_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load Dim doc As System.Xml.XmlDocument = New System.Xml.XmlDocument() doc.Load(Server.MapPath("MySource.xml")) Dim trans As System.Xml.Xsl.XslTransform = _ New System.Xml.Xsl.XslTransform trans.Load(Server.MapPath("MyStyle.xsl")) Xml1.Document = doc Xml1.Transform = trans End Sub
private void Page_Load(object sender, System.EventArgs e) { System.Xml.XmlDocument doc = new System.Xml.XmlDocument(); doc.Load(Server.MapPath("MySource.xml")); System.Xml.Xsl.XslTransform trans = new System.Xml.Xsl.XslTransform(); trans.Load(Server.MapPath("MyStyle.xsl")); Xml1.Document = doc; Xml1.Transform = trans; }