首页 > 代码库 > xml约束之dtd
xml约束之dtd
XML约束技术: DTD约束:语法相对简单,功能也相对简单。 Schema约束:语法相对复杂,功能也相对强大。(名称空间)
DTD约束 导入dtd方式:
内部导入<!DOCTYPE note [ <!ELEMENT note (to,from,heading,body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)>]>
外部导入 本地文件系统: <!DOCTYPE note SYSTEM "note.dtd"> 公共的外部导入:<!DOCTYPE 根元素 PUBLIC "http://gz.itcast.cn/itcast.dtd">
DTD语法 约束标签 <!ELEMENT 元素名称 类别> 或 <!ELEMENT 元素名称 (元素内容)> 类别: 空标签: EMPTY。 表示元素一定是空元素。 普通字符串: (#PCDATA)。表示元素的内容一定是普通字符串(不能含有子标签)。 任何内容: ANY。表示元素的内容可以是任意内容(包括子标签)
(元素内容): 顺序问题: <!ELEMENT 元素名称 (子元素名称 1,子元素名称 2,.....)>: 按顺序出现子标签 次数问题: 标签 : 必须且只出现1次。 标签+ : 至少出现1次 标签* : 0或n次。 标签? : 0 或1次。 约束属性 <!ATTLIST 元素名称 属性名称 属性类型 默认值> 默认值: #REQUIRED 属性值是必需的 #IMPLIED 属性不是必需的 #FIXED value 属性不是必须的,但属性值是固定的 属性类型:控制属性值的 CDATA :表示普通字符串 (en1|en2|..): 表示一定是任选其中的一个值 ID:表示在一个xml文档中该属性值必须唯一。值不能以数字开头
代码:
新建一个note.dtd文件: <!ELEMENT note (from?,to+,heading*,body+)> <!ELEMENT to EMPTY> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)> <!ATTLIST to id ID #REQUIRED>
新建一个note.xml<?xml version="1.0"?><!DOCTYPE note SYSTEM "note.dtd"><note> <to id="a1"></to> <to id="a2"></to> <to id="a3"></to> <heading>Reminder</heading> <heading>Reminder</heading> <heading>Reminder</heading> <body>Don‘t forget me this weekend</body> <body>Don‘t forget me this weekend</body> <body>Don‘t forget me this weekend</body></note>
xml约束之dtd
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。