Xml 当一个元素可以同时包含PCDATA和另一个元素时,DTD的正确格式是什么
我得到了一个XML文件,我想为数据集编写DTD 这是我正在努力解决的部分的一个片段Xml 当一个元素可以同时包含PCDATA和另一个元素时,DTD的正确格式是什么,xml,dtd,Xml,Dtd,我得到了一个XML文件,我想为数据集编写DTD 这是我正在努力解决的部分的一个片段 <Course Number="CS124" Prerequisites="CS107 CS109" Instructors="DJ" Enrollment="60"> <Title>From Languages to Information</Title> <Description> Natural language processing. Cro
<Course Number="CS124" Prerequisites="CS107 CS109" Instructors="DJ" Enrollment="60">
<Title>From Languages to Information</Title>
<Description>
Natural language processing. Cross-listed as
<Courseref Number="LING180"/>
.
</Description>
</Course>
<Course Number="CS143" Prerequisites="CS107" Instructors="AA" Enrollment="90">
<Title>Compilers</Title>
<Description>
Principles and practices for design and implementation of compilers and interpreters.
</Description>
</Course>
从语言到信息
自然语言处理。交叉列为
.
编译程序
编译器和解释器设计和实现的原则和实践。
当元素中有PCDATA,但也可以选择其他元素时,什么是使DTD适合XML的正确方法?(参见元件说明)
我认为这样做会奏效:
<!ELEMENT Description ((#PCDATA | Courseref)*)>
<!ELEMENT Description (#PCDATA | Courseref)*>
但是我得到了一个解析错误:
ContentDecl:应为名称或“(”字符
要使此XML有效,写出DTD的正确方法是什么?括号太多:
这样行吗?元素有PCDATA和CourseRef。我自己不确定,因为我会一直避免整个情况。是的,它会起作用。该声明说描述
元素可以有任何数字((…)*
)以任何顺序排列的#PCDATA
和Courseref
子元素。在文本中看到元素并不少见。例如,想想代码中的格式化XML注释。或者在这种情况下,可能是一个课程查看器,其中Courseref
元素在UI中呈现给用户时被链接替换。干杯,希望我不会呃,我需要它,但以防万一。我一直非常喜欢标记我想标记的东西。就我个人而言,我会用标记标记文本,比如前言,避免一开始就陷入混乱。哦,出于好奇,你为什么还在使用DTD?它是关于数据库的课程。那么使用模式就更有用了。这是未来的下一步当然,DTD是必须完成的。
<!ELEMENT Courseref EMPTY>
<!ATTLIST Courseref Number CDATA #IMPLIED>