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>
时间: 2024-08-07 08:25:08

xml约束之dtd的相关文章

xml约束之---DTD

 xml约束  ---- DTD 什么是XML约束: 在XML技术里,可以编写一个文档来约束一个XML文档的书写规范,这称之为XML约束. 为什么需要XML约束? 常用的约束技术 XML DTD XML Schema DTD(Document TypeDefinition),全称为文档类型定义. 文件清单:book.xml <?xml version="1.0" ?> <!DOCTYPE 书架 SYSTEM"book.dtd"> <书架

XML 约束 (DTD和 schema)

book.DTD 如下: <?xml version="1.0" encoding="UTF-8" ?> <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.atguigu.com/bookSchema" elementFormDefault="qualified"> <ele

XML系列:(2)XML约束

1.什么是XML约束 在XML技术中,可以编写一个文档来约束一个XML文档的书写规范,这称之为XML约束. 2.XML语法和XML约束的区别 XML语法和XML约束的区别 作用 制定者 XML语法 规范XML文件的基本编写规则 由w3c组织制定的 XML约束 规范XML文件数据内容格式的编写规则 由开发者自行定义 3.常用的XML约束技术 DTD约束:语法相对简单,功能也相对简单.学习成本也低. Schema约束:语法相对复杂,功能也相对强大.学习成本相对高!!!(名称空间) 4.XML约束DT

javaweb学习总结八(xml约束&lt;DTD以及schema&gt;)

一:XML约束概念 xml约束:可以编写一个文档来约束xml文件的书写规范. xml语言格式比较严谨,不可能让程序员随意编写,所以必须要有约束. 二:常用的xml约束技术 1:DTD,document type definition 2:校验xml文件正当性 a:使用解析工具 b:使用ide工具,如:eclipse books.html 1 <?xml version="1.0" ?> 2 <!DOCTYPE bookstore SYSTEM "book.d

【代码笔记】XML深入学习:DTD约束与DTD语法(1)

2015-12-27 文件名    student.xml 1 <?xml version="1.0" encoding="GB2312" standalone="no"?> 2 <!--大家好,我是注释--> 3 <!--2015.12.27--> 4 <!DOCTYPE students SYSTEM "student.dtd"> 5 <!--这里没写盘符,及表示当前目

xml语法、DTD约束xml、Schema约束xml、DOM解析xml

今日大纲 1.什么是xml.xml的作用 2.xml的语法 3.DTD约束xml 4.Schema约束xml 5.DOM解析xml 1.什么是xml.xml的作用 1.1.xml介绍 在前面学习的html语言,html是超文本标记语言,使用html语言规定好的标签来封装文本数据.而html使用的标签html语言规定好的,每个标签都有自己特定的功能. xml语言,可扩展的标记语言,这门语言它没有定义任何的标记,而标记是由使用者自己来定义,但是由于标签名称以及属性名称都由用户自己来命名,导致别人在使

xml约束文档之DTD

DTD XML约束文档 文档类型定义(DTD)可定义合法的XML文档构建模块,它使用一系列合法的元素来定义文档的结构.DTD 可被成行地声明于 XML 文档中,也可作为一个外部引用 . 1.内部声明文档 <?xml version="1.0"?> <!DOCTYPE note [ <!ELEMENT note (to,from,heading,body)> <!ELEMENT to      (#PCDATA)> <!ELEMENT fr

XML——XML文件约束之DTD详解

1.XML文件约束与DTD的简单介绍 我们编写文档来约束一个XML文档的书写规范,这称之为XML约束. 常用的约束技术有: XML DTD XML Schema DTD的基本概念: document type definition 文档类型定义 DTD文件一般和XML文件配合使用,主要是为了约束XML文件. XML文件引入DTD文件,这样XML可以自定义标签,但又受到DTD文件的约束.比如上一节使用XML描述一个班级的信息,如果我们给每一个学生定义一个<面积>标签,语法上也是没有错误的,但是不

XML约束

XML约束--能够看懂约束内容,根据约束内容写出符合规则的xml文件. DTD约束 1)导入dtd方式 内部导入 <!DOCTYPE note [ <!ELEMENT note (to,from,heading,body)> <!ELEMENT to      (#PCDATA)> <!ELEMENT from    (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body    (#PCDAT