以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 XML基础 』  (http://bbs.xml.org.cn/list.asp?boardid=1)
----  请教一个问题.是关于用xsl显示xml的  (http://bbs.xml.org.cn/dispbbs.asp?boardid=1&rootid=&id=5542)


--  作者:roby
--  发布时间:3/2/2004 5:25:00 PM

--  请教一个问题.是关于用xsl显示xml的
文件A.xml如下:
<?xml version="1.0" encoding="gb2312"?>
<?xml-stylesheet type="text/xsl" href="B.xsl"?>
<students>
 <student id="23455">
  <name>黄希</name>
  <sex>女</sex>
  <birthday>1987.2</birthday>
  <phone>13750412546</phone>
  <skill>唱歌</skill>
 </student>
 
 <student id="57862">
  <name>小红</name>
  <sex>女</sex>
  <birthday>1978.5</birthday>
  <phone>13750456897</phone>
  <skill>登山</skill>
 </student>
 
 <student id="56872">
  <name>小明</name>
  <sex>男</sex>
  <birthday>1989.12</birthday>
  <phone>13750456800</phone>
  <skill>网络</skill>
 </student>
 
 <student>
  <name>小刚</name>
  <sex>男</sex>
  <birthday>1980.6</birthday>
  <phone>13750456111</phone>
  <skill>登山</skill>
  <skill>网络</skill>
 </student>
</students>

文件B.xsl如下:
<?xml version="1.0" encoding="gb2312"?>
<xsl-stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
<html>
  <body>
    <center>
      <h2>the title</h2>
      <table border="2" bgcolor="#aabbcc">
      <tr>
         <td>name</td>
         <td>phone</td>
         <td>birthday</td>
      </tr>
    
      <xsl:for-each select="students/student[name='小红']">
      <tr>
      <td><xsl:value-of select="name"/></td>
      <td><xsl:value-of select="phoen"/></td>
      <td><xsl:value-of select="birthday"/></td>
      </tr>
</xsl:for-each>
</table>
</center>
</body>
</html>
</xsl:template>
</xsl-stylesheet>

可是当我编译的时候,却说:此处不能使用关键字 xsl:template
是什么道理啊,请各位指教.


--  作者:泉韵星魂
--  发布时间:3/3/2004 8:46:00 AM

--  
试一下<xsl-stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
改为<xsl-stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

PS:分号是论坛自己加的,别忘了去掉..........


--  作者:泉韵星魂
--  发布时间:3/3/2004 11:31:00 AM

--  
上边的方法好象不行............

你把
<xsl-stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
................................
</xsl-stylesheet>

改成
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
....................................
</xsl:stylesheet>
应该就可以了.


--  作者:admin
--  发布时间:3/3/2004 3:34:00 PM

--  已经修复自动加分号的bug了。
以下是引用泉韵星魂在2004-3-3 8:46:20的发言:
试一下<xsl-stylesheet xmlns:xsl=&quot;http://www.w3.org/TR/WD-xsl&quot;>
改为<xsl-stylesheet xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Transform&quot;>

PS:分号是论坛自己加的,别忘了去掉..........



--  作者:泉韵星魂
--  发布时间:3/3/2004 4:37:00 PM

--  
以下是引用admin在2004-3-3 15:34:34的发言:
[quote]以下是引用泉韵星魂在2004-3-3 8:46:20的发言:
试一下<xsl-stylesheet xmlns:xsl=&quot;http://www.w3.org/TR/WD-xsl&quot;>
  改为<xsl-stylesheet xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Transform&quot;>

  PS:分号是论坛自己加的,别忘了去掉..........
[/quote]



呵呵
工作效率挺高.....
--  作者:roby
--  发布时间:3/4/2004 8:54:00 AM

--  
我试过你们说的方法了,还是不行.
不过,我把<xsl:template match="/"></xsl:template>
删掉后就可以了.

但是我还是觉得奇怪,这个不是固定格式吗,为什么在这里不用呢???????


--  作者:admin
--  发布时间:3/4/2004 10:17:00 AM

--  
修改一下XSL文件就可以了
<?xml version="1.0" encoding="gb2312"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"> <!-- 把xsl-stylesheet改为xsl:stylesheet -->
<xsl:template match="/">
<html>
  <body>
    <center>
      <h2>the title</h2>
      <table border="2" bgcolor="#aabbcc">
      <tr>
         <td>name</td>
         <td>phone</td>
         <td>birthday</td>
      </tr>
    
      <xsl:for-each select="students/student/name[text()='小红']">
      <tr>
      <td><xsl:value-of select="../name"/></td>
      <td><xsl:value-of select="../phone"/></td>
      <td><xsl:value-of select="../birthday"/></td>
      </tr>
</xsl:for-each>
</table>
</center>
</body>
</html>
</xsl:template>
</xsl:stylesheet>



W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
62.500ms