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中。

·         保留字符实体:

<

&lt;

>

&gt;

&

&amp;

"

&quot;

'

&apos;

·eg:The report's title is "Annual Sales."编译为:

·The report&apos;s title is &quot;Annual Sales.&quot;

 

posted @ 2009-01-09 21:50  tomin  阅读(531)  评论(0编辑  收藏  举报