以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XSL/XSLT/XSL-FO/CSS 』  (http://bbs.xml.org.cn/list.asp?boardid=8)
----  [求助]为什么xsl:apply-templates调用的模板不能显示html标记  (http://bbs.xml.org.cn/dispbbs.asp?boardid=8&rootid=&id=59747)


--  作者:ljhjqk
--  发布时间:3/11/2008 2:36:00 PM

--  [求助]为什么xsl:apply-templates调用的模板不能显示html标记
我在学习过程中遇到这么一个问题,不明白是怎么回事,高手指点一下。
xml数据文件:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="book.xsl"?>
<BOOKS xmlns="http://www.onest.net/book" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.onest.net/book
book.xsd">
 <BOOK ID="1">
  <NAME>了不起的狐狸爸爸</NAME>
  <AUTHOR>马</AUTHOR>
  <PRICE>12.90</PRICE>
 </BOOK>
 <BOOK ID="2">
  <NAME>我的野生动物朋友</NAME>
  <AUTHOR>TIPPI</AUTHOR>
  <PRICE>29</PRICE>
 </BOOK>
</BOOKS>

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" xmlns:bk="http://www.onest.net/book">
 <xsl:output version="1.0" encoding="GB2312" indent="no" omit-xml-declaration="no" media-type="text/html"/>
 <xsl:template match="/">
  <html>
   <head>
    <title/>
   </head>
   <body>
    <xsl:for-each select="bk:BOOKS">
     <h1>书籍列表</h1>
     <table>
      <tbody>
       <tr>
        <td>书名</td>
        <td>作者</td>
        <td>价格</td>
       </tr>
       <xsl:for-each select="bk:BOOK">
        <xsl:apply-templates/>
       </xsl:for-each>
      </tbody>
     </table>
    </xsl:for-each>
   </body>
  </html>
 </xsl:template>
 <xsl:template match="bk:BOOK" name="BookTemplate">
  <tr>
   <td>
    <xsl:value-of select="bk:NAME"/>
   </td>
   <td>
    <xsl:value-of select="bk:AUTHOR"/>
   </td>
   <td>
    <xsl:value-of select="bk:PRICE"/>
   </td>
  </tr>
 </xsl:template>
</xsl:stylesheet>

使用xsl:apply-templates调用第二个模板时,第二个模板中的html标记转换不出来,就是那些<tr>和<td>,但是实际的数据能显示出来,我换用xsl:call-templates可以正常显示,不知道为什么,希望高手能指点。


--  作者:ljhjqk
--  发布时间:3/11/2008 2:38:00 PM

--  
网络慢,发重了,请版主删一个主题吧
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
78.125ms