xml 상에서 부모 노드의 값을 쓸려면?

seungrye의 이미지

<root>
<diary>
 <year>05
  <month>04
   <day>19
    <contents>
test 1
    </contents>
   </day>
   <day>
    <contents>
test 2
    </contents>
   </day>
  </month>
 </year>
</diary>
</root>

인 xml파일이 있다고 할때
xsl로 xml을 이쁘장 하게 정리 하려고 합니다.

만들려는 모양은

+----------------------------------------+
+                            x년 x월 x일      +
+----------------------------------------+
+                    contents                +
+----------------------------------------+
                       .
                     반복
                       .

입니다 여기서 문제는 "x년x월x일" 입니다.
xsl상으로는 for-each select="//day"
이렇게 해 놨기 때문에 <day> 인 경우에만
테이블(tr, td)가 만들어 집니다.

day의 날자는 출력이 가능한데 부모 노드인
month와 year의 값은 어떻게 해야 출력할수
있는지요?

xsl파일 입니다.

 <?xml version="1.0" ?> 
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
 <xsl:template match="/">
 <html>
 <body>
 <table>
 <tr>
  <th>Diary</th> 
  </tr>
 <xsl:for-each select="//day">
 <tr>
 <td>
  <xsl:value-of select="./text()" /> <!- 날자 출력 ->
  </td>
  </tr>
 <tr>
 <td>
  <xsl:value-of select="contents" /> <!- 내용 출력 ->
  </td>
  </tr>
  </xsl:for-each>
  </table>
  </body>
  </html>
  </xsl:template>
  </xsl:stylesheet>

검색도 안해보고 질문 올리냐고 하시면 할말은 없습니다만,
검색 능력이 모자란지는 몰라도 잘 안보이더군요..;;

PS. xsl관련된 예제가 많은곳을 아시면 알려주시면 감사 하겠습니다. (목표는 xml로 개인 홈페이지 만들기 라서..;;)

M.W.Park의 이미지

parent::
../

-----
오늘 의 취미는 끝없는, 끝없는 인내다. 1973 法頂

atie의 이미지

이 경우는 xpath를 (위의 답변이 맞습니다.), 좀 더 발전된 쿼리를 원하면 xquery를 보세요.

----
I paint objects as I think them, not as I see them.
atie's minipage