下面给出了格式良好的XML代码,其中显示了大学计算机科学系不同课程的层次结构。我已将xml代码转换为dtd代码。哪里错了。
我的XML代码
var x = "mike^+tom&+craig+^tom";
var y = x.replace('^+', '+').replace('&+', '+').replace('+^', '+');
y = mike++tom++craig++tom; // This is the output
expected mike+tom+craig+tom;
我的DTD代码
<?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>
我创建了一个XML代码并将该XML代码转换为DTD代码。那我的DTD代码在哪里错了。
答案 0 :(得分:0)
您最初的问题是您生成的内容在语法上不是DTD。一个相关的问题是,它似乎在语义上也不是DTD。 (很难说清楚,因为XML规范没有为你提供的字符序列定义任何语义。)
您应该阅读XML DTD的教程简介。如果您正在课程中学习XML DTD(问题听起来像是家庭作业),也许您的教师可以推荐一个。也许你的导师已经这样做了,或提供了一个。如果你不在课程中,你可以在网上找到很多这样的教程。有些人偏爱Lou Burnard和我制作的“对XML的温和介绍”,但该文档的最新版本描述了Relax NG紧凑语法,而不是DTD,因此您需要找到旧版本。其中一个可以从The Cover Pages获得; DTD在该版本的1.4-1.7节中描述。
在阅读本教程时,请注意以下主题,这些主题将向您展示当前工作中出现的一些问题。