博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
XML学习笔记(二)-- DTD格式规范
阅读量:5322 次
发布时间:2019-06-14

本文共 1304 字,大约阅读时间需要 4 分钟。

标签(空格分隔): 学习笔记


XML的一个主要目的是允许应用程序之间自由交换结构化的数据,因此要求XML文档具有一致的结构、业务逻辑和规则。可以定义一种模式来定义XML文档的结构,并借此验证XML文档的有效性。

定义XML文档结构有两种解决方案:一种是采用文档类型定义DTD;另一种是采用XML Schema

DTD的基本结构

DTD是用来规范XML文件的格式,必须出现在头文件中,一遍XML校验器在一开始便可以得到XML文件的格式定义。DTD是一套关于标记符的语法规则,它定义了可用在文档中的元素、属性和实体,以及这些内容之间的关系。

DTD的基本结构

DTD语法格式如下:

]>

参数说明:

  • <!DOCTYPE:文档类型声明的起始定界符;
  • 根元素名称[:一个XML文档只有一个根元素,如果XML文档使用DTD,那么根元素的名称就在这里指定;
  • <!ELEMENT子元素名称(#PCDATA)>:用来定义出现在文档中的元素;
  • ]>:文档类型声明的结束界定符。

DTD中的定义元素

包括元素名称、构成元素基本类型和元素内容类型。

声明元素类型

语法如下:

  • ELEMENT:是关键字,表示对元素类型进行声明;
  • 元素名:为当前元素指定元素名称;
  • 元素内容:元素后面的内容用来指定元素的内容类型,分为 EMPTY, 子元素类型, 混合型, ANY, PCDATA5中类型。

DTD中的元素限定符

元素限定符用于在DTD中规定子元素出现的顺序和次数。

常用的元素限定符有:

  • () - 用来给元素分组;
  • | - 在列出的元素中选择一个;
  • + - 可出的元素至少出现1次(1或多次);
  • * - 列出的元素允许出现0次到任意多次(0或多次);
  • ? - 列出的元素出现0次或1次,;
  • , - 列出的元素必须按照指定的顺序出现。

DTD中的定义属性

元素属性包括属性名称、变量类型、预定义属性等。

属性的声明

属性的类型

在DTD中声明属性的语法格式时属性类型是属性声明中所必须的,常用的属性类型有:

  • CDATA: 字符数据;
  • ID: 该属性值在XML文档中是唯一的;
  • IDREF: 该属性值参考了XML文档中的另一个属性;
  • ENTITY: 表示该属性的设定值是一个外部实体,如一个图片文件;
  • NMTOKEN: 属性值只能由数字、字母、下划线、连字符等符号构成;
  • NOTATION: 属性值是在DTD中声明过的注解名称;
  • Enumerat: 列出能够赋予该属性的各种值的列表,只能从中选择属性值。

在DTD中声明XML的元素必须是字符串类型时,应该使用#PCDATA(在ELEMENT标签中使用);声明属性的属性值必须是字符串时,应该使用CDATA(在ATTLIST标签中使用)。

DTD中的试题

XML中预定义的常规实体引用"&lt;" "&gt;" "&amp;" "&apos;" "quot;" 分别对应着 "<" ">" "&" "'" """.

普通内部实体

普通外部实体

转载于:https://www.cnblogs.com/little-YTMM/p/5877314.html

你可能感兴趣的文章
焊接贴片
查看>>
C/C++掌握技能(一)
查看>>
数据库事务与锁详解
查看>>
实验3
查看>>
oracle导入大批量数据(20G)
查看>>
洛谷 P1508 Likecloud-吃、吃、吃
查看>>
Tile的更新
查看>>
在同一个页面设置两个选项卡菜单 滑动式导航
查看>>
Mybatis: 无效的列类型:1111错误
查看>>
DataGridView隔行显示不同的颜色
查看>>
封装数据库配置文件App配置文件
查看>>
python 执行shell命令
查看>>
Mybatis的mapper文件中$和#的区别
查看>>
Find the total area covered by two rectilinear rectangles in a 2D plane. 208MM
查看>>
C#学习笔记-观察者模式
查看>>
常用原生JS兼容性写法汇总
查看>>
微信公众号网页开发——阻止微信客户端内点击任何图片自动放大
查看>>
hadoop2.6.0实践:004 启动伪分布式hadoop的进程
查看>>
12 生成器和生成器表达式
查看>>
bzoj2424: [HAOI2010]订货
查看>>