五、一個應用了xml、schema和xlst的例子 通過上面的介紹,大家可能都已經躍躍欲試,想自己做一個XML方面的小應用了。那麼在這裡就滿足大家的要求,舉一個比較 全面的有實際意義的例子。 假如有一個訂單要處理,訂單的基本內容包括客戶的資訊和產品資訊兩個部分。 客戶資訊主要由客戶姓名、電話、傳真、地址組成。 產品資訊由編號、名稱、規格、價格、購買數量組成。 為了寫一個標準的XML文檔,首先要寫一個Schema來對XML文檔進行約束: 下載該檔案: 點擊瀏覽該檔案 以下內容為程式碼: <?xml version="1.0" encoding="GB2312"?> <Schema xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-microsoft-com:datatypes"> <ElementType name= "姓名"/> <ElementType name= "電話"/> <ElementType name= "傳真"/> <ElementType name= "地址"/> <ElementType name= "編號"/> <ElementType name= "名稱"/> <ElementType name= "規格"/> <ElementType name= "價格"/> <ElementType name= "購買數量"/> <ElementType name= "客戶" content="eltOnly"> <element type= "姓名"/> <element type= "電話"/> <element type= "傳真"/> <element type= "地址"/> </ElementType> <ElementType name= "產品" content="eltOnly"> <element type= "名稱" /> <element type="規格"/> <element type="價格"/> <element type="購買數量"/> </ElementType> <ElementType name= "訂單" content="eltOnly"> <element type= "客戶" /> <element type="產品"/> </ElementType> <ElementType name= "全部訂單" content="eltOnly"> <element type= "訂單" /> </ElementType> </Schema> 可以把上面的Schema文檔儲存為:Sch.xml,在下面的xml文檔中會用到這個Schema。 下面是根據上面的約束寫的一段XML文檔: 下載該檔案: 點擊瀏覽該檔案 以下內容為程式碼: <?xml version="1.0" encoding="GB2312"?> <?xml:stylesheet type="text/xsl" href="S2_xls.xslt"?> <全部訂單 xmlns="x-schema:Sch.xml"> <訂單> <客戶> <名稱>張立東</名稱> <電話>010-12345678</電話> <傳真>010-87654321</傳真> <地址>北京市 海澱區</地址> </客戶> <產品> <名稱>扳手</名稱> <價格>10</價格> <規格>中</規格> <購買數量>2</購買數量> </產品> </訂單> </全部訂單> 下面是對XML進行處理的S2_xls.xslt的內容: 下載該檔案: 點擊瀏覽該檔案 以下內容為程式碼: <?xml version="1.0" encoding="GB2312"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/TR/WD-xsl"> <xsl:template match="/"> <HTML> <HEAD> <TITLE>全部訂單</TITLE> </HEAD> <BODY> <h1>訂單內容</h1> <xsl:for-each select="全部訂單/訂單"> <TABLE border="1" > <TR> <TH>客戶名稱:</TH><TD><xsl:value-of select="客戶/名稱"/></TD> <TH>電話</TH><TD><xsl:value-of select="客戶/電話"/></TD> <TH>傳真</TH><TD><xsl:value-of select="客戶/傳真"/> </TD> </TR> <TR> <TH>地址</TH><TD colspan="5"><xsl:value-of select="客戶/地址"/></TD> </TR> </TABLE> <TABLE border="1" > <TR> <TH>產品名稱:</TH><TD><xsl:value-of select="產品/名稱"/></TD> <TH>價格</TH><TD><xsl:value-of select="產品/價格"/></TD> <TH>規格</TH><TD><xsl:value-of select="產品/規格"/> </TD> </TR> <TR> <TH>購買數量</TH><TD colspan="5"><xsl:value-of select="產品/購買數量"/></TD> </TR> </TABLE> </xsl:for-each> </BODY> </HTML> </xsl:template> </xsl:stylesheet> 把上面的Schema和XSLT按照例子中的名字儲存到磁碟,然後把XML的內容儲存成為檔案,放到相同的子目錄下,然後用IE 5.0 進行解析處理,就會看到符合Schema要求、經過XSLT處理的文檔了. |