学习XML(扩展性语言)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学习XML(扩展性语言)相关的知识,希望对你有一定的参考价值。

XML

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

解决html不可扩展的问题,

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

XML介绍

1、  基于文本格式的

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

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

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

文档结构

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

 技术分享

 

2、是一种树形的结构

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

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

标签的规则

1、  至少需要一个元素

2、  XML标签是区分大小写(HTML不区分大小写)

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

4、  标签的嵌套要正确

 技术分享

 

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

注释

语言

注释

HTML

<!--这是注释-->

CSS

/* 注释 */

Js

单行注释   //

多行注释   /*   */

php

单行注释   //      #

多行注释   /*     */

Sql语句

单行   --

多行   /*   */

XML

<!--这是注释-->

注意:

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

 技术分享

 

(2)注释不能嵌套

使用工具

 技术分享

 

数据的分类

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

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

 技术分享

 

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

实体

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

XML中预定义的实体

实体

描述

&quot;

双引号

&apos;

单引号

&lt;

&gt;

&amp;

&

要实现如下效果:

‘He said:"1<2"‘

 技术分享

 

自定义实体分为

a)         一般实体

b)         参数实体

DTD

Document Type Definition,文档类型定义,

格式良好:满足XML最低规范的

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

 

符号

含义

+

>=1

*

>=0

=0 或=1

文档类型定义

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

例题(外部DTD)demo3.xml和demo3.dtd

dtd在XML文件外称为外部dtd

1、XML如下

 技术分享

 

2、DTD如下:

 技术分享

 

例题(内部DTD)demo4.html

dtd文件在XML文件内部称为内部DTD。

 技术分享

 

例题(空标记)demo5.xml

 技术分享

 

例题(ANY)demo6.xml

 技术分享

 

混合元素(demo7.xml)

XML

 技术分享

 

对应的DTD如下:

 技术分享

 

自定义一般实体

1、DTD如下:

 技术分享

 

2、XML如下:

 技术分享

 

属性

格式:

<!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 >

例题(属性)

XML如下:

 技术分享

 

对应的DTD是:

 技术分享

 

定义参数实体

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

 技术分享

 

对应的XML是

 技术分享

 

总结

1、XML是可扩展标记语言,用于保存,传输结构化数据。

2、XML的文档定义:

         第一行必须放文档的声明

         按树形结构组织XML元素

3、XML中包含:声明、元素、属性、值、实体、注释

4、XML最低规范:

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

         2、标签必须是容器标记

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

5、格式良好和有效

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

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

         内部DTD把规范写在XML文档的内部

         外部DTD把规范写在XML文档的外部

7、引用外部DTD的方法

         SYSTEM:如果DTD和XML在同一台服务器上用SYSTEM

         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

扩展部分

引入命名空间 xmlns

 技术分享

 

DTD缺点

1、不支持命名空间

2、支持的数据类型很少

3、DTD不可扩展

4、DTD不遵循XML规范

DTD的优点

简洁

schema

通过schema来解决DTD的不足

Schema的注意事项

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

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

例题:

 

XML代码如下:

 技术分享

 

以上是关于学习XML(扩展性语言)的主要内容,如果未能解决你的问题,请参考以下文章

扩展标记语言-XML

关于XML的学习

XML简单学习

JavaWeb基础—XML学习小结

可扩展标记语言XML

Python高级语法——格式化文件——学习心得笔记