`
yangshen998
  • 浏览: 1246787 次
文章分类
社区版块
存档分类
最新评论

第五周第2天XML初步认识(二)

 
阅读更多

XML初步认识(二)

外部DTD

外部文件类型定义存在于独立文件中,文件扩展名为“.dtd”。外部DTD的好处是:可以方便的被多个XML文档共享,只需要定义一份DTD文档,即可为多个XML文档定义语义约束。

方法:<!DOCTYPE 根元素名 SYSTEM“DTD-URL”>

SYSTEM:关键字,指该外部DTD是私有的

DTD-URL:通过URL将外部DTD引用到XML文档中,可是使绝对地址也是可相对地址

公用DTD

有一种外部DTD,是由某个权威机构制定,提供特定行业或公司,这种DTD又被称为公用DTD。

方法:<!DOCTYPE 根元素名 PUBLIC “DTD-NAME” “DTD-URL”>

DTD对元素声明

使用ELEMENT声明XML元素的语法,语法格式如下:

<!ELEMENT 元素名 元素内容>

注意:ELEMENT关键字必须大写

元素名:为当前元素指定的元素名称

元素内容:元素后面的内容用来制定元素的内容类型它可以分为EMPTY(空)、子元素类型,混合型、ANY(任意)和#PCDATA(字符文本)5种类型。

定义混合内容元素

某个元素既有字符串内容,又包含子元素,被称为混合内容的元素。一般来说,XML文档不推荐使用混合内容的元素。

<!ELEMENT 父元素名 (#PCDATA|子元素1|子元素2|子元素3…..)*>

注意:#PCDATA必须放在最前面。

#PCDATA合格元素之间只能用竖线(|)分割。

子元素1,子元素2和资元素3之间的竖线(|)并不是表示互斥,而只是表示这些元素能无序的重复出现,而且次数不受限制。

不要试图在各个子元素之后添加?,*,+等表示频率的修饰符。

有序的子元素

用英文逗号(,)作为子元素之间的分隔符,则子元素之间必须遵守所定义的顺序。

互斥的子元素

互斥的子元素表明一系列子元素之间只能出现其中一次。互斥子元素使用竖线(|)分隔,以竖线(|)分隔的多个元素只能出现其中之一。

子元素出现的频率

自元素的出现频率通过在元素声明后紧跟一个标识频率的特殊标记来表示,DTD中表示频率的特殊标记有3个:

+:表明子元素可以出现1次或多次

*:表名子元素可以出现0次或多次

?:表名子元素可以出现0次或1次

如果在定义子元素时,没有子元素后制订任何表示频率的特殊标记,则表明这些子元素只能出现一次,且必须一次。

DTD对属性声明

在DID中,属性通过ATTLIST声明来进行声明。一个属性声明可以声明一个元素的多个属性。

<!ATTLIST 元素名 属性名 属性类型 [属性限定条件] [默认值]>

注意:在没有指定“元素对属性的约束”时,必须为该属性指定“默认值”;当“元素对属性的约束”是#REQUIRED时,必须为该元素提供属性,不能为该属性指定“默认值”;当“元素对属性的约束”是“IMPLIED”时,该属性是可有可无的,不能为该属性指定“默认值”;当“元素对属性的约束”是“FIXED”时,该属性的值是固定的,定义是必须制定固定值。使用该元素时无须为其分配该属性,XML处理器会自动为该属性增加固定值,必须为该属性指定“默认值”;

分享到:
评论

相关推荐

    ASP.NET3.5从入门到精通

    7.2.1 初步认识SQL Server 2005 7.2.2 创建数据库 7.2.3 删除数据库 7.2.4 备份数据库 7.2.5 还原数据库 7.2.6 创建表 7.2.7 删除表 7.2.8 创建数据库关系图 7.3 ADO.NET 连接SQL 数据库 7.3.1 ADO.NET 基础 7.3.2 ...

    Java Web编程宝典-十年典藏版.pdf.part2(共2个)

    5.2.1 初步认识Servlet 5.2.2 Servlet与JSP的区别 5.3 为我所用——Servlet技术开发 5.3.1 Servlet在JavaEE中的结构体系 5.3.2 Servlet核心API 5.3.3 创建第一个Servlet对象 5.3.4 Servlet配置解析 5.3.5 使用...

    JAVA WEB典型模块与项目实战大全

    1.4 核心框架初步认识  1.5 小结  第2章 myedipse开发工具对各种框架的支持  2.1 使用jsp的两种模式  2.2 struts框架的实现  2.3 hibernate框架的实现  2.4 jpa框架的实现  2.5 spring框架的实现  ...

    ASPNET35开发大全第一章

    7.2.1 初步认识SQL Server 2005 7.2.2 创建数据库 7.2.3 删除数据库 7.2.4 备份数据库 7.2.5 还原数据库 7.2.6 创建表 7.2.7 删除表 7.2.8 创建数据库关系图 7.3 ADO.NET连接SQL数据库 7.3.1 ADO.NET基础 7.3.2 连接...

    asp.net知识库

    第2章 并发操作的一致性问题 (2) Using sqlite with .NET Visual Studio 2005 中的新 DataSet 特性 MySQL 和 .Net2.0配合使用 与DotNet数据对象结合的自定义数据对象设计 (二) 数据集合与DataTable 与DotNet数据对象...

    ASP.NET 3.5 开发大全1-5

    7.2.1 初步认识SQL Server 2005 7.2.2 创建数据库 7.2.3 删除数据库 7.2.4 备份数据库 7.2.5 还原数据库 7.2.6 创建表 7.2.7 删除表 7.2.8 创建数据库关系图 7.3 ADO.NET连接SQL数据库 7.3.1 ADO.NET基础 7.3.2 连接...

    PHP培训教程之AJAX技术.docx

    1、AJAX初步认识 AJAX的全称AsynchronousJavaScriptAndXML. AJAX2005年由Google发起并流行起来的编程方法,AJAX不一个新的编程语言,但它一个使用已有标准的新的编程技术。一种创建交互式网页应用的网页发技术。 ...

    Android典型技术模块开发详解

    第2章 应用程序构建 2.1 创建Android工程 2.2 HelloAndroid详解 2.2.1 程序结构 2.2.2 代码分析 2.3 权限permission 2.4 LogCat日志调试 2.5 示例练习 2.5.1 登录界面 2.5.2 事件处理 2.6 本章小结 第二篇 Android...

    ASP.NET 3.5 开发大全11-15

    7.2.1 初步认识SQL Server 2005 7.2.2 创建数据库 7.2.3 删除数据库 7.2.4 备份数据库 7.2.5 还原数据库 7.2.6 创建表 7.2.7 删除表 7.2.8 创建数据库关系图 7.3 ADO.NET连接SQL数据库 7.3.1 ADO.NET基础 7.3.2 连接...

    ASP.NET 3.5 开发大全

    7.2.1 初步认识SQL Server 2005 7.2.2 创建数据库 7.2.3 删除数据库 7.2.4 备份数据库 7.2.5 还原数据库 7.2.6 创建表 7.2.7 删除表 7.2.8 创建数据库关系图 7.3 ADO.NET连接SQL数据库 7.3.1 ADO.NET基础 7.3.2 连接...

    ASP.NET 3.5 开发大全word课件

    7.2.1 初步认识SQL Server 2005 7.2.2 创建数据库 7.2.3 删除数据库 7.2.4 备份数据库 7.2.5 还原数据库 7.2.6 创建表 7.2.7 删除表 7.2.8 创建数据库关系图 7.3 ADO.NET连接SQL数据库 7.3.1 ADO.NET基础 7.3.2 连接...

    C# Winform数据库应用设计(附开发案例

    初步的认识,了解C#的开发环境,编写第一个C#控制台应用程序。C#语言的基本语法和我 们之前的学习的C语言、Java语言一样同属于C语言语法系列,有很多相似的地方,同时也 有一些不同的地方,因此我们在学习的时候需要注意...

    asp学习相关资料大全

    作为重要的基准测试可伸缩性和速度奖的记录保持者,SQL Server 2000 是一个具备完全 Web 支持的数据库产品,提供了对可扩展标记语言(XML)的核心支持以及在 Internet 上和防火墙外进行查询的能力。 4 系统分析 4.1 ...

Global site tag (gtag.js) - Google Analytics