学习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 |
单行注释 // 多行注释 /* */ |
单行注释 // # 多行注释 /* */ |
|
Sql语句 |
单行 -- 多行 /* */ |
XML |
<!--这是注释--> |
注意:
(1)注释不可以放在声明之前
(2)注释不能嵌套
使用工具
数据的分类
1、PCDATA(parse character data):可以解析的字符数据,
2、CDATA(character data)字符数据,不会由解析器解析。
注意:CDATA块之中的字符串中不能出现"]]>"。
实体
实体相当于我们说的常亮,
XML中预定义的实体
实体 |
描述 |
" |
双引号 |
' |
单引号 |
< |
< |
> |
> |
& |
& |
要实现如下效果:
‘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(扩展性语言)的主要内容,如果未能解决你的问题,请参考以下文章