XML文件结构和基本语法
分类: html java2010-03-12 17:04 903人阅读 评论(1) 收藏 举报
4.1.1 XML文件结构
一个XML文件通常包含文件头和文件体两大部分
1. 文件头
XML文件头由XML声明与DTD文件类型声明组成。其中DTD文件类型声明是可以缺少的,关于DTD声明将在后续的内容中介绍,而XML声明是必须要有的,以使文件符合XML的标准规格。
在前面的Flowers.xml文件中的第一行代码即为XML声明:
其中:
“”代表一条指令的开始,“?>”代表一条指令的结束;
“xml”代表此文件是XML文件;
“ version="1.0" ”代表此文件用的是XML1.0标准;
“ encoding="gb2312" ” 代表此文件所用的字符集,默认值为Unicode,如果该文件中要用到中文,就必须将此值设定为gb2312。
注意:XML声明必须出现在文档的第一行。
2. 文件体
文件体中包含的是XML文件的内容,XML元素是XML文件内容的基本单元。从语法讲,一个元素包含一个起始标记、一个结束标记以及标记之间的数据内容。
XML元素与HTML元素的格式基本相同,其格式如下:
<标记名称 属性名1="属性值1" 属性名1="属性值1" ……>内容标记名称>
所有的数据内容都必须在某个标记的开始和结束标记内,而每个标记又必须包含在另一个标记的开始与结束标记内,形成嵌套式的分布,只有最外层的标记不必被其他的标记所包含。最外层的是根元素(Root),又称文件(Document)元素,所有的元素都包含在根元素内。
在前面的Flowers.xml文件中,根元素就是
4.1.2 XML的基本语法
1. 注释
XML的注释与HTML的注释相同,以“”结束。
2. 区分大小写
在HTML中是不区分大小写的,而XML区分大小写,包括标记,属性,指令等。
3. 标记
XML标记与HTML标记相同,“<”表示一个标记的开始,“>” 表示一个标记的结束。XML中只要有起始标记,就必须有结束标记,而且在使用嵌套结构时,标记之间不能交叉。
在XML中不含任何内容的标记叫做空标记,格式为:<标记名称/>
4. 属性
XML属性的使用与HTML属性基本相同,但需要注意的是属性值要加双引号。
5. 实体引用
实体引用是指分析文档时会被字符数据取代的元素,实体引用用于XML文档中的特殊字符,否则这些字符会被解释为元素的组成部分。例如,如果要显示“<”,需要使用实体引用“<”否则会被解释为一个标记的起始。
XML中有5个预定义的实体引用,如表 4.1所示。
表 4.1 XML预定义的实体引用
6. CDATA
在XML中由一个特殊的标记CDATA,在CDATA中所有文本都不会被XML处理器解释,直接显示在浏览器中,使用方法如下:
这里的内容可以直接显示。
]]>
7. 处理指令
处理指令使用来给处理XML文件的应用程序提供信息的,处理指令的格式如下:
例如,XML声明就是一条处理指令:
其中,「xml」是處理指令名稱,version="1.0" encoding="gb2312"是處理指令資訊。
4.2 XML與CSS
利用CSS可以用來設定XML檔案的顯示方式,即在XML檔案的頭部,XML宣告的下方加入下方一條語句: css" href="css檔案的URL"?>
下面我們透過範例來介紹如何利用CSS來顯示XML檔案。先建立css文件,程式碼如下:
flowers.css:一個顯示XML檔的CSS樣式
flower{font-size:24px; display:block} red}
price{display:block}
然後,在flowers.xml檔案中使用這個css樣式,即在flowers.xml檔案中的XML宣告下方加入以下語句:
完整的程式碼如下:
ex4_3_01.xml:利用CSS 顯示XML檔
此範例瀏覽器中的顯示效果如圖 4.2所示。
圖 4.2 利用CSS 顯示XML檔案
用CSS顯示XML檔案時,且不具備任何選擇性,也就是說,根元素之下的所有資料都會改變原檔案所顯示的全部結構和無法改變原檔案的結構內容的順序。另外,CSS並不支援中文標記,因為CSS 不是專門為XML開發的樣式語言,而下面要介紹到的XSL就可以,XSL是特別為XML設計的,它比CSS更為複雜。
4.3 XSL
在上一節介紹的用CSS顯示XML文件,效果不是很理想,實際上,CSS主要是適合HTML文件,對於XMLMLs文件,CSS就不適合了,尤其是對那些需要依照不同的條件將文件內容重新排列顯示的情況,而用XSL就可以。
XSL是目前最強大和靈活的樣式語言,是特別為應用XML而設計的,它比CSS要複雜的多。但是,目前它還未被很好的支持,也還沒有最後完成。
利用XSL來設定XML檔案的顯示方式,即在XML檔案的頭部,XML宣告的下方加入下面一條語句:
下面我們透過範例來介紹如何利用XSL來顯示XML檔。先建立一個xsl文件,程式碼如下:
flowers.xsl:用來顯示XML檔案的xsl檔案
Vendor | Flower |
---|---|