XML 문서를 다른 형식의 문서로 출력시키기 위해서 사용되는 언어.
다음 세 가지로 구성된다.
- XSLT : XSL Transformations를 의미하며, XML 문서를 다른 구조의 문서로 변환시키기 위한 언어입니다.
- XPath : XML 문서의 특정 요소나 속성에 접근하기 위한 경로를 지정하는 언어입니다.
- XSL-FO : XML 데이터를 출력하기 위한 목적으로 설계된 언어입니다.
다음은 처리되는 과정의 순서도이다.
먼저, 데이터에 해당하는 data.xml
을 정의한다.
<?xml version="1.0" encoding="UTF-8"?>
<programming_languages>
<language>
<name>HTML</name>
<category>web</category>
<developer>W3C</developer>
<version status="working draft">5.1</version>
<priority rating="1">high</priority>
</language>
<language>
<name>CSS</name>
<category>web</category>
<developer>W3C</developer>
<version status="stable">3.0</version>
<priority rating="3">middle</priority>
</language>
<language>
<name korean="자바">Java</name>
<category>application</category>
<developer>Oracle</developer>
<version status="stable">8.91</version>
<priority rating="2">high</priority>
</language>
<language>
<name korean="파이썬">Python</name>
<category>application</category>
<developer>Python</developer>
<version status="stable">3.52</version>
<priority rating="4">middle</priority>
</language>
</programming_languages>
다음으로 출력시키길 원하는 형태의 xhtml.xsl
을 작성한다.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/>
<xsl:template match="/">
<html>
<body>
<h2 style="text-align:center">프로그래밍 언어</h2>
<table border="1" style="width: 50%; margin: auto">
<tr>
<th>이름</th>
<th>종류</th>
<th>개발사</th>
<th>버전</th>
<th>중요도</th>
</tr>
<xsl:for-each select="programming_languages/language">
<tr>
<td><xsl:value-of select="name"/></td>
<td><xsl:value-of select="category"/></td>
<td><xsl:value-of select="developer"/></td>
<td><xsl:value-of select="version"/></td>
<td><xsl:value-of select="priority"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
마지막으로 data.xml
에, xhtml.xsl
을 연결시켜주기 위한 선언을 삽입한다.
<!-- data.xml -->
...
...
<?xml-stylesheet type="text/xsl" href="xml_xslt_01.xsl"?>
http://tcpschool.com/xml/xml_dom_concept
https://shonm.tistory.com/446