首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么尽管有正确的dtd和xsl,但我的xml页面仍未显示?

为什么尽管有正确的dtd和xsl,但我的xml页面仍未显示?
EN

Stack Overflow用户
提问于 2019-11-02 03:14:36
回答 1查看 38关注 0票数 0

我试图设计一个xml来显示大学学生的详细信息。学院由同名、年龄和学籍的学生组成。

这是我的xml文件

代码语言:javascript
复制
<?xml version="1.0"?>
<!DOCTYPE college SYSTEM "college.DTD">
<?xsl-stylesheet  type="text/xsl" href="college.XSL"?>

<college>

<student>
<name>vipul</name>
<age>16</age>
<roll>12</roll>
</student>

<student>
<name>vipul</name>
<age>16</age>
<roll>12</roll>
</student>

<student>
<name>vipul</name>
<age>16</age>
<roll>12</roll>
</student>

</college>

这是我的xsl文件

代码语言:javascript
复制
<?xml version="1.0"?>
<xsl-stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">

    <html>
    <head>
    <title>college</title>
    <head>

    <body>
    <table border="1" align="center">
    <tr bgcolor="yellow">
    <th>name</th>
    <th>age</th>
    <th>roll</th>
    </tr>

    <xsl:for-each select="college/student">
    <tr>
    <td><xsl:value-of select="name" /></td>
    <td><xsl:value-of select="age" /></td>
    <td><xsl:value-of select="roll" /></td>
    </tr>
    </xsl:for-each>
    </table>
    </body>
    </html>
    </xsl:template>
    </xsl:stylesheet>

最后,这是我的外部dtd文件。在这里,我定义了相关的代码结构。

代码语言:javascript
复制
<?xml version="1.0">
<!DOCTYPE college(student)>
<!ELEMENT student(name,age,roll)>
<!ELEMENT name(#PCDATA)>
<!ELEMENT age(#PCDATA)>
<!ELEMENT roll(#PCDATA)>

一切似乎都是正确的,但我并没有得到我想要的xml输出。为什么会发生这种事?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-02 04:07:35

您的文件有两个错误:

  1. 您的DTD文件无效。见this answer。它解释了外部DTD文件不能包含声明。因此,您的DTD文件应该看起来很像(我在college元素中添加了一个college元素以启用多个student子元素)--您的浏览器不识别XML中到XSLT代码的链接,因为您的声明中有一个错误。XML文件开头的正确拼写是

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58667947

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档