我首先來說說XML、XSL的語法(以下皆是本人在學校學習時候做的筆記)如有錯誤請高手休正
詞法特征:
XML區分大小寫,如元素名在打開和關閉標記中應保持大小寫一致<mytag>…</mytag>,XML的保留詞串應符合大小寫要求<?XML …> <!ENTITY>…。
XML保留標記字符為:< > &,保留字符不允許出現在元素名、元素文本、屬性名、屬性值中,< 用戶打開標記,>用於關閉標記,&用於轉意,常見的轉意為 <生成<,>生成>,&生成&,&apos生成’,"生成”
元素名以下劃線或字母開始,可包含字母、數字、句點、連字符、下劃線、冒號和用於其他語言的擴展字符,元素名中不能有空格符(分格符、跳格符、換行符、回車符),元素名可以由名域前綴。如:<mytag> <dt:mytag> 元素文本可以是除XML保留字符外的字符集合,如<mytag> my money is $2000 </mytag>
屬性名的規則同元素名,屬性值由單引號或雙引號括約其中,可由除XML保留字符以外的字符串組成,如:<mytag myprop=”proper value”>。屬性名有xmlns前綴,表明該屬性定義了一個名域,如:<mytag XMLns:ns=”" target=_blank>http://www.myweb.com/myschema”>
句法特征:XML文檔由一個XML說明、多個可選的文檔說明、多個可選的XML指令、多個可選的XML注釋和一個根元素的數據體組成,此外還可以有嵌入語句中的CDATA段,如:
<?xml …?> /*XML說明*/
<!DOCTYPE …> /*XML文檔說明*/
<!-- … --> /*XML注釋*/
<?xml-stylesheet …?> /*XML指令*/
<root> /*根數據元素*/
<child>
…<![CDATA[…]]>
</child>
</root>
XML說明由<?xml打開,由?>標關閉,其中包含版本、編碼等可選說明,如:<?XML version=”1.0” encoding=”UTF-9”?>
XML文檔說明由<!和保留串打開,由>關閉,如:<!DOCTYPE mydoc SYSTEM “mydoc.dtd”>
XML指令由<?和保留串打開,由?>關閉,如:<?XML-stylesheet type=”text/xsl” href=”mystyle.xsl”?>
XML注釋由<!――打開,由――>關閉,如:<!-- this is my XML document -->
XML元素由<元素名>打開,由/>,或</元素名>關閉,元素的打開和關閉標記相互匹配,如<myteg ../>或<mytag>…</myteg>,XML的元素允許嵌套,應此還應保持層次上的匹配,如<myteg><suBTag>..</subtag></mytag>。
CDTATA段由<![CDATA[>打開,由]]>關閉,用於使居於其中的語句規避XML解析規則。如:<![CDATA[ select * from mytable where thefIEld <= ‘100’ ]]>
來看個實例吧:
<?XML version="1.0" encoding="GB2312"?>
<學生>
<編號>001</編號>
<姓名>張三</姓名>
<性別>男</性別>
<年齡>20</年齡>
</學生>
XML的聲明(declaration),語句如下:
<?XML version="1.0" encoding="GB2312"?>
1.聲明語句<?xml ... ?>的作用是告訴浏覽器或其它處理程序這個文檔是XML文檔。
聲明語句中的version表示文檔遵守的XML規范的版本。
encoding表示文檔所用的語言編碼,這個例子用的編碼是“GB2312”。
2.注意大小寫的區分
Html中對大小寫的區分不是很敏感,但XML對大小寫要求非常嚴格,如果開始的標識是大寫,那麼結束的標識也一定是大寫。
3.“有始有終”所有的標識必須有相應的結束標識
熟悉HTML的人都知道Html中有很多類似<p>,<tr>,<td>等標識的結束標識是可有可無的,但XML中是不允許這種情況存在。
4.空標識(empty element)必須被關閉
<br>,<img src="/School/UploadFiles_7810/201104/20110413204958117.gif">等單標識,我們該如何處理?
XML增加了/來結束空標識
<標識/>
<標識 屬性名="屬性值"/>
5.給屬性值加引號
Html中的屬性值可以加"",也可以不加"",還可以加''。但在XML中,屬性值一定要加""。
6.標識之間不可以交叉 <學生>
<編號>001</編號>
<姓名>張三</姓名>
</學生>
如果寫成了
<學生>
<編號>001
<姓名>
</編號>
張三</姓名>
</學生>
是萬萬不可以的。
以上六點,對於寫慣了Html的人來說,要多多注意呀,千萬別按照已有的習慣來寫XML,不然就時時會出錯。