|
설명 | |
<xsl:template match=“/”> |
문서전체(루트)에 대해 원하는 출력을 생성하기 위해 템플릿을 정의합니다. |
<xsl:for-each select=“rss/channel> |
선택한 element에서 반복작업을 실행한다. |
<xsl:value-of select=“title”> |
선택한 element의 값을 텍스트로 삽입합니다. |
<xsl:apply-templates select=“” /> |
이 부분의 작업을 선택한 다른 template에서 정의 한다. <xsl:template>요소 내부에 기술해야 한다. |
4. 변환 예제
Book.xml(.htm, .xml로 변환 시킬 파일) |
Program.cs |
static void Main(string[] args) { Translate("book.xml", "xml_change.xsl", "xml_result.xml"); Translate("book.xml", "htm_change.xsl", "htm_result.htm"); }
private static void Translate(string source, string xsl, string target) { XslCompiledTransform xslt = new XslCompiledTransform(); xslt.Load(xsl); xslt.Transform(source, target); } |
C# 콘솔프로그램으로 만들었다. xsl파일을 로드하여 source파일을 xls를 이용하여 변환하여 target의 이름으로 만든다. |
Htm_change.xsl(xml파일을 htm파일(테이블)로 변환) |
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="channel"> <HTML> <BODY> <TABLE BORDER="2"> <TR> <TD>Title</TD> <TD>Author</TD> <TD>Publisher</TD> <TD>Price</TD> </TR> <xsl:apply-templates select="item"/> </TABLE> </BODY> </HTML> </xsl:template> <xsl:template match="item"> <TR> <TD><xsl:value-of select="title" /></TD> <TD><xsl:value-of select="author" /></TD> <TD><xsl:value-of select="publisher" /></TD> <TD><xsl:value-of select="price" /></TD> </TR> </xsl:template> </xsl:stylesheet> |
|
Book.xml파일을 Xsl변환 파일을 이용하여 필요한 정보들만 htm에 표로 보여주도록 만들었다. xsl파일은 메모장 작성후 확장자를 xsl로 바꿔주었다. |
Xml_change.xsl(xml파일의 Element이름 바꾸기) |
<?xml version="1.0" encoding="euc-kr" ?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <책리스트> <xsl:for-each select="rss/channel/item"> <책><xsl:value-of select="channel"></xsl:value-of> <제목><xsl:value-of select="title"/></제목> <저자><xsl:value-of select="author"/></저자> <출판사><xsl:value-of select="publisher"/></출판사> <가격><xsl:value-of select="price"/></가격> </책> </xsl:for-each> </책리스트> </xsl:template> </xsl:stylesheet> |
Book.xml파일을 Xsl변환 파일을 이용하여 Element요소들의 이름을 바꾸고 필요한 정보들만 변경하였다. |
|