DTD文件:

1.DTD文档主要由(元素,属性,实体,PCDATA,CDATA)

2.声明一个元素:<!ELEMENT 元素名称 (元素内容)>

eg: <!ELEMENT persons (person)>

特殊元素: <!ELEMENT 元素名称 EMPTY>结果类诗如下:<!ELEMENT br EMPTY>

效果:<br />

带有任何内容的元素: <!ELEMENT 元素名称 ANY>  EG: <!ELEMENT note ANY>

 

3.当最后只有PCDATA元素时 (元素内容) –> (#PCDATA)

<!ELEMENT 元素名称 (#PCDATA)>

eg:  <!ELEMENT name (#PCDATA)>

 

4.带有子元素的元素:

<<

 

<!ELEMENT 元素名称 (子元素名称,多个用“,”分割)>

eg:  <!ELEMENT person (id,name,age) >

 

5.在默认的情况下,声明的元素都是只出现一次的。

在元素后面添加标志,可改元素出现的次数。

+  :出现1次或多次,至少出现一次,

*  :出现0次或多次,

?  :出现0次或1次,

 

6.声明属性  <!ATTLIST 元素名称  属性名称  属性类型  默认值>

其中属性类型可以有以下选择:

CDATA
值为字符数据 (character data)

(en1|en2|..)
此值是枚举列表中的一个值

ID
值为唯一的 id

IDREF
值为另外一个元素的 id

IDREFS
值为其他 id 的列表

NMTOKEN
值为合法的 XML 名称

NMTOKENS
值为合法的 XML 名称的列表

ENTITY
值是一个实体

ENTITIES
值是一个实体列表

NOTATION
此值是符号的名称

xml:
值是一个预定义的 XML 值

 

默认值可以取以下值:

 

#REQUIRED
属性值是必需的

#IMPLIED
属性不是必需的

#FIXED value
属性值是固定的

eg:  <!ATTLIST person  sex  CDATA  “男”>

7.声明一个实体:<!ENTITY 实体名称  “实体的值”>

<! ENTITY copyright “Copyright author”>

 

 

8.一个简单的应用:

1.不按标准写但结构类似写法:

<persons  sex>

    <person>

         <id></id>

         <name></name>

         <age></age>

    </person>

</persons>

2.把上面的转为dtd格式:

<!ELEMENT persons (person)>

<!ELEMENT persons  sex  CDATA  “男”>

<!ELEMENT person (id,name,age)>

<!ELEMENT id (#PCDATA)>

<!ELEMENT name (#PCDATA)>

<!ELEMENT age (#PCDATA)>

xml文件对应的DTD学习的更多相关文章

  1. XML文件基础,DTD校验文件编写,Schema文件的简单使用

    dtd <!-- <!ELEMENT 元素(子元素,...)> --> <!ELEMENT students (student+,cat*) > <!ELEM ...

  2. XML文件详解以及解析

    转自:https://blog.csdn.net/com_ma/article/details/73277535 一.xml基础详解: 1.概述: xml:即可扩展标记语言,xml是互联网数据传输的重 ...

  3. XML之基础和DTD解析

    本笔记可根据W3school教程学习: 首先-----了解XML文档结构.语法规范.作用 -----了解DTD约束的作用.具体约束语法 <?xml version="1.0" ...

  4. java中采用dom4j解析xml文件

    一.前言 在最近的开发中用到了dom4j来解析xml文件,以前听说过来解析xml文件的几种标准方式:但是从来的没有应用过来,所以可以在google中搜索dmo4j解析xml文件的方式,学习一下dom4 ...

  5. php添加数据到xml文件的例子

    php添加数据到xml文件中 时间:2015-12-17 06:30:37来源:网络 导读:php添加数据到xml文件中   xml文件:stu.xml: 复制代码代码如下: <?xml ver ...

  6. Php 解析XML文件

    Php 解析XML文件 Php 解析XML文件,仅供学习參考!演示样例代码例如以下: <?php header("Content-type: text/html; charset=ut ...

  7. web.xml文件的 xsd引用(或dtd引用)学习

    1. 为什么web.xml会有不同版本的xsd引用: JDK依赖变化: 或 servlet(JAVA EE)自身API的改变: 2. 为什么会有dtd和xsd两个版本的区别 我是在这篇文章中看到的,作 ...

  8. [原创]java WEB学习笔记77:Hibernate学习之路---Hibernate 版本 helloword 与 解析,.环境搭建,hibernate.cfg.xml文件及参数说明,持久化类,对象-关系映射文件.hbm.xml,Hibernate API (Configuration 类,SessionFactory 接口,Session 接口,Transaction(事务))

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  9. XML概念定义以及如何定义xml文件编写约束条件java解析xml DTD XML Schema JAXP java xml解析 dom4j 解析 xpath dom sax

    本文主要涉及:xml概念描述,xml的约束文件,dtd,xsd文件的定义使用,如何在xml中引用xsd文件,如何使用java解析xml,解析xml方式dom sax,dom4j解析xml文件 XML来 ...

随机推荐

  1. 在点击HOME键时, 在点击icon回到原来的应用。

    参考资料: http://www.linuxidc.com/Linux/2012-01/51332.htm

  2. 【转】find命令

    Linux中find常见用法示例·find path -option [ -print ] [ -exec -ok command ] {} \;find命令的参数: pathname: find命令 ...

  3. 共享池之八:软解析、硬解析、软软解析 详解一条SQL在library cache中解析涉及的锁

    先来张大图: 结合上图来说明一下解析的各个步骤涉及的锁. 软解析.硬解析.软软解析区别的简单说明: 为了将用户写的sql文本转化为oracle认识的且可执行的语句,这个过程就叫做解析过程. 解析分为硬 ...

  4. php中引用符号(&)的使用详解

    php的引用就是在变量或者函数.对象等前面加上&符号,在PHP 中引用的意思是:不同的名字访问同一个变量内容,下面介绍如何使用PHP的引用 与C语言中的指针是有差别的.C语言中的指针里面存储的 ...

  5. Hibernate三种状态的区分,以及save,update,saveOrUpdate,merge等的使用 引自http://www.blogjava.net/TiGERTiAN/archive/2008/10/25/236519.html

    Hibernate的对象有3种状态,分别为:瞬时态(Transient). 持久态(Persistent).脱管态(Detached).处于持久态的对象也称为PO(Persistence Object ...

  6. 制作Win7(x86)PE ISO文件

    WinPE3.1     —Win7 x86 PE V3.1: waik_supplement_zh-cn.isoDVD: cn_windows_7_professional_with_sp1_x86 ...

  7. 了解Entity Framework中事务处理

    Entity Framework 6以前,框架本身并没有提供显式的事务处理方案,在EF6中提供了事务处理的API. 所有版本的EF,只要你调用SaveChanges方法进行插入.修改或删除,EF框架会 ...

  8. Azure磁盘的吞吐量测试

    Azure的高级存储具有吞吐量大,延迟低的特点,非常适合时间关键型的应用程序(如SQL Server, Oracle, Redis等). 但高级存储同时具有价格高的特点,用户往往对其实际的性能数据较为 ...

  9. MSP430F149学习之路——LED

    #include <msp430x14x.h> void int_clk(); void delay(int i); void main() { WDTCTL = WDTPW + WDTH ...

  10. Java 动态编译组件 & 类动态加载

    1.JDK6 动态编译组件 Java SE 6 之后自身集成了运行时编译的组件:javax.tools,存放在 tools.jar 包里,可以实现 Java 源代码编译,帮助扩展静态应用程序.该包中提 ...