我是XML和DTD的新手。我用DTD编写了一个XML文件。就是这样。
<?xml version="1.0"?>
<!DOCTYPE note[
<!ELEMENT note (page , author ,company)>
<!ELEMENT page (#PCDATA)>
<!ELEMENT author (#PCDATA)>
<!ELEMENT company (#PCDATA)>
<!ATTLIST note type CDATA #IMPLIED>
]>
<note typ="single">
<page>1000</page>
<author>devan</author>
<author>devan</author>
<company>IDM</company>
</note>
工作正常。但我的问题是,如果您将note
属性设置为typ
,它会在网络浏览器中显示结果。但是在DTD中它定义了<!ATTLIST note type CDATA #IMPLIED>
。
每当我更改xml <pag>fhdh </pag>
中的标签时,它就会在网络浏览器中显示得很好。
我的问题是为什么我们定义DTD?
答案 0 :(得分:4)
DTD本身只定义了有效的XML。
如果您通过XML验证程序在问题中运行示例XML,则不将被视为对您在问题中指定的DTD有效。
答案 1 :(得分:2)