요즘 귀차니즘의 압박으로-_-;;
게임을 하고 싶은 엄청난 충동에 자주 느끼고 있지만 최대한 절제하면서 이 글을 작성중 이예요-_-;;
요즘 잠도 제대로 못자고 -_ㅜ 스트레스 풀 공간을 찾는중;;
인라인 스케이트를 이용해서 다이어트 모드에도 돌입해볼까 하는데 인라인을 전혀 몰라서;;
선뜻 살 수가 없네요ㅠ_ㅠ
잡설이 길었네요
XML 문서 XSL 적용하여 꾸미기 - 1 글에서 저 2가지 속성에 대해서
이야기 했어요
1. xsl:template 엘리먼트
2. xsl:apply-templates 엘리먼트
오늘은 그 나머지 속성에 대해서 이야기 할께요-0-)/
3.xsl:value-of 엘리먼트
<xsl:value-of select="XPATH(경로)"/>
xsl:value-of 엘리먼트는 select 속성에 xsl:apply-templates 에서와 마찬가지로 접근하고자 하는 노드 경로를 지정해요
xsl:value-of 엘리먼트는 xml 문서에서 select 속성에서 지정한 경로에 해당되는 엘리먼트의 값을 가져와요
ex)
<money>돈돈돈돈</money>
가 있다고 가정을 하고 여기에 xsl:value-of 엘리먼트를
<xsl:value-of select="money"/> 라고 지정을 하면 결과로
"돈돈돈돈" 이라고 값이 나타나요
(sings3.xsl)
<?xml version="1.0" encoding="euc-kr"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
<xsl:apply-templates select = "/mylife/gold"/>
</xsl:template>
<xsl:template match = "/mylife/gold">
<xsl:value-of select="money"/> <br/>
</xsl:template>
</xsl:stylesheet>
(sings3.xml)
<?xml version="1.0" encoding="euc-kr" ?>
<?xml:stylesheet type="text/xsl" href="sings3.xsl"?>
<mylife>
<gold>
<home> 멋진집 </home>
<money> 10000 </money>
<good> 강아지 </good>
</gold>
<gold>
<home> 멋진집 </home>
<money> 10000 </money>
<good> 강아지 </good>
</gold>
</mylife>
샘플
위의 샘플을 실행시켜보면
<xsl:template match="/"> 템플릿 규칙에 의해 루트 노드를 만나 xsl:apply-templates 를 실행합니다
<xsl:apply-templates select = "/mylife/gold"/> 엘리먼트는 루드 노트 내의 /mylife/gold 를 모두 찾아서
<xsl:template match = "/mylife/gold"> 템플릿 규칙을 적용합니다
템플릿 규칙 내부에는 <xsl:value-of select="money"/> 엘리먼트가 기술되어 xsl:value-of 엘리먼트를 만나
select 에 기술한 내용을 출력합니다
간단히 여기까지 xsl 에 대해서 이해 하셨나요?
여기까지를 이용해서 간단히 테이블로 xml 을 표현하는 것이 가능해요
테이블을 표현하는 것은 2가지 방법이 있어요
샘플 1
(ex1.xsl)
<?xml version="1.0" encoding="euc-kr"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
<HTML>
<HEAD>
<TITLE>가난한 나의 삶-_-;;</TITLE>
</HEAD>
<BODY>
<BR/>
<P align="center"><font color="#000000" size="6"> 나의 인생!! </font></P>
<BR/>
<TABLE align="center" BORDER="1" cellpadding="5" cellspacing="2">
<THEAD>
<TR>
<TH bgcolor="navy"><font color="white">집</font></TH>
<TH bgcolor="navy"><font color="white">돈</font></TH>
<TH bgcolor="navy"><font color="white">여자</font></TH>
</TR>
</THEAD>
<TBODY>
<xsl:apply-templates select = "/mylife/gold"/>
</TBODY>
</TABLE>
</BODY>
</HTML>
</xsl:template>
<xsl:template match = "/mylife/gold">
<TR>
<TD><xsl:value-of select="home"/></TD>
<TD><xsl:value-of select="money"/></TD>
<TD><xsl:value-of select="girl"/></TD>
</TR>
</xsl:template>
</xsl:stylesheet>
(ex1.xml)
<?xml version="1.0" encoding="euc-kr" ?>
<?xml:stylesheet type="text/xsl" href="ex1.xsl"?>
<mylife>
<gold>
<home> 경매중? </home>
<money> 통장에 10원? </money>
<girl> 없어요 ㅠ_ㅠ </girl>
</gold>
<gold>
<home> 팔렸음;; </home>
<money> 바닥남-_-; </money>
<girl> 혼자도 빠듯;; </girl>
</gold>
</mylife>
샘플 1은 <xsl:template match="/"> 은 match 속성에서 "/"를 지정하였기에 xml 문서의 최상위 루트 노드와 매치가 됩니다
xml 문서 상의 최상위 루트노드가 나타나면 xsl 프로세서가 그 부분을 템플릿 규칙내에 기술된 내용으로 변환합니다
<P align="center"><font color="#000000" size="6"> 나의 인생!! </font></P> 타이틀을 출력하고
테이블 태그를 작성합니다
<TABLE align="center" BORDER="1" cellpadding="5" cellspacing="2">
그다음에 thead 태그를 사용하여 테이블의 제목을 작성합니다
<THEAD>
<TR>
<TH bgcolor="navy"><font color="white">집</font></TH>
<TH bgcolor="navy"><font color="white">돈</font></TH>
<TH bgcolor="navy"><font color="white">여자</font></TH>
</TR>
</THEAD>
xml 문서의 /mylife/gold 엘리먼트 자식 노드에 존재하는 내용을 가져와 테이블 내에 실제 데이터를
기록하기 위해서 xsl:apply-templates 엘리먼트를 사용합니다
xml 문서 내에서 mylife 엘리먼트의 자식 엘리먼트인 gold 엘러먼트를 만날 때마다 템플릿 규칙을 적용합니다
<TBODY>
<xsl:apply-templates select = "/mylife/gold"/>
</TBODY>
테이블도 마무리!!
</TABLE>
mylife 엘리먼트의 자식 엘리먼트인 gold 엘리먼트는 템플릿 규칙 내에서 정의하고 있는 내용으로
변환시켜 <xsl:apply-templates select = "/mylife/gold"/> 엘리먼트의 위치에 적용 시킵니다
<xsl:template match = "/mylife/gold">
마지막으로 작성된 내용은
템플릿 규칙에 의해 gold 엘리먼트가 나타나면 그 내용을 html 테이블의 하나의 행으로 변환시키는 것입니다
gold 엘리먼트의 자식 노드의 값을 가져오기 위해서 xsl:value-of 엘리먼트를 사용했어요
<TR>
<TD><xsl:value-of select="home"/></TD>
<TD><xsl:value-of select="money"/></TD>
<TD><xsl:value-of select="girl"/></TD>
</TR>
</xsl:template>
오늘은 여기까지!!
샘플 2랑 -_-;; 다른 xsl 속성은~!
내일 마저 작성할께요-_-;;
이제 생각보다 요만큼 적는데 시간이 엄청 걸려서요
안좋은 머리 겨우 굴리면서 작성중-_-;; 그래서 한번에 많이 못적어요
이해해주세요 ㅠ_ㅠ 내일 마저 작성할께요

sings3.xml
이올린에 북마크하기
이올린에 추천하기