XML第一篇:XSL彩繪你的XML (初探XSL) [转载]

,所以在起始標籤我們必須加上 xmlns:msxsl="urn:schemas-microsoft-com:xslt" 命名空間,第三個是呼叫函式的方式也省略掉<eval>…</eval>區段,我們可以直接使用<value-of select="user:Trans(.)"></value-of>來呼叫,而這邊也要加上 xmlns:user="http://www.uuu.com.tw/instructor/jerryhsu" 命名空間,而這是我們自行撰寫的,所以命名空間可以訂定為公司的URL。 雖然上面作的這些工作很瑣碎,但是在企業文件交換應用上的確佔有相當份量,還好這些工作都有工具因應而生,像Microsoft BizTalk Server 2000舊內建兩個工具,一個叫BizTalk Editor用圖形化的方式來制定雙方文件規格,另一個叫BizTalk Mapper讓我們用拖拉繪圖的方式自動產生相對的XSLT檔案,對於文件轉換就變得更簡單了。 討論到這邊,究竟XSL如何彩繪我們的XML文件呢?其實道理是相同的,只要我們把XML文件透過XSL轉換成HTML標籤就能夠在瀏覽器上有不同的展現。 XML的其中一個精神是希望能夠做到Multiple Output,也就是多輸出的能力,那什麼是Multiple Ouput呢?例如使用XML當作儲存資料的媒體,做到同一份資料產生多樣化的展現,好比一份電子書檔案,可能存放為*.doc(Microsoft Word文件格式)或*.txt(純文字檔案)或*.pdf等等不同格式的檔案,它們個別都需要一個專屬的應用程式才能讀取出檔案中的內容,如果想要將一份電子書(假設是Microsoft Word文件)在瀏覽器上或在PDA、WAP手機上或其他應用程式上展現,也就是做多方的輸出的話,除非應用程式外掛功能,能夠將文件轉換成另一種格式,否則其他應用程式根本無法讀取Word文件。 由此可見,文件格式的轉換扮演著溝通的角色,而XSL便是用來轉換文件格式的技術,那XSL如何彩繪XML文件?既然XSL可以幫我們轉換文件讓其他應用程式能夠存取,換言之,我們可以將文件轉換成HTML格式讓瀏覽器來瀏覽,並且XSL也結合了CSS(Cascading Style Sheet)、DHTML(Dynamic HTML)、Script Language(VBScript、JavaScript、XSL Script)讓XML文件的應用產生強大的能力。 最後在這邊舉一個XML作不同展現的範例,下列是一個有關課程的XML檔案,內容如下:
< ?xml version="1.0"? >
< MenuList >
< Menu MenuTitle="微軟認證課程" >
< MenuItem >MCDBA(全套)< /MenuItem >
< MenuItem >MCSD(全套)< /MenuItem >
< MenuItem >W2K MCSE Upgrade(全套)< /MenuItem >
< MenuItem >W2K MCSE(全套)< /MenuItem >
< MenuItem >NT 4.0 MCSE(全套)< /MenuItem >
< /Menu >
< Menu MenuTitle="Win2000課程" >
< MenuItem >Windows 2000 Pro. 前置準備及配置< /MenuItem >
< MenuItem >Windows2000 Pro. 配置與提昇管理< /MenuItem >
< MenuItem >NT4升級Windows 2000技術< /MenuItem >
< MenuItem >Windows 2000 保全環境設計< /MenuItem >
< MenuItem >Windows 2000 目錄服務設計< /MenuItem >
< MenuItem >Windows 2000 網路服務設計< /MenuItem >
< /Menu >
< /MenuList >
原本瀏覽器的展現如下圖: 經過套用不同的XSL檔案可以讓它加上圖片和超連結和展開收合功能,結果如下: 甚至能夠再多加點畫面設計,讓它更具有專業的感覺,如下圖: 透過如此多樣化的設計,讓同一份XML文件擁有不同的風貌,正是XSL應用的另一方向,只要將資料儲存成XML格式,就能夠輕易地將之轉換成不同的格式運用在不同的平台或應用程式上。 至於如何將舊有的ASP頁面轉移成XML-Base的展現,將資料和展現分別獨立出來,並且讓XML充分發揮它的功用,而轉移的過程中又必須注意到哪些地方呢?上面的範例是如何做的呢?下一期我們再繼續來探討。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值