XML 질문입니다.
글쓴이: dotri / 작성시간: 월, 2003/02/10 - 7:48오전
리눅스 시스템에 관련된것은 아니지만..
마땅히 질문할 곳이 없어 여기에 질문합니다.
XML 을 공부하고 있는데요, XSLT 중에 <apply-templates> 테그에 대해 이해가 안가는 부분이 있습니다.
우선 다음과 같은 XML 데이터입니다. 선언부분은 빠졌습니다.
<Data>
<Sub>
<Name>Some data 1</Name>
<Value>Some values</Value>
</Sub>
<Sub>
<Name>Some data 2</Name>
<Value>Some values</Value>
</Sub>
</Data>
위의 코드를 다음과 같은 XSL 을 사용하여 HTML 로 변환하고자 합니다.
<xsl:template match='/'>
<HTML>
<BODY>
<xsl:for-each select='Data/Sub'>
<xsl:apply-templates select='.'/>
</xsl:for-each>
</BODY>
</HTML>
</xsl:template>
<xsl:template match='Data/Sub'>
<P><xsl:value-of select='Name'/></P>
<P><xsl:value-of select='Value'/></P>
<BR/>
</xsl:template>
음. 제 생각엔 잘 될것 같은데 막상 해보면 <for-each> 문 부분이 공백으로 채워지네요.
즉.. 변환된 문서는 <BODY></BODY> 처럼 빈 내용으로 끝나버리거든요.
<P>~~~</P> 부분이 삽입되도록 하려는 의도였는데..
잘 아시는 분이 <apply-templates> 의 개념 설명좀 부탁드립니다.
Forums:


[code:1]<?xml version="1.0"
<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/> <xsl:template match="/"> <HTML> <BODY> <xsl:apply-templates select="Data/Sub"/> </BODY> </HTML> </xsl:template> <xsl:template match="Data/Sub"> <P> <xsl:value-of select="Name"/> </P> <P> <xsl:value-of select="Value"/> </P> <BR/> </xsl:template> </xsl:stylesheet>이렇게 해야 합니다. xsl:apply-templates 으로 templete 를 자동 으로 호출합니다.
댓글 달기