你的位置:首页 > Java教程

[Java教程]学习XML(扩展性语言)

eXtensible Markup language:可扩展的标记语言

解决HTML不可扩展的问题,

作用:保存或传输数据,不是用来显示数据的。

1、  基于文本格式的

2、  标签没有被预定义,需要自定义

3、  用于保存或传输数据,不是用来显示数据的。

4、  是元语言(可以通过这门语言开发其他的语言)

文档结构

1、最上面一行是文档的声明,注意:声明必须放在第一行

 

 

2、是一种树形的结构

3、必须包含根元素,在根元素中扩展到树叶

4、文档有元素、属性、值、注释、实体组成

标签的规则

1、  至少需要一个元素

2、 

3、  不允许空标记存在,所有的标记必须成对

4、  标签的嵌套要正确

 

 

5、标签的命名规则:以字母、下划线、冒号开头,后面跟的是字母,数字,下划线、冒号、句号(点)、连字符。中间不能有空格,不能以

注释

语言

注释

HTML

<!--这是注释-->

CSS

/* 注释 */

Js

单行注释   //

多行注释   /*   */

PHP

单行注释   //      #

多行注释   /*     */

Sql语句

单行   --

多行   /*   */

<!--这是注释-->

注意:

(1)注释不可以放在声明之前

 

 

(2)注释不能嵌套

使用工具

 

 

数据的分类

1、PCDATA(parse character data):可以解析的字符数据,

2、CDATA(character data)字符数据,不会由解析器解析。

 

 

注意:CDATA块之中的字符串中不能出现"]]>"。

实体

实体相当于我们说的常亮,

实体

描述

&quot;

双引号

&apos;

单引号

&lt;

&gt;

&amp;

&

要实现如下效果:

'He said:"1<2"'

 

 

自定义实体分为

a)         一般实体

b)         参数实体

DTD

Document Type Definition,文档类型定义,

格式良好:满足

有效:通过DTD验证的文档称为有效

 

符号

含义

+

>=1

*

>=0

=0 或=1

文档类型定义

<!DOCTYPE  根 SYSTEM "验证文档.dtd">

例题(外部DTD)demo3.

dtd在

1、

 

 

2、DTD如下:

 

 

例题(内部DTD)demo4.html

dtd文件在

 

 

例题(空标记)demo5.

 

 

例题(ANY)demo6.

 

 

混合元素(demo7.

 

 

对应的DTD如下:

 

 

自定义一般实体

1、DTD如下:

 

 

2、

 

 

属性

格式:

<!ATTLIST  元素名称  属性的名称  数据类型  附加条件>

 

TIP:声明元素的时候,元素的数据类型是PCDATA

       属性的时候,属性的数据类型是CDATA

 

 

属性的声明

名称

含义

语法

REQUIRED

必填属性

<!ATTLIST  元素名称 属性名称 CDATA  #REQUIRED>

IMPLIED

属性可有可无

<!ATTLIST  元素名称 属性名称 CDATA  # IMPLIED >

default

默认值

<!ATTLIST  元素名称 属性名称 CDATA  "默认值" >

FIXED

固定值

<!ATTLIST元素名称 属性名称 CDATA #FIXED "值">

枚举

枚举

<!ATTLIST 元素名称 属性名称 (值1|值2|值3...) "默认值">

ID

唯一

<!ATTLIST 元素名称 属性名称 ID #REQUIRED >

例题(属性)

 

 

对应的DTD是:

 

 

定义参数实体

参数实体就是在普通实体名字前面加上“%”。

 

 

对应的

 

 

总结

1、

2、

         第一行必须放文档的声明

         按树形结构组织

3、

4、

         1、必须(只能)要一个一个根

         2、标签必须是容器标记

         3、命名规则:以字母、下划线、冒号开头,后面跟的是字母、数字、下划线、冒号、句号、连字符。

5、格式良好和有效

         满足最低规范称为格式良好,先满足格式良好,再满足有效,通过DTD来保证文档的有效性。

6、DTD分为:内部DTD和外部DTD

         内部DTD把规范写在

         外部DTD把规范写在

7、引用外部DTD的方法

         SYSTEM:如果DTD和

         PUBLIC:如果引用的网络上的DTD用public。

8、

通过<!ELEMENT>来声明元素

通过<!ATTLIST>来声明属性

通过<!ENTITY>声明实体

9、表示数量

+   >=1

*   >=0

?   =0  =1

10、属性

必填 required

隐含 implied

固定  fixed

默认 

枚举

唯一

11实体

实体的分类

 

 

参数实体和一般实体的区别,在一般实体前面加一个%就是参数实体

 

补充:(W3C是什么)

World Wide Web Consortium  =>  wwwc  => 3wc => w3c

扩展部分

引入命名空间

 

 

DTD缺点

1、不支持命名空间

2、支持的数据类型很少

3、DTD不可扩展

4、DTD不遵循

DTD的优点

简洁

schema

通过schema来解决DTD的不足

Schema的注意事项

1、如果一个元素下有子元素或属性,必须把元素和属性放在复杂数据类型的标记(<xs:complexType>)里面

2、如果是子元素,必须放在复杂数据类型下的序列标签中(<xs:sequence>),属性不可以放在序列标签中。

例题: