DTD实际就是一种定义XML格式的语法。
DTD中所有关键字必须大写
DTD定义格式如下:<!DOCTYPE 根元素名称 [
<!ELEMENT 根元素名称 (子元素 | 数据类型)>
<!ELEMENT 子元素名称 (相对子元素 | 数据类型)>
]>
DTD文件可以和xml文件在同一个文件中,亦可以不在同一文件中,可以在xml文件引进外部DTD文件,在这里我先介绍前面一种情况。
在这里我写了一个xml格式的个人简历和其DTD定义
<?xml version="1.0" encoding="GBK"?>
<!DOCTYPE resume[
<!ELEMENT resume (BasicMessage,skills+,interest*,enducation_experience+,train_experience*,project_experience*)>
<!ELEMENT BasicMessage (name,age,sex,educational,school,professional,spouse?,contact_way,address?)>
<!ELEMENT skills (#PCDATA)>
<!ELEMENT interest (#PCDATA)>
<!ELEMENT enducation_experience (date_to_date,school_name)>
<!ELEMENT date_to_date (#PCDATA)>
<!ELEMENT school_name (#PCDATA)>
<!ELEMENT train_experience (date_to_date,train_name,train_company)>
<!ELEMENT date_to_date (#PCDATA)>
<!ELEMENT train_name (#PCDATA)>
<!ELEMENT train_company (#PCDATA)>
<!ELEMENT project_experience (project_name,how_long,tool,language,project_description)>
<!ELEMENT project_name (#PCDATA)>
<!ELEMENT how_long (#PCDATA)>
<!ELEMENT tool (#PCDATA)>
<!ELEMENT language (#PCDATA)>
<!ELEMENT project_description (#PCDATA)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT age (#PCDATA)>
<!ELEMENT sex (#PCDATA)>
<!ELEMENT educational (#PCDATA)>
<!ELEMENT school (#PCDATA)>
<!ELEMENT professional (#PCDATA)>
<!ELEMENT spouse (#PCDATA)>
<!ELEMENT contact_way (telephone | cellphone)>
<!ELEMENT address (#PCDATA)>
]>
<resume>
<!-- 个人的基本信息在DTD中要求是必须有的 -->
<BasicMessage>
<!--在xml中子元素出现顺序必须和DTD中定义子元素顺序相一致,其中'#PCDATA'表示字符数据 -->
<name>凤清华</name>
<age>26</age>
<sex>男</sex>
<school>皖江学院</school>
<professional>电子信息</professional>
<educational>本科</educational>
<spouse>李元利</spouse>
<!--在该子元素定义中有定义了两个子元素,但这两个子元素只能有一个出现,使用'|'来分隔两个子元素定义的 -->
<contact_way>
<cellphone>12345677890</cellphone>
</contact_way>
<!-- 家庭住址在DTD中是以'?'定义的,表示该元素可以出现一个或者0个-->
<address>安徽</address>
</BasicMessage>
<!--个人技能在DTD中以'+'形式结尾,表示该元素可以有一个和多个 -->
<skills>java</skills>
<skills>ejb</skills>
<!--个人兴趣爱好在DTD中以'*'结尾,表示该元素可以有任意个(也包括0个) -->
<interest>篮球</interest>
<interest>泡妞</interest>
<!--教育经历与个人技能相似,但其内部具有子元素,子元素出现顺序必须和DTD中声明元素顺序相一致 -->
<enducation_experience>
<date_to_date>2005-9~2009-7</date_to_date>
<school_name>皖江学院</school_name>
</enducation_experience>
<!--培训经历 -->
<train_experience>
<date_to_date>2008-12~2009-5</date_to_date>
<train_name>java培训</train_name>
<train_company>达内科技</train_company>
</train_experience>
<!--项目经验 -->
<project_experience>
<project_name>项目名称</project_name>
<how_long>持续时间</how_long>
<tool>使用工具</tool>
<language>开发语言</language>
<project_description>项目描述</project_description>
</project_experience>
<!--在 xml的DTD中每个元素都应当加以声明 DTD定义形式<!DOCTYPE 根元素 [在这里定义DTD元素类型,在DTD中声明一个元素必须以<!ELEMENT 元素名称 (类型或者子元素)> DTD中所有关键字必须是大写]>,它必须出现在xml声明之后-->
</resume>
分享到:
相关推荐
1、安装并学习如何使用XMLSPY集成开发环境完成XML相关的开发工作。 2、熟悉和掌握XML规范的基本内容,包括XML声明、注释、处理指令、元素、属性、CDATA段、预定义实体、命名空间的使用,以及如何进行XML文档良构和...
学习XML语言的DTD如何去写,如何更好的写出XML语言的DTD文档,对进一步深入学习XML有很大帮助。
1、安装XMLSPY集成开发环境,新建XML、DTD文档,在各种不同的编辑视图中尝试采用不同的方式完成XML文档的编辑和查看;并使用XMLSPY提供的便利,建立XML、DTD两者之间的关联,进行XML文档的良构以及有效性验证。 2、...
1、安装并学习如何使用XMLSPY集成开发环境完成XML相关的开发工作。 2、熟悉和掌握XML规范的基本内容,包括XML声明、注释、处理指令、元素、属性、CDATA段、预定义实体、命名空间的使用,以及如何进行XML文档良构和...
十分详细的xml中dtd的学习总结,相信对你有很大的帮助的!
鼎誉悦新培训教材--XML3天学习之第一天DTD练习。
《Java Web开发详解——XML+DTD+XML Schema+XSLT+Servlet3.0+JSP2.2深入剖析与实例应用》不仅可以作为Java Web开发的学习用书,还可以作为从事Java Web开发的程序员的参考用书和必备手册。 此外,《Java Web开发详解...
XML学习第一天之DTD入门XML学习第一天之DTD入门XML学习第一天之DTD入门XML学习第一天之DTD入门XML学习第一天之DTD入门
这是XML的学习资料,是PPT讲解比较全面,适合大家学习 xml基础 DTD Schema SAX DOM XSL XPATH
xml dtd xsd 的编写 标准格式可以供学习参考用
关于DTD和XML的学习文档,看来之后很受用,学习xml的很好一个文档
在XML文件含有外部DTD验证的时候,使用XmlDocument/XmlDataDocument类的Load方法会抛出如下的例外: System.Xml.XmlException: 未找到所需的 DTD 标记。 行 m,位置 n。 我们可以采用下面的方法不去加载外部资源: ...
XML基础学习课件。一共九章内容,包含实例代码。突出重点:DTD XSL CSS 等
第1章 为什么要使用XML 1.1 XML的需要 1.1.1 XML解决方案 1.1.2 SGML、HTML和XML 1.2 XML的正式目标 1.3 标准XML应用 1.4 XML的实际应用 第2章 创建并显示第一个XML文档 2.1 创建一个XML文档 2.1.1 创建XML...
NULL 博文链接:https://kevin-wanwei.iteye.com/blog/584000
好了,通过第三章的学习,我们已经了解了一些XML和DTD的基本术语,但是我们还不知道怎样来写这些文件,需要遵循什么样的语法,在下一章,将重点介绍有关撰写XML和DTD文档的语法。 第四章 XML语法 七.DTD的语法...
1、学习如何使用XMLSPY集成开发环境完成XML Schema相关的开发工作。2、掌握XML Schema与DTD之间的区别,能够完成两者之间的转换;掌握在XML Schema中如何定义元素和属性,如何使用限制、列表和合并派生自己的简单...
xml的dtd、schema教程和xml解析方法
XML和HTML的区别 · 六. XML的严格格式 · 七. 关于XML的更多 · 第二章:XML概念 · 一. 扩展性 · 二. 标识 · 三. 语言 · 四. 结构化 · 五. Meta数据 · 六. 显示 · 七. DOM · 第三章:XML的术语 ...
XML和HTML的区别 · 六. XML的严格格式 · 七. 关于XML的更多 · 第二章:XML概念 · 一. 扩展性 · 二. 标识 · 三. 语言 · 四. 结构化 · 五. Meta数据 · 六. 显示 · 七. DOM · 第三章:XML的术语 ·...