XML基本知识(一)
XML语法(1)--概述,处理指令,结构,实体
Xml文档中,不是标记便是字符数据。
· 标记:
· 包括标签,标签总是扩在<>内,字符内容则在<>外
· 标记是区分大小写的,几乎所有xml
· 几种不同用途的标签:
· 为Xml处理器提供指令
· 对存储在其他地方的信息提供引用
· 以有意义的方式组织数据
· eg:
1. <?xml version="1.0" encoding="UTF-8">
2. <!DOCTYPE addresslist SYSTEM "addresslist.dtd" [
3. <!ENTITY oldlist SYSTEM "oldaddresslist.xml">
4. ]>
5. <addresslist>
6. <person>
7. <name>Ann Smith</name>
8. <address>....... </address>
9. <city>.......</city>
10. <state>........</state>
11. <zipcode></zipcode>
12. </person>
13. <person>
14. <name>........</name>
15. <address>....... </address>
16. <city>.......</city>
17. <state>........</state>
18. <zipcode></zipcode>
19. </person>
20. &oldlist;
21. </addresslist>
· 另一个被引用的文件:"oldaddresslist.xml"
· <?xml version="1.0" encoding="UTF-8">
· <person>
· <name>........</name>
· <address>....... </address>
· <city>.......</city>
· <state>........</state>
· <zipcode></zipcode>
· </person>
· 处理指令:Processing Insgtruction----"PI"
<?target instructions ?> parameter="value"
eg:<?xml version="1.0" encoding="UTF-8">
· XML文档的物理和逻辑结构:
· 物理结构:允许文档的组件(实体)单独命名和存储在多个磁盘文件或其他存储单元。
· 逻辑结构:允许文档中的数据被组织并分成制定的单元或子单元(“元素”)
· XML的名称:
· 第一个字符必须是字母"冒号(:)"下划线(_)
· 名称十大小写敏感的
· 没有长度限制
· 以任何大小写组合的“XML”都是保留的
· 习惯上名称全部用小写,无分隔符
· 实体:Xml文档有一个或多个实体组成
· 必需的一个实体是Document实体
· 所有实体都在文档类型声明(或DOCTYPE标签)中声明:
· <!DOCTYPE MyXMLDocument [ <!ENTITY ......> ] >
· 可以在DOCTYPE标签中声明任意多的实体
· 声明与定义:
· 声明:文档类型声明是xml问当中的一个标签,可选的包含ENTITY声明并给出文档的文档类型定义名称。
· 定义:文档类型定义(通常)是包含文档数据模型的定义的独立文件。
· 内部文本实体:
· 内部文本实体是定义在XML文档中的一个引用文本数据的实体,
· 语法:<!ENTITY EntityName "EntityText">
· 其中的双引号可与单引号互相替代,以便在内容中包含单、双引号
· 外部文本实体:当取代的(引用的)文本存储在外部位置。
· 语法:
· <!ENTITY EntityName SYSTEM "File_Identifier">
· <!ENTITY EntityName PUBLIC "Public_File_Identifier" "File_Indentifier">
· 使用关键字SYSTEM时:File_Identifier制定本地系统或者网络上的一个文件,必须遵守URI规则
· <!ENTITY Name SYSTEM "name.ent"> 位于与xml文件相同的文件夹下
· <!ENTITY Name SYSTEM ""entites"name.ent"> 位于根文件夹的entities文件夹中
· <!ENTITY Name SYSTEM ".."name.ent"> 位于xml文件上一级文件夹中
· <!ENTITY Name SYSTEM "http://whaterver.com/entities/name.ent"> 位于Internet
· 使用关键字PUBLIC时:Public_File_Identifier提供有关外部实体文件位置的信息。
· URI
· URN
· URL
HTTP://www.w3.org/addressing/ 除可查找上述三者关系。
· 外部二进制实体
· 语法同上,包括SYSTEM"PUBLIC的使用
· 另需表示出数据格式:在NDATA(Notational Data)关键字后跟一个格式标识符。
· <!ENTITY coverphoto SYSTEM ""images"cover.jpg" NDATA JPEG>
· 引用实体:对已声明的内部、外部实体,引用语法为:
· &EntityName;--------- "&"...";"
· 二进制实体不能上述方式引用,通过ENTITY或者ENTITES的一个属性来引用。
· 字符实体:按字符的数字代码来引用&#n; eg:要引用"<"
· < ---十进制
· < ---十六进制
· 参数实体:附加类型的实体,只用于DTD中。
· 保留字符实体:
< |
< |
> |
> |
& |
& |
" |
" |
' |
' |
·eg:The report's title is "Annual Sales."编译为:
·The report's title is "Annual Sales."