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/...開頭
-名稱中不能含有空格
-名稱中不能含有冒號(注:冒號留給命名空間使用)