Javaweb学习笔记——Javaweb概述

2022-12-01 18:48:17 浏览数 (1)

目录

前言

一、XML语法

XML和HTML的比较

XML语法

1、文档声明

2、元素定义

3、属性定义

4、注释

二、DTD约束

什么是DTD约束

DTD的引用

外部引入

直接嵌入

DTD语法

元素定义

属性定义


前言

今天的学习内容主要包括XML语法、DTD约束,以下是今天的笔记。


一、XML语法

XML是类似于HTML的标记语言,称为可扩展标记语言,用户可以按照XML规则自定义标记。

XML和HTML的比较

XML

HTML

用来传输和存储数据

用来显示数据

严格区分大小写

不区分大小写

有且只能有一个根元素

可以有多个根元素

空格不会自动删除

空格可以自动过滤

标记可以根据需要自己定义,并且可扩展

标记是预定义的

注意:XML不是HTML的升级,也不是HTML的替代产品

虽然两者有些相似,但它们的应用领域和范围完全不同。HTML规范的最终版本是HTML 4.01,它已经被XHTML取代。而XHTML 是 HTML 和 XML 的混合物,它完全采用XML的语法规则来编写Web页面,有效地结合了HTML的简单性和XML的可扩展性,并且XML可以应用在金融、科研等各个领域,而XHTML只是XML在Web领域的一种应用。

XML语法

1、文档声明

在一个完整的XML文档中,必须包含一个XML文档的声明,并且该声明必须位于文档的第一行。这个声明表示该文档是一个XML文档,以及遵循哪个XML版本的规范。

文档声明以符号“<?”开头,以符号“?>”结束,中间可以声明版本信息,编码信息以及文档独立性信息。需要注意的是,在“<”和“?”之间、“?”和“>”之间以及第一个“?”和xml之间不能有空格;另外,中括号([])括起来的部分是可选的。

声明的语法格式如下:

<?xml 版本信息[编码信息][文档独立性信息]?>

2、元素定义

在XML文档中,主体内容都是由元素(Element)组成的。元素由开始标记、属性、元素内容和结束标记构成,示例如下:         <城市>北京</城市>

上面的示例中,“<城市>”和“</城市>”就是XML文档中的标记,标记的名称也就是元素的名称。在一个元素中可以嵌套若干子元素。如果一个元素没有嵌套在其它元素内,则这个元素称为根元素。根元素是XML文档定义的第一个元素。如果一个元素中没有嵌套子元素,也没有包含文本内容,则这样的元素称为空元素,空元素可以不使用结束标记,但必须在起始标记的“>”前增加一个正斜杠“/”来说明该元素是个空元素,例如:<img></img>可以简写成<img/>。

3、属性定义

在XML文档中,可以为元素定义属性。属性是对元素的进一步描述和说明。一个元素可以有多个属性,每个属性都有自己的名称和取值,比如:

<售价 单位=“元”>68.00</售价>

在XML文档中,属性的命名规范同元素相同,属性值必须要用双引号("")或者单引号('')引起来,否则被视为错误。

4、注释

为了对XML元素所包含的数据含义进行说明,或插入一些附加信息,比如作者姓名、地址或电话等,或者想暂时屏蔽某些XML元素,可以使用注释标记来实现,被注释的内容会被程序忽略,XML解析器不会解析和处理注释内容。XML注释和HTML注释写法基本一致。

二、DTD约束

什么是DTD约束

DTD约束是早期出现的一种XML约束模式语言,根据它的语法创建的文件称为DTD文件,可以包含元素的定义、元素之间关系的定义、元素属性的定义以及实体符号的定义。

DTD的引用

如果想使用DTD文件约束XML文档,必须在XML文档中引入DTD文件。在XML文档中引入DTD文件有两种方式,可以外部引入,也可以直接嵌入。

外部引入

1、引用本地的DTD文件,其中“外部DTD文件的URI”可以是相对于XML文档的相对路径,也可以是一个绝对路径。如下:

<!DOCTYPE 根元素名称 SYSTEM "外部DTD文件的URI">

2、引用公共的DTD文件 ,其中“外部DTD文件的URI”是Internet上的一个绝对URL地址。

<!DOCTYPE 根元素名称 PUBLIC “DTD名称” "外部DTD文件的URI">

直接嵌入

在XML文件中直接嵌入DTD文件,语法格式如下:

DTD语法

在编写DTD文档时,需要遵循一定的语法。DTD的结构一般由元素类型定义、属性定义、实体定义、记号(notation)定义等构成,一个典型的文档类型定义会把将来要创建的XML文档的元素结构、属性类型、实体引用等预先进行定义。

元素定义

元素是XML文档的基本组成部分,在DTD定义中,每一条<!ELEMENT…>语句用于定义一个元素,基本语法格式如下:

<!ELEMENT 元素名称 元素内容>

元素名称是自定义的名称,用来定义被约束XML文档中的元素。

元素内容是对元素包含内容的声明,包括数据类型和符号两部分。主要包括5种内容形式。

  1. #PCDATA:表示元素中嵌套的内容是普通文本字符串,其中,关键字PCDATA是Parsed Character Data的简写。例如<!ELEMENT 书名 (#PCDATA)>表示书名所嵌套的内容是字符串类型。
  2. 子元素:说明元素包含的元素。通常用一对圆括号()将元素中要嵌套的一组子元素括起来,例如,<!ELEMENT 书 (书名,作者,售价)>表示元素书中要嵌套书名、作者、售价等子元素。
  3. 混合内容:表示元素既可以包含字符数据,也可以包含子元素。混合内容必须被定义零个或多个,例如,<!ELEMENT 书 (#PCDATA|书名)*>表示书中嵌套的子元素书名包含零个或多个,并且书名是字符串文本格式。
  4. EMPTY:表示该元素既不包含字符数据,也不包含子元素,是一个空元素。如果在文档中元素本身已经表明了明确的含义,就可以在DTD中用关键字EMPTY表明空元素。例如,<!ELEMENT br EMPTY>,其中br是一个没有内容的空元素。
  5. ANY:表示该元素可以包含任何的字符数据和子元素。例如,<!ELEMENT 联系人 ANY>表示联系人可以包含任何形式的内容。但在实际开发中,应该尽量避免使用ANY,因为除了根元素外,其他使用ANY的元素都将失去DTD对XML文档的约束效果。

常见符号的作用:

  1. 问号[?]:表示该对象可以出现0次或1次。
  2. 星号[*]:表示该对象可以出现0次或多次。
  3. 加号[ ]:表示该对象可以出现1次或多次。
  4. 竖线[|]:表示列出的对象中选择1个。
  5. 逗号[,]:表示对象必须按照指定的顺序出现。
  6. 括号[()]:用于给元素进行分组。

属性定义

定义元素的同时,还可以为元素定义属性。语法格式如下:

元素名:属性所属元素的名字。

属性名:属性的名称。

属性类型:用来指定该属性是属于哪种类型。

设置说明:用来说明该属性是否必须出现。

0 人点赞