【问题标题】:XML code into DTD codeXML 代码转换成 DTD 代码
【发布时间】:2017-11-07 03:29:54
【问题描述】:

下面给出了格式良好的 XML 代码,显示了大学计算机科学系不同课程的层次结构。我已将 xml 代码转换为 dtd 代码。我哪里错了。

我的 XML 代码

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

<University Name="Virtual University of Pakistan">
  <Departments>
         <Department name="Computer Science">
          <Courses>
            <Under-Graduate>
              <Course name="Introduction to Computing">CS101</Course>
              <Course name="Introduction to Programming ">CS201</Course>
              <Course name="Data Structures">CS301</Course>
              <Course name="Object Oriented Programming">CS304</Course>
              <Course name="Data Communication">CS601</Course>   
            </Under-Graduate>

            <Graduate>
              <Course name="Theory of Computation">CS701</Course>
              <Course name="Advanced Operating Systems">CS703</Course>
              <Course name="Software Quality Assurance">CS706</Course>
              <Course name="Distributed DBMS">CS712</Course>
              <Course name="Advanced Computer Networks">CS716</Course>
            </Graduate>     
          </Courses>
     </Department>
  </Departments>

我的 DTD 代码

<!DOCTYPE University> 

<!ELEMENT Name "Virtual University of Pakistan">
    <!ELEMENT Departments>
        <!ELEMENT Department name "Computer Science">
            <!ELEMENT Courses>
                <!ELEMENT Under-Graduate>
                    <!ELEMENT name "Introduction to Computing">
                        <!ENTITY Course "CS101">
                    <!ELEMENT name "Introduction to Programming">
                        <!ENTITY Course "CS201">
                    <!ELEMENT name "Data Structures">
                        <!ENTITY Course "CS301">
                    <!ELEMENT name "Object Oriented Programming">
                        <!ENTITY Course "CS304">
                    <!ELEMENT name "Data Communication">
                        <!ENTITY Course "CS601>
                <!ELEMENT Graduate>
                    <!ELEMENT name "Theory of Computation">
                        <!ENTITY Course "CS701">
                    <!ELEMENT name "Advanced Operating Systems">
                        <!ENTITY Course "CS703">
                    <!ELEMENT name "Software Quality Assurance">
                        <!ENTITY Course "CS706">
                    <!ELEMENT name "Distributed DBMS">
                        <!ENTITY Course "CS712">
                    <!ELEMENT name "Advanced Computer Networks">
                        <!ENTITY Course "CS716">

我创建了一个 XML 代码并将该 XML 代码转换为 DTD 代码。那么我的 DTD 代码哪里错了。

【问题讨论】:

  • DTD 描述的是结构而不是内容。

标签: xml dtd


【解决方案1】:

您最初的问题是您所生成的在语法上不是 DTD。一个相关的问题是它在语义上似乎也不是 DTD。 (很难确定,因为 XML 规范没有为您提供的字符序列定义任何语义。)

您应该阅读 XML DTD 的教程介绍。如果您在一门课程中学习 XML DTD(这个问题听起来确实像家庭作业),也许您的讲师可以推荐一个。也许你的导师已经这样做了,或者提供了一个。如果您不在课程中,您可以在 Web 上找到许多此类教程。有些人偏爱 Lou Burnard 和我制作的“XML 简介”,但该文档的最新版本描述的是 Relax NG 紧凑语法,而不是 DTD,因此您需要找到较旧的版本。一种可以从The Cover Pages 获得; DTD 在该版本的 1.4-1.7 节中进行了描述。

阅读教程时,请注意以下主题,这些主题将向您展示当前工作中出现的一些问题。

  • 对于给定的元素类型,符合标准的 DTD 可以有多少个声明?
  • 什么关键字用于声明元素类型的有效内容?
  • 使用什么语法来声明有效内容?
  • 什么关键字用于声明元素的属性?属性声明的语法是什么?

祝你好运。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-06
    • 1970-01-01
    • 2012-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多