在讀這篇教學之前,你至少應該確認自己對XML相當熟知,使用記事本或其他工具編輯過XML、DTD以及XSLT文檔,並且熟悉它們的文法及用途,否則請先補過課之後再來閱讀本教學。
XML Spy是Icon Information System開發的支援XML,XSL,XSLT,DTD,Schema等等多種檔案格式的編輯器。它可以將XML展示為完美的樹型結構,可以方便的使用各種HTML/XML/XSLT標記,使用它可以大大節約我們的開發時間,不必把大量的時間浪費在程式碼的輸入上。下面我們透過一個儲存電影資訊的實例來學習XML Spy的使用方法。
第一步:我們要設計三個檔案:saveit.xml,saveit.dtd和saveit.xslt;saveit.xml負責儲存具體電影內容數據,saveit.dtd負責對saveit.xml的驗證,而saveit.xslt則負責對saveit.xml進行樣式變換,確定它在瀏覽器裡的最終顯示效果。先來看看我們需要建立的三個檔案的程式碼:
----------saveit.xml------------------ <?xml version="1.0" encoding="GB2312"?> <!DOCTYPE movies SYSTEM "G:\xmlspy\saveit.dtd"> <?xml-stylesheet type="text/xsl" href="G:\xmlspy\saveit.xslt"?> <movies type="动作片"> <id>1</id> <name>致命摇篮</name> <brief>李连杰最新力作!</brief> <time>2003</time> </movies> ----------saveit.dtd------------------ <?xml version="1.0" encoding="GB2312"?> <!ELEMENT movies (id, name, brief, time)> <!ATTLIST movies type CDATA #REQUIRED> <!ELEMENT id (#PCDATA)> <!ELEMENT name (#PCDATA)> <!ELEMENT brief (#PCDATA)> <!ELEMENT time (#PCDATA)> ----------saveit.xslt------------------ <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" version="1.0" encoding="GB2312" indent="yes"/> <xsl:template match="/"> <html> <head> <title> :::凌云的XML Spy教程::: </title> </head> <body> <xsl:apply-templates></xsl:apply-templates> </body> </html> </xsl:template> <xsl:template match="movies"> 第<xsl:value-of select="id"></xsl:value-of>部电影 <table> <tbody> <tr> <td>名称</td> <td>简介</td> <td>时间</td> <td>类型</td> </tr> <tr> <td><xsl:value-of select="name"></xsl:value-of></td> <td><xsl:value-of select="brief"></xsl:value-of></td> <td><xsl:value-of select="time"></xsl:value-of></td> <td><xsl:value-of select="@type"></xsl:value-of></td> </tr> </tbody> </table> </xsl:template> </xsl:stylesheet>
第二步: 使用XML Spy建立saveit.dtd文件。
1)建立根結點movies
選擇選單File->New彈出Create new document 對話框,選擇裡面的dtd(Document Tpye Definition),這樣一個空白的DTD文檔被建立在編輯區,如圖1所示。點選左上角的黑三角會變成圖2所示的樣子。我們將編碼方式項enconding預設值為UTF-8,我們將其改為GB2312.在Elm處雙擊,輸入movies.完成後如圖3所示。保持Elm movies的選取狀態,雙擊右側Elements框裡的sequence of,結果如圖4所示。這樣根結點movies就建立完畢了。
圖1
圖2
#圖3
圖4
2)為根結點movies新增子節點id,name,brief,time及屬性type.
在movies sequence of上點右鍵,選擇Add child ->ELEMENT,為其增加四個子節點。如圖5所示。再次在movies sequence of上點右鍵,選擇Append->ATTLIST,然後如圖6所示進行設定其名稱為movies,設定Name為type,設定Type為CDATA,設定Presence為#REQUIRED .
圖5
圖6
3)建立子節點id,name,brief,time. 在movies sequence of上點右鍵,選擇Append->ELEMENT,增加四個節點,資料類型全部設為PCDATA.如圖7所示。這樣DTD文檔就建立好了。命名為saveit.dtd儲存到G:////xmlspy目錄下。在View->Text view方式下可以查看編輯所得到的原始程式碼,選擇View->Enhanced Grid view會回到樹型編輯檢視方式。
第三個步驟: 使用XML Spy建立saveit.xslt文件。
1)選擇選單File->New彈出Create new document 對話框,選擇裡面最後一項xslt(Extensible Stylesheet Language)項目,建立的新xslt檔(Extensible Stylesheet
Language)項目,建立的新xslt檔檔案示。此時XML Spy會將視圖自動轉到程式碼編輯檢視下,因為直接編輯xslt比較方便一些。將其編碼方式改為:GB2312,如圖9所示。
圖8
2)其餘的程式碼可以透過圖10所示的Elements面板方便的加入到編輯區中。新增完畢,設定對應的節點為各元素的屬性值即可完成XSLT文件的撰寫,具體過程不再細說。完成後如圖11所示。命名為saveit.xslt儲存到G:////xmlspy目錄下。
圖10
圖11
第四步:使用XML Spy建立saveit.xml文件。
1)選擇選單File->New彈出Create new document 對話框,選擇裡面的xml(XML Document),此時會彈出一個對話框,要求選擇XML文檔的驗證方式是DTD文件的驗證方式,如圖12所示,我們選擇DTD驗證方式,並選擇剛剛建立的saveit.dtd作為其驗證文檔,如圖13所示。
圖12
圖13
2)點選OK後XML Spy就會為我們自動建置符合saveit .dtd驗證的XML空白文檔。如圖14所示。填入內容資料。將編碼方式項enconding改為GB2312.結果如圖15所示。
圖14
圖15
3) 選擇XSL->Assign XSL選單,並在彈出視窗(如圖15所示)中選擇G:////xmlspy////saveit.xslt文件,點選OK.
圖16
4)大功告成, XML文檔終於編輯完畢。如圖17所示。命名為saveit.xml,存檔到G:////xmlspy目錄下。
圖17
第五步:可以選擇XSLT->XSL Transformation或點選來直接在XML Spy中查看saveit.xml的最終顯示效果。也可以到G:////xmlspy目錄下使用瀏覽器觀看,但瀏覽器必須是IE6以上的版本。如果想要輸出變換結果文檔,可以在XML Spy中變換後點選將結果文檔記憶體即可。最終顯示效果如圖18所示。以上程式碼在XML Spy5中調試通過。
圖18
以上是XML Spy實例程式碼詳解(圖)的詳細內容。更多資訊請關注PHP中文網其他相關文章!