以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 XSL/XSLT/XSL-FO/CSS 』  (http://bbs.xml.org.cn/list.asp?boardid=8)
----  xml+xsl显示  (http://bbs.xml.org.cn/dispbbs.asp?boardid=8&rootid=&id=7577)


--  作者:skyofcloud
--  发布时间:5/17/2004 10:52:00 AM

--  xml+xsl显示
不知道为什么我的xml显示不出来?
restaurants.xml
<?xml version="1.0" encoding="gb2312" ?>
<?xml-stylesheet type="text/xsl" href="1.xsl"?><!--连接XSL的方法,是不是和连接CSS很像-->
<restaurants num="10">
<restaurant id="1">
  <name>上海亭快餐店</name>
  <phone>021-76546726</phone>
  <address>百老汇广场B座</address>
  </restaurant>
<restaurant id="8">
  <name>香格里拉大饭店</name>
  <phone>021-2312134</phone>
  <address>南京路1023号</address>
  </restaurant>
  </restaurants>

test.xsl
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
    <html>
     <body>
       <center>
       <h2>the notepad</h2>
       <table border="1">
           <tr>
                <td>name</td>
                <td>phone</td>
                <td>address</td>
           </tr>
      <xsl:for-each select="restaurants/restaurant">
           <tr>
                <td><xsl:value-of select="name"/></td>
                <td><xsl:value-of select="phone"/></td>
                <td><xsl:value-of select="address"/></td>
           </tr>
      </xsl:for-each>
<!--循环输出语块,其中"restaurants/restaurant"代表着路径-->
       </table>
       </center>
     </body>
    </html>
</xsl:template>
</xsl:stylesheet>

test.html
<html>
<head>
<title>
测试程序
</title>
</head>

  <XML id="source" src="restaurants.xml"></XML>
  <XML id="style" src="test.xsl"></XML>

  <SCRIPT FOR="window" EVENT="onload">
    xslTarget.innerHTML = source.transformNode(style.XMLDocument);
  </SCRIPT>
<body bgcolor="#ffffff">
    <P STYLE="font-size:10pt; font-family:Verdana; color:gray">
      <B></B>
    </P>
    <DIV id="xslTarget"></DIV>
</body>
</html>

请各位高手给看看,不胜感激!!!!


--  作者:andycpp
--  发布时间:5/17/2004 1:46:00 PM

--  
谈谈我的看法!
1。我喜欢用IE来检验XML文档是否为well-formed。我用IE打开你的test.xsl文档,<!--循环输出语块,其中"restaurants/restaurant"代表着路径-->这条语句是非法的,因为无法处理中文。建议删掉这一行或者在XSL的声明中加入encoding='GB2312',则XSL中就没有错误了。
2。你在XML文档中有这样一条语句<?xml-stylesheet type="text/xsl" href="1.xsl"?>
我不明白你把XSL文档取名为test.xsl而在XML中却写成href="1.xsl",笔误??你把它改为href="test.xsl"后,直接用IE打开你的XML文档,可以看见正确的结果。
3。经过上述改动后,你的xsl和xml都是正确的了。对于你的test.html,对不起,没看懂。如果还有错误,应该是test.html的错误了。
--  作者:skyofcloud
--  发布时间:5/17/2004 3:24:00 PM

--  xml+xsl
楼上的,太谢谢你了!我的xml经过你的指点终于可以显示了,以后还请多多指教
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
62.500ms