XML DTD
拥有正确语法的 XML 被称为“形式良好”的 XML。通过DTD验证的 XML 是“合法”的 XML。DTD 的作用是定义XML文档的结构。它使用一系列合法的元素来定义文档结构。
示例1:对外部 DTD 文件的引用
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE note SYSTEM "Note.dtd">
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>
xml dtd文档:
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
示例2: DTD 被包含在您的 XML 源文件中
<?xml version="1.0"?>
<!DOCTYPE note [
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>
PCDATA与CDATA的区别?
PCDATA 的意思是被解析的字符数据(parsed character data),PCDATA 是会被解析器解析的文本.这些文本将被解析器检查实体以及标记。
CDATA 的意思是字符数据(character data):
CDATA 是不会被解析器解析的文本。在这些文本中的标签不会被当作标记来对待,其中的实体也不会被展开。
PCDATA是在 XML约束文档里使用的,如DTD类型的约束文档,在这里面表示元素的内容或属性的取值范围等等,是字符串形式的.
CDATA是在XML文档里面使用的关键字,用来告诉浏览器,这部分内容不用解析,是给其他程序用的,比如js代码等:
<script>
<![CDATA[
function matchwo(a,b){
if (a < b && a < 0){
return 1;
}
else{
return 0;
}
}
]]>
</script>
详细内容请参见:DTD教程
XML Schema
W3C 支持一种基于 XML 的 DTD 代替者,它名为 XML Schema:
<xs:element name="note">
<xs:complexType>
<xs:sequence>
<xs:element name="to" type="xs:string"/>
<xs:element name="from" type="xs:string"/>
<xs:element name="heading" type="xs:string"/>
<xs:element name="body" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
详细内容请参见:xml schema教程
1240

被折叠的 条评论
为什么被折叠?



