以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XML工具及XML开发环境 』  (http://bbs.xml.org.cn/list.asp?boardid=7)
----  关于version的疑问——您只要点击一下,就能帮助一个新人  (http://bbs.xml.org.cn/dispbbs.asp?boardid=7&rootid=&id=5808)


--  作者:kingkanjing
--  发布时间:3/23/2004 10:43:00 AM

--  关于version的疑问——您只要点击一下,就能帮助一个新人
我有这样一个关于xsl样式表单的问题

首先我的xml是这样的

student.xml

<?xml version="1.0" encoding="gb2312" ?>
<?xml-stylesheet type="text/xsl" href="mystyle.xsl"?>

<roster>
  学生花名册
  <student>
    <name>李华</name>
    <origin>河北</origin>
    <age>15</age>
    <telephone>62875555</telephone>
  </student>
  <student>
    <name>张三</name>
    <origin>北京</origin>
    <age>14</age>
    <telephone>82873425</telephone>
  </student>
</roster>

然后,我的xsl是这样的

<?xml version="1.0" encoding="gb2312" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/TR/REC-html40">
<xsl:template>
<xsl:apply-templates/>
</xsl:template>

<xsl:template match="/">
<HTML>
  <HEAD>
    <TITLE>学生花名册</TITLE>
    <STYLE> .title{font-size:15pt; font-weight:bold; color:blue } .name{color:red}
    </STYLE>
  </HEAD>
  <BODY>
    <P class="title" >学生花名册</P>
    <xsl:apply-templates select="roster"/>
</BODY>
  </HTML>
</xsl:template>

<xsl:template match="roster">
<TABLE BORDER="1">
    <THEAD>
      <TD> <B>姓名</B> </TD>
      <TD> <B>籍贯</B> </TD>
      <TD> <B>年龄</B> </TD>
      <TD> <B>电话</B> </TD>
    </THEAD>
    <xsl:for-each select="student" order-by="name">
    <TR>
      <TD><B><xsl:value-of select="name"/></B></TD>
      <TD><xsl:value-of select="origin"/></TD>
      <TD><xsl:value-of select="age"/></TD>
      <TD><xsl:value-of select = "telephone"/></TD>
    </TR>
    </xsl:for-each>
  </TABLE>
</xsl:template>
</xsl:stylesheet>

最后,报了这样的错误

无法显示 XML 页。
使用 XSL 样式表无法查看 XML 输入。请更正错误然后单击 刷新按钮,或以后重试。
--------------------------------------------------------------------------------
缺少所需的属性 'version'。

很显然,我写version属性了,那么又是为什么呢

感谢您的关注,更期待您的回复



--  作者:admin
--  发布时间:3/23/2004 11:54:00 AM

--  
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"

这里少version,

还有其他错误,,再调试调试把


--  作者:kingkanjing
--  发布时间:3/23/2004 12:46:00 PM

--  
to admin:

坦白说,以上的程序是我在一本教科书上看的例子,我在xml方面没有任何知识,虽然很感兴趣,那么我想问有没有一本书是适合想我这样的新手的呢?我已经看到第三本了,每次都是按例子做程序都进行不下去,更不用说自己独立完成某个程序或者应用了。所以总会在这里问谢比较低级的问题,希望能得到象您这样的高手帮助

程序确实还有问题,我在试试,总之是谢谢了


--  作者:kingkanjing
--  发布时间:3/23/2004 1:58:00 PM

--  
上面的代码是我copy书上(电子版)的,并且按照admin的指导加上的version,结果还是报错:缺少所需的属性 'match'。

天哪!书的程序这么多错误,那我按照什么标准去改呀!!!!!!!

高手能不能帮我看看,这个match错在那里了——最好能介绍一本没又那么多错误的教科书

谢谢了


--  作者:admin
--  发布时间:3/23/2004 4:14:00 PM

--  
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"
xmlns="http://www.w3.org/TR/REC-html40">
~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 命名空间改一下就OK了。。Version不写也行了


--  作者:liberality
--  发布时间:3/23/2004 6:14:00 PM

--  
"<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">"
   看书进步不会太快,只有写程式,才能进步得快,就像你贴出来的,你完全可以按照浏览器的提示自己把错误找出来,一定要自己去尝试!实在不会才问,这样才能掌握得好,慢慢就会习惯自己写了,不用照抄书上的内容了.
这是我个人的建议不知对否,献丑了.
--  作者:haiwei_wang
--  发布时间:3/25/2004 12:41:00 AM

--  
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/TR/REC-html40">

这个当中的xmlns="http://www.w3.org/TR/REC-html40"可以不用写.
因为它是解析器默认的


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