이번에는 RSS 파일이 있는 URL을 읽어서 내가 원하는 방식대로 HTML을 만들어 내는 XSLT 파일을 만들어 보도록 하겠습니다.
샘플로 사용한 RSS URL은
http://news.naver.com/rss/rss_presscenter.nhn?office_id=032
입니다.
일단 이 RSS 정보를 갖고 있는 xml 파일을 정의합니다.
rss.xml
===================
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="rss.xsl"?>
<root>
<doc href="http://news.naver.com/rss/rss_presscenter.nhn?office_id=032"/>
</root>
너무 간단한가요?
하지만.. 붉은 부분으로 표시되어 있는 부분이 젤 중요합니다.
RSS 를 HTML로 만들어 줄 스타일쉬트입니다.
다음은 이 xml 파일을 이용하여 HTML 파일을 만드는.. XSL 파일입니다.
rss.xsl
=================================
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/xpath-functions" xmlns:xdt="http://www.w3.org/2005/xpath-datatypes">
<xsl:output indent="yes" encoding="euc-kr"/>
<xsl:template match="/">
<html>
<head>
<title></title>
</head>
<body>
<xsl:apply-templates select="//doc"/>
</body>
</html>
</xsl:template>
<xsl:template match="doc">
<xsl:apply-templates select="document(@href)//rss"/>
</xsl:template>
<xsl:template match="rss">
<xsl:apply-templates select="channel"/>
</xsl:template>
<xsl:template match="channel">
<table border="1">
<tbody>
<tr>
<th>TITLE</th>
<td><a href='{link}'><xsl:value-of select="title"/></a></td>
</tr>
<tr>
<th>Desc.</th>
<td><xsl:value-of select="description"/></td>
</tr>
<xsl:apply-templates select="item"/>
</tbody>
</table>
</xsl:template>
<xsl:template match="item">
<tr>
<td>ITEM</td>
<td><a href="{link}"><xsl:value-of select="title"/></a></td>
</tr>
</xsl:template>
</xsl:stylesheet>
이 파일은 좀 복잡하군요..
하지만.. 제일 중요한 부분이 바로 붉은 색으로 표시된 부분입니다.
xml에 표시되어 있는 url의 RSS XML 파일을 읽어 오는 부분이기 때문입니다.
자 되었습니다. 이 두개의 파일을 같은 폴더에 놓고..
웹브라우저를 이용하여 rss.xml 파일을 엽니다..
그러면.. 짜잔.. 하고.. 아래 화면과 같이 출력됩니다.
이 화면에서.. 두번째.. "구직 단념...."을 누르면.. 당근.. 아래와 같이 출력 됩니다.
자.. 이제 여러분이 원하는 대로.. XSL을 편하게 고치시면 됩니다..
위 이름으로 파일을 같은 폴더에 저장하시기 바랍니다.
도움이 되시길 바랍니다.
'Education > Bit 18th' 카테고리의 다른 글
미니 프로젝트(웹 출판 서비스) - 실버라이트 파일전송 (0) | 2009.10.28 |
---|---|
xsl:param 이용 (0) | 2009.10.21 |
XSLT 사용하기 -1- (0) | 2009.10.20 |
WinForm으로 구현한 SunBee (0) | 2009.10.18 |
SunBee Console DB Version (0) | 2009.10.18 |
댓글