日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
打造基于 XSL 的模板框架

xsl是一種標(biāo)記語言,表示如何將xml文檔的內(nèi)容裝換成另一種形式的文檔。通過為xml寫xsl來使得xml顯示成不同的格式。 XSL 之于 XML ,就像 CSS 之于 HTML。它是指可擴(kuò)展樣式表語言 (EXtensible Stylesheet Language)。這是一種用于以可讀格式呈現(xiàn) XML 數(shù)據(jù)的語言。   

成都創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),城子河企業(yè)網(wǎng)站建設(shè),城子河品牌網(wǎng)站建設(shè),網(wǎng)站定制,城子河網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,城子河網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

上圖是本博客的頁面布局圖,也是最為普通常見的網(wǎng)頁布局,具有代表性,這里就是用 XSL 打造這種布局的模板框架。

上圖的特點(diǎn)是 Header、Righter、Footer 三個(gè)區(qū)域是公共區(qū)域,幾乎所有頁面都包含這三個(gè)區(qū)域。不同頁面只在 Main 區(qū)域有差異。那么在制作頁面時(shí)只要編寫 Main 區(qū)域,其他區(qū)域只要包含三個(gè)公共區(qū)域就算完成頁面了。這是正向思維,因?yàn)槌绦蚶锩娼?jīng)常這么干,需要的時(shí)候就加載。正向思維只能解決小區(qū)域、臨時(shí)性的加載或調(diào)用,無法形成框架。

框架的作用是使頁面繼承框架,又能重寫擴(kuò)展。既節(jié)省時(shí)間重用模塊,又能體現(xiàn)靈活性??鞓返炎拥牟┛?專注于XML技術(shù)與前端開發(fā)剛好與上面的分析相反,這里要用到反向思維。編寫的頁面是框架的一個(gè)區(qū)域,當(dāng)前頁面是被主框架調(diào)用,而不是主動(dòng)調(diào)用其他區(qū)域。按照左圖所示,先編寫框架,包含 Header、Righter、Footer,Main區(qū)域的位置留空,調(diào)用一個(gè)固定名稱的 Template,如 Main(類似于C語言的 main 函數(shù))。

主框架文件名為:mainframe.xsl,主要代碼如下:

 
 
 
 
  1.  
  2.  
  3. 主框架 
  4.  
  5.  
  6.  
  7. Header
 
  •  
  •  
  •  
  •  
  • Righter
  •  
  •  
  • Footer
  •  
  •  
  •  
  •  
  • 再進(jìn)一步抽象,把 Header、Righter、Footer 以及 title 元素(下面需要用到)保存到另一個(gè)公共文件中去:common.xsl:

     
     
     
     
    1.    
    2. Header   
    3.    
    4.    
    5. Righter   
    6.    
    7.    
    8. Footer   
    9.    
    10.    
    11. 主框架的標(biāo)題   
    12.    

    mainframe.xsl 修改為:

     
     
     
     
    1.  
    2. ...  
    3.  
    4.  
    5. <xsl:call-template name="pagetitle" /> 
    6.  
    7.  
    8.  
    9.  
    10.  
     
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

    mainframe.xsl 只承擔(dān)了整體排版,定義全局CSS、Javascript 的功能,與任何子區(qū)域都無關(guān)。其中 Main 區(qū)域調(diào)用了一個(gè)名為 main 的模板。在 mainframe.xsl 與 common.xsl 文檔中都沒有定義 main 模板,該模板存在于每個(gè)頁面中,比如列表頁的XSL主要代碼如下(文件名為list.xsl):

     
     
     
     
    1.    
    2.    
    3.    
    4.    
    5. 此處是 Main 區(qū)域,列表頁   
    6.    
    7.   

    上面有兩處地方需要注意,***是必須在 xsl:output 元素之前載入主框架(主框架又載入 common.xsl),其次是此頁面默認(rèn)入口是名為 main 的 template,即不能存在自動(dòng)匹配的模板( match="/" 從根開始匹配的模板)。list.xsl 中的 main 模板是為主框架準(zhǔn)備的。同樣,詳細(xì)頁也如此編寫,這樣就實(shí)現(xiàn)了框架繼承與區(qū)域重用。

    頁面的標(biāo)題(title元素)是在mainframe中定義的,但每個(gè)詳細(xì)頁的標(biāo)題都不同,列表頁也不同,這就需要重寫title模板覆蓋mainframe中的默認(rèn)值。
    list.xsl 文件如下:

     
     
     
     
    1.    
    2.    
    3.    
    4.    
    5. 此處是 Main 區(qū)域,列表頁   
    6.    
    7.    
    8. 列表頁的標(biāo)題   
    9.    
    10.   

    上面的 pagetitle 模板將會(huì)覆蓋 common.xsl 中的同名模板。列表頁的標(biāo)題與其他未定義 pagetitle 的頁面的標(biāo)題將不再一致。
    注意,必須是使用 xsl:import 元素導(dǎo)進(jìn)來的模板才可以被覆蓋,如果使用 xsl:include ,將產(chǎn)生錯(cuò)誤:"不能使用相同導(dǎo)入優(yōu)先權(quán)多次定義命名模板"。

    【編輯推薦】

    1. 詳談XML的應(yīng)用分類及前景
    2. 給XML初學(xué)者
    3. VB.NET實(shí)現(xiàn)圖象文件和XML文件互換
    4. SQL Server 2000中生成XML的小技巧

    新聞名稱:打造基于 XSL 的模板框架
    文章出自:http://m.5511xx.com/article/cojodpi.html

    其他資訊