DTD是对XML结构的描述,XML的书写方式必须遵循DTD描述的规则
Entity.xml
<?xml version="1.0" encoding="gb2312"?>
<!DOCTYPE EntityModel SYSTEM "Entity.dtd">
<EntityModel>
<includes>
<file name="" />
</includes>
<Entity name="Role" label="角色" description="角色">
<Field name="RoleName" type="String" label="角色名称" notnull="no" description="角色名称"/>
<Field name="RoleID" type="Integer" label="角色编号" notnull="no" description="角色编号"/>
</Entity>
</EntityModel>
Entity.dtd
<pre name="code" class="html"><?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT EntityModel (includes?, Entity*)> //? 表示出现0次或一次;*表示0次或多次
<!ATTLIST EntityModel
name CDATA #IMPLIED //表示name是非必需的
>
<!ELEMENT includes (file+)> //file+ 表示file至少出现一次
<!ELEMENT file EMPTY> //EMPTY表示可以以<file />形式出现
<!ATTLIST file //ATTLIST描述file的属性相关信息
name CDATA #REQUIRED //name是必须的属性
>
<!ELEMENT Entity (Field|Ref)*> //节点Entity的子节点只能出现Field或Ref属性
<!ATTLIST Entity
name CDATA #REQUIRED
label CDATA #IMPLIED
description CDATA #IMPLIED
>
<!ELEMENT Field EMPTY>
<!ATTLIST Field
name CDATA #REQUIRED
type CDATA #REQUIRED
label CDATA #REQUIRED
description CDATA #IMPLIED
notnull CDATA #IMPLIED
>
<!ATTLIST Ref
entity CDATA #REQUIRED
>
http://blog.csdn.net/xiazdong/article/details/7270593