XML文件和dtd关联

保罗·戴维

我有一个简单的xml文件练习问题。这是一个名为“ Newfile.xml”的XML文件。

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="students.xsl"?>
<!DOCTYPE students SYSTEM "student.dtd">
  <student id="100026">
    <name>Joe Average</name>
    <age>21</age>
    <major>Biology</major>
    <results>
      <result course="Math 101" grade="C-"/>
      <result course="Biology 101" grade="C+"/>
      <result course="Statistics 101" grade="D"/>
    </results>
  </student>
  <student id="100078">
    <name>Jack Doe</name>
    <age>18</age>
    <major>Physics</major>
    <major>XML Science</major>
    <results>
      <result course="Math 101" grade="A"/>
      <result course="XML 101" grade="A-"/>
      <result course="Physics 101" grade="B+"/>
      <result course="XML 102" grade="A"/>
    </results>
  </student>
</students>

这是相对的dtd文件,称为“ student.dtd”,放置在同一目录中

<?xml version="1.0" encoding="UTF-8"?>

<!ELEMENT students (student+)>

<!ELEMENT student (name,age,major,results)>
<!ATTLIST student id CDATA #REQUIRED>

<!ELEMENT name (#PCDATA)>
<!ELEMENT age (#PCDATA)>
<!ELEMENT major (#PCDATA)>
<!ELEMENT results (result+)>


<!-- <!ELEMENT result (grade,course)> -->
<!ELEMENT result (#PCDATA)>
<!ATTLIST result grade CDATA #REQUIRED>
<!ATTLIST result course CDATA #REQUIRED>

当我尝试使用Eclipse运行Newfile.xml时,它说:“错误行14:根元素后面的文档中的标记必须格式正确。”

错误在哪里?你能帮助我吗?

马特·霍根·琼斯

我认为这是因为您的XML格式不正确-您有一个student元素的开始和结束标记,然后又为另一个student元素有了相同的标记,然后有一个students元素结束标记

但是您没有students元素的开始标签

顺便说一句,major第二个student元素中也有2元素,但是DTD指定仅major允许1个元素。

请尝试以下操作,它根据您的DTD有效:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="students.xsl"?>
<!DOCTYPE students SYSTEM "student.dtd">
<students>
  <student id="100026">
    <name>Joe Average</name>
    <age>21</age>
    <major>Biology</major>
    <results>
      <result course="Math 101" grade="C-"/>
      <result course="Biology 101" grade="C+"/>
      <result course="Statistics 101" grade="D"/>
    </results>
  </student>
  <student id="100078">
    <name>Jack Doe</name>
    <age>18</age>
    <major>Physics</major>
    <results>
      <result course="Math 101" grade="A"/>
      <result course="XML 101" grade="A-"/>
      <result course="Physics 101" grade="B+"/>
      <result course="XML 102" grade="A"/>
    </results>
  </student>
</students>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Java传递本地xml和dtd文件的本地dtd进行xml验证

来自分类Dev

DTD和XML示例

来自分类Dev

验证 XML 和 DTD

来自分类Dev

编写XML和DTD文档

来自分类Dev

编写XML和DTD文档

来自分类Dev

XML使用XML和DTD进行对象

来自分类Dev

png地图图块和.osm xml文件如何关联?

来自分类Dev

根据本地 dtd 验证 xml 文件

来自分类Dev

XML同时进行DTD和XSD验证

来自分类Dev

关联数组和XML

来自分类Dev

Android Studio - “URI 未注册(设置 | 语言和框架 | 架构和 DTD)”在我的所有 .gwt.xml 文件中

来自分类Dev

如何使用本地 DTD 文件通过 lxml 解析 XML 文件?

来自分类Dev

Eclipse和GWT-将.ui.xml与相应的.java文件相关联

来自分类Dev

PHP-针对在线DTD文件验证XML

来自分类Dev

xmllint:如何使用本地DTD文件验证XML

来自分类Dev

根据未声明DOCTYPE的DTD外部文件验证XML

来自分类Dev

在Java中解析XML文件时,如何避免读取DTD?

来自分类Dev

为什么同时将XSD和DTD用于XML?

来自分类Dev

使用Python和lxml根据外部DTD验证XML

来自分类Dev

使用Python和lxml根据外部DTD验证XML

来自分类Dev

处理DTD和XML时出现空白错误

来自分类Dev

Kubuntu和Linux上的Play,文件关联

来自分类Dev

Kubuntu和Linux上的Play,文件关联

来自分类Dev

Qt Designer或关联的Qt工具是否对xml格式的* .ui文件具有全局查找和替换功能?

来自分类Dev

格式正确的XML DTD

来自分类Dev

DTD的XML验证问题?

来自分类Dev

XML DTD验证错误

来自分类Dev

使用dtd验证xml

来自分类Dev

格式正确的XML DTD