JavaSE_编写DTD(文档约束)

一、编写DTD

定义元素

  • dtd文件后缀名为.dtd
  • <!DLEMENT>可以定义元素
  • 判断元素是简单元素还是复杂元素。
    3.1简单元素:没有子元素
    3.2复杂元素:有子元素的元素

4.约束下面图片的标签元素则
在这里插入图片描述
可按照DTD语法规则:<!DLEMENT 元素名 (元素类型)>

  • 简单元素:

    • EMPTY:表示标签体为空
    • ANY:表示标签体可以为空也可以不为空
    • PCDATA:表示该元素的内容部分为字符串
  • 复杂元素

    • 直接写子元素的名称
      • 多个子元素可以使用",“或者”|"隔开
      • “,”:表示定义子元素的顺序
      • “|”:表示子元素只能出现任意一个
    • 子元素名称后面还可以跟"?"、"+"、"*"、
      • “?”:表示这个元素可以出现零次或一次,
      • “+”:表示一次或多次
      • "*"表示零次或多次
      • 如果不写则表示出现一次
	<!DLEMENT persons (person+)> 	//复杂元素
	<!DLEMENT person (name,age)>	//复杂元素
	<!DLEMENT name (#PCDATA)>		//简单元素
	<!DLEMENT age (#PCDATA)>		//简单元素

定义属性

5.约束下面图片的标签元素则
在这里插入图片描述
可按照DTD语法规则:<!ATTLIST 元素名名称 属性名称 属性的类型 属性的约束>

  • 属性的类型:
    • CDATA类型:普通字的字符串
  • 属性的约束:
    • #REQUIRED:必须的
    • #IMPLIED:属性不是必须的
    • #FIXED value:属性值是固定的
	<!ATTLIST person id #FIXED "p1">

二、DTD的三种引入方式

DOCTYPE:文档类型
persons:自己约束的根元素名称
SYSTEM:表示引入的是本地文件
[]:约束内容

1.引入本地dtd

<!DOCTYPE 根元素名称 SYSTEM 'DTD文件的路径'>
例如:<!DOCTYPE persons SYSTEM 'personsdtd.dtd'>

2.在xml文件内部引入

<!DOCTYPE persons SYSTEM [DTD文件内容]>
例如:<!DOCTYPE persons SYSTEM [
	<!DLEMENT persons (person)> 	
	<!DLEMENT person (name,age)>	
	<!DLEMENT name (#PCDATA)>		
	<!DLEMENT age (#PCDATA)>
]>

3.引入网络dtd

<!DOCTYPE persons PUBLIC "dtd文件的名称" "dtd文档的URL">
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值