XML大作業
共兩題,均於實驗上機完成
第一題:在xml文檔中使用DTD
第二題:掌握使用xsl顯示xml文件的基本方法
第一題:
一、實驗目的
(1)通過本實驗,使學生能夠了解並掌握XML DTD的定義方法及其用途
(2)了解並掌握DTD元素申明的基本語法
(3)了解並掌握DTD屬性申明的基本語法
(4)了解並掌握DTD實體申明的基本語法
(5)了解並掌握DTD標記申明的基本語法
(6)了解並掌握XMLSpy中基於DTD的XML文件輸入
二、實驗條件
配置有windows記事本、寫字板或XMLSpy開發環境的計算機設備。
三、實驗原理及相關知識
(1)XMLDTD是對XML結構進行定義的機制
(2)XMLDTD本身不符合XML語法
四、實驗內容及實驗步驟
分析下列XML實例,上機編寫外部DTD文檔,並進行驗證。
1、xml實例如下:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE 學生名冊 SYSTEM "C:\Users\Administrator\Desktop\實驗代碼\實驗一\STUDENT.dtd"> <學生名冊> <學生 學號="A1"> <姓名>張三</姓名> <性別>男</性別> <年齡>20</年齡> </學生> <學生 學號="A2"> <姓名>李四</姓名> <性別>女</性別> <年齡>19</年齡> </學生> <學生 學號="A3"> <姓名>王二</姓名> <性別>男</性別> <年齡>21</年齡> </學生> </學生名冊> |
2、XML外部DTD文檔
<? xml version="1.0" encoding="UTF-8"?> <!ELEMENT 學生名冊(學生)+> <!ELEMENT 學生(姓名,性別,年齡)> <!ELEMENT 姓名 (#PCDATA)> <!ELEMENT 性別 (#PCDATA)> <!ELEMENT 年齡 (#PCDATA)> <!ATTLIST 學生 學號 CDATA#REQUIRED > |
3、截圖效果

4、使用XMLSPY 對“student.dtd”和“student.xml”進行合法性驗證,結果正確。
五、實驗總結
這個單元。學到了DTD為XMl提供了嚴格而精確的規划。通過簡單的標記聲明,能夠定義XML文檔的結構以及它所允許使用的內容。DTD提供了xml文檔所包含的元素’屬性,實體及相互關系的定義。DTD滿足了網絡共享和數據交互。
第二題:
一、實驗目的
(1)掌握使用xsl顯示xml文件的基本方法
(2)理解css與xsl的區別
二、實驗條件
包配置有windows記事本、寫字板或XMLSpy開發環境的計算機設備。
三、實驗原理及相關知識
1) XSL實際包含三方面的內容:XSLT,XPath以及XSL格式化對象。
2) XSL的定義最終是有由XSLT來執行完成的。
3) XPath對xml文件片段進行查找、定位。
4) 格式化對象將XSL轉換結果進行顯示
四、實驗內容及實驗步驟
1、XML文檔內容如下
<?xml version="1.0" encoding="UTF-8" ?> <?xml-stylesheet type="text/xsl" href="product.xsl" ?> <PRODUCTDATA> <PRODUCT PRODID="p001" CATEGORT="Toy"> <PRODUCTNAME>Mini Bus</PRODUCTNAME> <DESCRIPTION> this is a toy for childern aged 4 and above </DESCRIPTION> <PRICE>75</PRICE> <QUANTITY>54</QUANTITY> </PRODUCT> <PRODUCT PRODID="p002" CATEGORT="Toy"> <PRODUCTNAME>Barbie Doll</PRODUCTNAME> <DESCRIPTION> this is a toy for childern in age group of 5-10 </DESCRIPTION> <PRICE>20</PRICE> <QUANTITY>200</QUANTITY> </PRODUCT> </PRODUCTDATA> |
2、xsl樣式表如下
<?xml version="1.0" encoding="UTF-8" ?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format"> <xsl:template match="/"> <html> <head> <title>訂單</title> </head> <body> <a>訂單</a> <table border="3" cellpadding="2" cellspacing="5"> <thread align="center" color="white"> <tr> <th>訂單號</th> <th>種類</th> <th>名稱</th> <th>描述</th> <th>價格</th> <th>現有量</th> </tr> </thread> <tbody> <xsl:for-each select="PRODUCTDATA/PRODUCT"> <tr> <td> <font color="green"> <xsl:value-of select="@CATEGORY"/> </font> </td> <td> <font color="red"> <xsl:value-of select="PRODUCTNAME"/> </font> </td> <td> <font color="green"><xsl:value-of select="DESCRIPTION"/> </font> </td> <td> <font color="green"> <xsl:value-of select="PRICE"/> </font> </td> <td> <font color="green"> <xsl:value-of select="QUANTITY"/> </font> </td> </tr> </xsl:for-each> </tbody> </table> </body> </html> </xsl:template> </xsl:stylesheet> |
對於下列xml文檔,根據要求,上機編寫並在xml文檔上應用對應的xsl樣式表。
五、實驗總結
通過本實驗,學習到了XSL樣式表的基礎知識和語法及格式,xsl和xml的關聯方式。Xsl本身也符合xml的語法規定,它使用一種完全不同的方法解釋xml文檔,使得xml變成可顯示的對象,可見xsl還是很重要的。