淺析CMS內容管理系統的兩種方案_.Net教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:.net開發投票機的思路
      最近看到偶多年來喜愛的jay的投票排名不甚理想了(肯定是有人使用投票機把jay擠下了) 所以我要動手寫一個自動投票機,實現思路如下 1 查看投票源代碼 查看給jay投票提交時將使用post還是ge

      目前市面上成熟的CMS產品有很多,無外乎兩種解決方案:第一種就是用XSL XML的方式來實現客戶端具體數據;第二種是生成HTML或者SHTML來實現。

      設計階段的想法是,用XSL來實現文章和內容的模版,用XML來存儲數據,生成靜態的HTML或SHTML。到實際應用中發現了HTML轉換的問題,用XSL XML生成HTML時,XML內容中不需要進行轉化的內容,使用CDATA,在XSL文件中引用部分使用disable-output-escaping="yes",生成HTML時照樣將html代碼進行了解析,例如<變成了<等等,我們還要對此再進行一邊轉碼,但是還要考慮到文章內容中如果存在<的問題,豈不亂套了。當然解決方法有,例如加上自己定制的特殊標識,然后再轉碼,這樣生成HTML就不會有問題了。

      CMS的目的就是減輕服務器的負擔,自然我們可以把負載加到客戶端上面,如客戶端瀏覽器解析XSL XML,但是考慮到有的瀏覽器不支持這種形式,絕大多數都是可以解析的,如Internet Explorer、Netscape、Firefox、Mozilla、Opera等。

      舉個例子:

      XSL文件:test.xsl

      以下為引用的內容:

      <?xml version="1.0" encoding="UTF-8"?>
      <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
      <xsl:output method="html" />
      <xsl:template match="/article">
       <table cellspacing="1" cellpadding="1" width="200" border="1">
        <tbody>
         <tr>
          <td><xsl:value-of select="title" /></td>
          <td><xsl:value-of select="click" /></td>
         </tr>
         <tr>
          <td><xsl:value-of select="date" /></td>
          <td><xsl:value-of select="author" /></td>
         </tr>
         <tr>
          <td><xsl:value-of select="content" disable-output-escaping="yes" /></td>
          <td>測試By GlandJacky</td>
         </tr>
        </tbody>
      </table>
      </xsl:template>
      </xsl:stylesheet>
        XML文件:view.xml

      <?xml version="1.0" encoding="utf-8"?>
      <?xml-stylesheet type="text/xsl" href="test.xsl"?>
      <article>
       <id>47</id>
       <title>測試XML</title>
       <icategoryId>11</icategoryId>
       <key>測試XML</key>
       <content>
        <![CDATA[
        <table cellspacing="1" cellpadding="1" width="200" border="1">
         <tbody>
          <tr>
           <td>測試XML</td>
           <td> </td>
          </tr>
          <tr>
           <td>測試XML</td>
           <td> </td>
          </tr>
          <tr>
           <td>測試XML</td>
           <td> </td>
          </tr>
         </tbody>
        </table>
       ]]>
      </content>
      <author>GlandJacky</author>
      <date>2006-06-20 11:38:50.823</date>
      <updateBy>have not update user</updateBy>
      <updateTime>have not update time</updateTime>
      <click>0</click>
      <fileUrl>/star/boke/1150774719245/1150774719245.htm</fileUrl>
      <imageUrl>/star/boke/1150774719245/images/測試2</imageUrl>
      </article>

      如果瀏覽器支持的話,可以直接在瀏覽器輸入xml文件的地址,看到瀏覽器解析過的html文件了。

      分享:小議優化ASP.NET應用性能之Cache篇
      雖然現在已經是寬帶時代,小貓已經離我們漸漸遠去,可作為WEB應用開發者來說,我們仍然有責任和義務不斷地通過技術手段來優化WEB應用性能,讓用戶瀏覽時少一些等待,多一些爽快。 所幸的是,A

      來源:模板無憂//所屬分類:.Net教程/更新時間:2008-08-22
      相關.Net教程