eXtensible Markup language(XML——可扩展的标志语言)
XML知识体系
- XML语法规则
- XML核心技术
- 文档描、验证、约束技术——DTD/Schema
- 文档转换技术——XSL
- 数据查询技术——XPath
- 连接技术——XLink/XPointer
- 编程接口——DOM/SAX
1、XML是元标记语言,用户可以定义自己需要的标记,这些标记必须根据,某些通用的原理来创建,新创建的标记可以在文档类型定义(Document Type Definition——DTD)中加以描述。
2、XML描述的是结构和语义,而不是格式化;XML中的每个元素都是成对出现的(有开始,有结束),<student> </student>,XML中的元素嵌套关系要保持正确性,即先开始的标记要先结束,后开始的标记要后结束。
<?xml version="1.0"?> <students> <student> <id>100</id> <name>lisi</name> <address>beijing</address> </student> </students>
3、每一个XML文档都有且只有一个根元素(Root Element)。所谓根元素,就是唯一一个包含了其他所有元素的元素;XML描述的是文档的内容与语义,而不是文档应当如何显示。
4、XML的发展:XML有两个先驱——SGML和HTML
5、XML1.0语法:格式正规的XML和有效地XML
6、XML解析器:读取XML文档并提供对文档内容的访问的软件模块:有如下类型:无验证的解释器和验证的解释器
解释器:MSXML IE、IBM XML4J、Apache Xerces、Oracle XML Parser
6、简单的XML文档:第一行是XML声明,有三个属性
<?xml version=1.0 standalone="yes" encoding=“utf-8”?>
对于XML文档来说,<?处理指令必须要顶格写,前面不能有任何的空白,xml与?之间不能有空格,结尾以?>结尾,XML元素可以具有属性,属性的形式为:
属性名="属性值",比如sex="man",属性值需要使用单引号或者双引号括起来。多个属性之间使用空格分开。
标记之间是内容:<person>zhangsan</person>zhangsan就是标记person的内容,xml严格区分大小写
7、XML与CSS关联:<?xml-stylesheet type="text/css" href="hello.css"?>,体现xml内容与展现的分离性
css是Cascading Style Sheets的简写,级联样式表,还有一种是可扩展的样式语言:eXtensible Style Language——XSL,比CSS复杂当强大
xml中的注释:<!-- 注释 -->,注释不允许嵌套,注释内容中不要出现--,不要把注释放在标记中间;在一个元素上,相同的属性只能出现一次。
实体:作用是避免重复输入——(宏、变量),XML中预定实体:<、>、&、&qout;、'分别代表<、>、&、"、',
自定义实体语法:
<!DOCTYPE 根元素 [
<!ENTITY 实体名 "实体内容">
]>
引用已定义的实体:&实体名;
<?xml version="1.0"?>
<!DOCTYPE company [
<!ENTITY adcompany "ad公司" >
<!ENTITY address "上海">
]>
<company>
<name>&adcompany;</name>
<address>&address;</address>
</company>
8、XML专用标记:
1)注释<!-- -->
2)处理指令:语法<? 目标 指令 ?>,xml、xml-stylesheet
3)CDATA节:用于把整段文本解释为纯字符数据而不是标记的情况。语法:<![CDATA[ ........]]>可以输入任意字符(除了]]>外),不能嵌套
9、文档类型定义——DOCTYPE,文档类型声明,紧跟在xml声明之后,包含所有实体声明。语法:
<?xml version="1.0?>
<!DOCTYPE 根元素标记名 [
<!-- 实体声明 -->
]>
10、格式正规(wellform)的XML文档:遵循如下规则的XML文档称为格式正规的XML文档:
- 语法规范:
- 必须有XML声明语句<?xml version="1.0" encoding="gb2312"?>;
- 必须有且仅有一个根元素
- 标记大小写敏感
- 属性值用引号
- 标记成对
- 空标记关闭
-元素正确嵌套
符合语法要求的XML文档就是格式正规的XML文档。
元素语法
-名称中可以包含字母、数字或者其他字符
-名称不能以数字开头
-不能以XML/xml/Xml/...开头
-名称中不能含有空格
-名称中不能含有冒号(注:冒号留给命名空间使用)