一>Extensible Markup Language (w3c ---XML標準制訂者)?
?????? XML不是標記語言!???????
???????XML是用以創造類似于HTML的標記語言的元語言!???????
?????? XML是SGML的子集, 她的出現早于HTML, 體現數據的形式和結構!??????
?????? XML語法非常嚴格, 其Tag不拘泥于定式; 相對于SGML精簡 / 編程簡單!?
??????優勢: 允許不同專業(如音樂、化學、數學等)開發與自己的特定領域有關的標記語言
????????????????更簡易的web數據交換和數據生成;
??????????????? ............
??????具體應用:
????????????? 中小型應用程序的數據生成 / 存儲 /調度;
??????????????[EG: struts中的struts-config.xml, MVC模式框架cocoon 的實現;]

????????????? ..............
????? 顯示:
???????|_> 在Web瀏覽器中顯示的是XML 代碼.?
????? {??
?????????? 使用 <xml datafld=?></xml>??
?????????? 使用Script 語言實現 HTML 中的調用和交互! (javascript / vbscript...)??............?}?
??????[XML 語法嚴謹!]?
????? {??
??????????? 1. 所有的標記都必須要有一個相應的結束標記;??
??????????? 2. 所有的XML標記都必須正確嵌套;??
????????????3. XML標記大小寫敏感;??
??????????? 4. 所有標記的屬性必須用 "" 括起來;??
??????????? 5. XML Document 必須包含根節點;?
??????????? 1. 名字中可以包含字母、數字以及其它字母;???
????????????2. 名字不能以數字或"_" (下劃線) 開頭;??
??????????? 3. 名字不能以字母 xml (或 XML 或 Xml ..) 開頭;??
??????????? 4. 名字中不能包含空格。?}
二> Concept
?????? 1>Tag
???????2>Identifier -----識別文檔中的元素;
?????? 3>Language
?????? 4>Structure -----所有信息均體現某種結構;
?????? 5>Metadata -----(Meta標識在HTML中定義網頁key/intro...可被搜索但不會顯示于頁面.)?
?????? {??
???????????? XML對這一原理進行了深化和擴展,用 XML,?? 可以描述你的信息在哪里,?????
??????????? 可以通過meta來驗證信息,執行搜索,強制顯示,或者處理其他的數據.
??????????? 1. 可以驗證數字簽名,使在線商務的提交動作(submission)有效。????
??????????? 2.可以被方便的建立索引和進行更有效搜索。????
??????????? 3.可以在不同語言之間傳輸數據。?
????? }?
????? 6>Display (使用CSS / XSL 顯示XML標記創建的文檔.)?
???? {??
??????????? 6.1.?XSL全稱是Extensible Stylesheet Language(可擴展樣式語言), 是將來設計XML文檔???顯示樣 式的主要文件類型。它本身也是基于XML語言的。使用XSL,你可以靈活的設置???文檔顯示樣式,文檔將自動適應任何瀏覽器和PDA(掌上電腦). XSL也可以將XML轉化為HTML,那樣,老的瀏覽器也可以瀏覽XML文檔了。??
??????????? 6.2.?Cascading Style Sheets??6.3.?Behaviors?
???? }?
???? 7>Document Object Model(ms 特有的,定義一些動作)?如何使用HTML或者XML對文檔這個對象進行操作&控制的標準.?{??DOM就是一種詳細描述HTML/XML文檔對象規則的API。它規定了HTML/XML文檔??對象的命名協定,程序模型,溝通規則等。在XML文檔中,我們可以將每一個標識元素??看作一個對象---它有自己的名稱和屬性。??XML創建了標識,而DOM的作用就是告訴script如何在瀏覽器窗口中操作和顯示這些標識?}
三> Speech
XML文檔包含三個部分:
1. 一個XML文檔聲明;
2. 一個關于文檔類型的定義;
3. 用XML標識創建的內容。
1>Element (create by yourself)
2>Tag???????? (use to definition Element)?
???? 2.1> Attribute (describe tag attr)
3>Declaration??? EX: <?xml version="1.0" encoding="gb2312"?>
4>Document Type Definition?
{??通過DTD文件可以檢測XML文檔的結構是否正確。但建立XML文檔并不一定需要DTD文件。?}
5>Well-formed XML?{<?xml version="1.0" standalone="yes" encoding="UTF-8"?>}
6>Valid XML (DTD)
<!DOCTYPE type-of-doc SYSTEM/PUBLIC "dtd-name">
DTD是一種保證XML文檔格式正確的有效方法,可以比較XML文檔和DTD文件來看文檔是否符合規范,元素和標簽使用是否正確。一個DTD文檔包含:元素的定義規則,元素間關系的定義規則,元素可使用的屬性,可使用的實體或符號規則。
DTD 文件調用:?
????????? 1>直接包含在XML文檔中的DTD;?
??????????2>調用獨立的DTD文件;
DTD
{????
??????1.Schema?
???????schema是數據規則的描述。schema做兩件事:??
???????????????a.它定義元素數據類型和元素之間的關系;??
???????????????b.它定義元素所能包含的內容類型。?DTD就是關于XML文檔的一個schema。?
???????2.Document Tree?
?????????????"文檔樹"是文檔元素分級結構的形象表示。?一個文檔結構樹包含根元素,根元素是最頂級的元素。?在XML和DTD文件中,第一個定義的都是根元素。?
???????3.Parent Element(父元素)/Child Element(子元素)?
????????????????父元素是指包含有其它元素的元素,被包含的元素稱為它的子元素。?沒有包含任何子元素的最后一級元素我們也稱之為"頁元素"。?
???????4.Parser?
????????????????Parser是一種檢查XML文檔是否遵循DTD規范的工具軟件。?XML的parser發展為兩類:??"非確認類paeser",只檢測文檔是否遵守XML語法規則,是否用元素標識建立了文檔樹。??"確認類paeser",它不但檢測文檔語法,結構樹,???而且比較解析你使用的元素標識是否遵守了相應DTD文件的規范。}
四> XML Syntax
OutLine: XML syntax rule / Element / Comment / CDATA / Namespaces /Entity / DTD
(空標識就是標識對之間沒有內容的標識。比如<br>,<img>等標識。在XML中,規定所有的標識必須有結束標識,針對這樣的空標識,XML中處理的方法是在原標識最后加 / )
character data?????? {<![CDATA[這里放置需要顯示的字符]]>}
Namespaces?????????{?Namespaces同樣需要在XML文檔的開頭部分聲明,
Entity:???????????????????類似于 Macro / model in DreamWeaver
DTD syntax:??????????(在dtd中定義一個元素,在xml文檔中使用)?
?<!ELEMENT DESCRIPTION(#PCDATA,DEFINITION)*>?
?#PCDATA
?包含字符或文本數據
?,
?使用逗號分隔排序? <MYFILE (TITLE,AUTHOR,EMAIL)>????? --------- 必須包含;
?????
?使用"|"表示或者? <MYFILE (TITLE | AUTHOR | EMAIL)>??? --------- 可選;
?name? 只能使用一次?? <MYFILE (TITLE)>
?
?name?? 使用一次或者不使用? <MYFILE (TITLE,AUTHOR?,EMAIL?)>
?name+?? 使用至少一次或多次? <MYFILE (TITLE+,AUTHOR?,EMAIL)>
?name*? 使用一次,多次,或者根本不使用?? <MYFILE (TITLE*)>
?( )?? 設置組,可以嵌套?? <MYFILE(#PCDATA | TITLE)*>
??????? 元素MYFILE包含一個或者更多的文本或者TITLE子元素。
???????<MYFILE((TITLE*, AUTHOR?, EMAIL)* | COMMENT)>
?MYFILE元素必須包含一些內容,內容或者是一個注釋;也或者是多個組,組里包含:
?一個,多個或者沒有TITLE子元素,接著是一個或者沒有AUTHOR子元素,
?再接著是一個必須的EMAIL子元素
如果我們想明確地告訴XML程序,標記中的空白有明確的含義,不要隨便去掉(如在一些詩中,空格有它具體的意義)則可在標記中加入一個XML內置的屬性——xml:space 。如(注意屬性名稱和值的大小寫):
〈詩歌 xml:space="preserver"〉 祖國啊! 祖國! 我的祖國! 〈/詩歌〉
另外,在XML文件中特殊字符,必須用相應符號代替。 特殊字符??? 替代符號&&??? &<??? ⁢>??? >"??? "'??? '
〈?xml-stylesheet href="URL" type="text/css"?〉〈?xml-stylesheet href="URL" type="text/xsl"?〉
Information