티스토리 뷰

XML Developer/XSL

XSLT <template>

미니~ 2011. 11. 21. 08:48
반응형


XSLT에서 사용하는 템플릿이라는 것을 살펴볼 시간입니다.
 
XSLT는 템플릿이라고 하는 규칙을 하나 이상 포함하고 있구요.. 각각의 템플릿은 일치하는 노드를 찾았을 때, 해당 규칙을 적용하는 겁니다.
 
<xsl:template> 엘리먼트
 
템플릿을 만들기 위해 사용하는 것이 바로 <xsl:template> 엘리먼트입니다.
 
요 템플릿에는 match라는 속성이 반드시 사용되는데요.
XML 엘리먼트 중 어느 곳에 템플릿을 적용할지 결정하기 위해 사용하는 겁니다.
 
XML 엘리먼트 중에 어느 곳이란 것을 찾기 위해서 무엇을 할까요?
음.. 지난번에 XML 내부를 탐색하기 위해 뭘 사용한다고 했던 것 같은데.. ^^
 
맞습니다. 바로 XPath죠...
XPath 표현식을 match 속성의 값으로 사용하는 겁니다.
 
만약 match값이 "/"이면 XML 문서 전체를 나타내는 겁니다. /는 루트 엘리먼트이니까요..
 
자.. 그럼 앞에서 살펴본 XSL 파일을 간략화 해서 다시 살펴보죠~


XSL 스타일시트도 XML 문서이므로 XML 선언이 포함되어야 합니다.
첫 번째 줄을 보면 <?xml version="1.0" encoding="ISO-8859-1"?>로 나와 있는 걸 볼 수 있습니다.
 
두 번째 줄에 <xsl:stylesheet> 엘리먼트가 보입니다.
이 XML 문서는 XSLT 스타일시트라는 것을 알려주는 겁니다.
속성으로 버전과 네임스페이스를 지정하고 있네요~
 
드디어 5번째 줄에 <xsl:template>엘리먼트가 나왔습니다.
match를 봐야겠죠.. 옹!! match="/" 이네요..
 
음.. XML 소스의 루트 엘리먼트부터 이 템플릿을 적용하면 되는 것 같습니다.
ㅋㅋ 앞에서 미리 다 설명한 내용이 다시 나오구 있네요.. -.- (뻘쭘~)
 
템플릿 내부를 보면, 일반 HTML로 되어 있는 것을 알 수 있습니다.
XML 문서를 가져와서 보여주는 건 아니네요.. ^^
 
</xsl:template> </xsl:stylesheet>는 닫는 태그.. XML에서는 반드시 써줘야 하는 거 알고 계시죠.. ^^
 
위 스타일시트를 적용하면 모든 문서는 다음과 같이 나타납니다.
 

My CD Collection

Title Artist
. .


이 XSL 스타일시트를 적용하면 모든 문서에 저렇게 나타날까요?
네..그렇습니다.~
 
동적으로 변환하려면 XML에서 무언가 값을 가져오는 부분이 있어야 하는데..
그 부분이 없는 것이죠..
 
그럼 XML 문서에서 엘리먼트나 속성의 값을 가져오는 것은??
 
바로 <xsl:value-of>입니다. 요걸 다음 시간에 한번 정리해 보도록 하지요~~
 
그럼.. 좋은 하루 되세요.

반응형

'XML Developer > XSL' 카테고리의 다른 글

XSLT <for-each>  (0) 2011.11.30
XSLT <value-of>  (0) 2011.11.25
XSLT <template>  (0) 2011.11.21
XSLT 변환(Transform)  (0) 2011.11.16
XSLT 소개  (0) 2011.11.10
XSL에 대하여  (0) 2011.11.08
댓글
댓글쓰기 폼