이쿠의 슬기로운 개발생활

함께 성장하기 위한 보안 개발자 EverNote 내용 공유

Tool 사용법

xsltproc 사용법

이쿠우우 2022. 3. 25. 17:06
반응형

 

 
 

xsltproc 사용법

 
 

xsltproc 란?

xml 양식에서 원하는 정보를 추출하기 위해 사용하는 tool
 

xsltproc 설치

centos 7,8에는 default로 제공되고 있음.
 
[명령어]
Redhat : yum install -y xsltproc
Ubuntu : apt install xsltproc

 

[설치 확인]
xsltproc -V

 

 

xsltproc 사용법

 

예제 XML 파일 생성

"cdcatalog.xml" 이라는 xml 파일이 있는 경우를 예제로 사용해봄.
내용은 아래와 같음.
<?xml version="1.0" encoding="UTF-8"?>
<catalog>
  <cd>
    <title>Empire Burlesque</title>
    <artist>Bob Dylan</artist>
    <country>USA</country>
    <company>Columbia</company>
    <price>10.90</price>
    <year>1985</year>
  </cd>
  <cd>
    <title>Hide your heart</title>
    <artist>Bonnie Tyler</artist>
    <country>UK</country>
    <company>CBS Records</company>
    <price>9.90</price>
    <year>1988</year>
  </cd>
  <cd>
    <title>Greatest Hits</title>
    <artist>Dolly Parton</artist>
    <country>USA</country>
    <company>RCA</company>
    <price>9.90</price>
    <year>1982</year>
  </cd>
</catalog>
 

예제 XSL 파일 생성

xsltproc 을 사용하기 위해서는
xsltproc 문법을 작성한 파일이 필요함.
일반적으로 확장자를 xsl로 생성함
"cdcatalog.xsl" 파일 생성
 
일반적으로 확장자를 xsl로 생성함
"cdcatalog.xsl" 파일 생성
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
  <html>
  <body>
  <h2>My CD Collection</h2>
  <table border="1">
    <tr bgcolor="#9acd32">
      <th>Title</th>
      <th>Artist</th>
    </tr>
    <xsl:for-each select="catalog/cd">
    <tr>
      <td><xsl:value-of select="title"/></td>
      <td><xsl:value-of select="artist"/></td>
    </tr>
    </xsl:for-each>
  </table>
  </body>
  </html>
</xsl:template>

</xsl:stylesheet>
예제로 원하는 정보를 표 형식으로 생성해봄
 
[<th>Title</th> <th>Artist</th>]
표 상단의 항목 설명을 Title, Aritst 로 설정
 
<td><xsl:value-of select="title"/></td>
<td><xsl:value-of select="artist"/></td>
"cdcatalog.xml" 파일에서 title과 artist 항목을 추출함.
 
 

xsltproc 명령 실행

[명령어]
xsltproc {XSLT file} {Source XML}
예) xsltproc ps.xsl test.xml
 
[결과 확인]

 

 

 

xsltproc 결과 확인

상위 명령으로 나온 결과를 html 파일로 생성해서 결과 확인
 
test.html 파일 생성
<html><body>
<h2>My CD Collection</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th>Title</th>
<th>Artist</th>
</tr>
<tr>
<td>Empire Burlesque</td>
<td>Bob Dylan</td>
</tr>
<tr>
<td>Hide your heart</td>
<td>Bonnie Tyler</td>
</tr>
<tr>
<td>Greatest Hits</td>
<td>Dolly Parton</td>
</tr>
</table>
</body></html>
 

 

[결과 확인]

xsltproc를 사용해서 추출한 항목을 정상적으로 확인 가능.

 


 

참고

https://www.w3schools.com/xml/xsl_transformation.asp

반응형