XML文件的定义

DTD

文档类型定义(Document Type Definition)。

内部DTD文档

<!DOCTYPE 根元素 [定义内容]>

外部DTD文档

<!DOCTYPE 根元素 SYSTEM "DTD文件路径">

内外部DTD文档结合

<!DOCTYPE 根元素 SYSTEM "DTD文件路径" [
    定义内容
]>

基本语法

 <!ELEMENT NAME CONTENT>

 <!ATTLIST 元素名称
    属性名称    类型    属性特性
    属性名称    类型    属性特性
    …
 >

 <!ENTITY 实体名称 “实体内容” > // 引用实体
 <!ENTITY % 实体名称 "实体内容" > // 参数实体

实例

example.dtd
<!ENTITY % sex "男|女">
<!ELEMENT 班级 (学生+,作者)>
<!ATTLIST 班级
    班次 CDATA "1班"
    编号 ID #REQUIRED
>
<!ELEMENT 学生 (名字,年龄,介绍)>
<!ELEMENT 作者 (#PCDATA)>
<!ATTLIST 学生
    地址 CDATA #IMPLIED
    授课方式 CDATA #FIXED "面授"
    学号 ID #REQUIRED
    班级编号 IDREF #REQUIRED
    朋友 IDREFS #IMPLIED
    性别 (%sex;) #REQUIRED
>
<!ELEMENT 名字 (#PCDATA)>
<!ELEMENT 年龄 (#PCDATA)>
<!ELEMENT 介绍 (#PCDATA)>
example.xml
<?xml version="1.0" encoding="UTF-8"?>
<!-- 引入DTD -->
<!DOCTYPE 班级 SYSTEM "XML3.dtd" [<!ENTITY writer "Switch">]>

<班级 编号="C1" 班次="1班">
    <学生  地址="湖南" 授课方式="面授" 学号="n1" 班级编号="C1" 朋友="n2" 性别="男">
        <名字>张三</名字>
        <年龄>20</年龄>
        <介绍>不错</介绍>
    </学生>
    <学生 授课方式="面授" 学号="n2" 班级编号="C1" 朋友="n1 n3" 性别="女">
        <名字>李四</名字>
        <年龄>18</年龄>
        <介绍>很好</介绍>
    </学生>
    <学生 授课方式="面授" 学号="n3" 班级编号="C1" 朋友="n2" 性别="男">
        <名字>王五</名字>
        <年龄>22</年龄>
        <介绍>非常好</介绍>
    </学生>
    <作者>&writer;</作者>
</班级>

Schema

results matching ""

    No results matching ""