Chinaunix首页 | 论坛 | 博客
  • 博客访问: 16497486
  • 博文数量: 5645
  • 博客积分: 9880
  • 博客等级: 中将
  • 技术积分: 68081
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-28 13:35
文章分类

全部博文(5645)

文章存档

2008年(5645)

我的朋友

分类:

2008-04-28 21:33:46

下载本文示例代码
相关专区 ·初学者专区 ·高级技术 ·图像与多媒体 ·网络编程 ·Java开源 ·Eclipse ·EJB开发  ·设计模式 精彩专题 ·Java6新功能 ·Borland传奇 ·JBuilder05 ·EJB 3.0 ·Servlet API ·JDBC入门讲座 主题社区 ·Java源码 ·Java  目前市面上成熟的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="" 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文件了。 软件频道精品推荐 更多精彩点击体验>> 相关专区 ·初学者专区 ·高级技术 ·图像与多媒体 ·网络编程 ·Java开源 ·Eclipse ·EJB开发  ·设计模式 精彩专题 ·Java6新功能 ·Borland传奇 ·JBuilder05 ·EJB 3.0 ·Servlet API ·JDBC入门讲座 主题社区 ·Java源码 ·Java  目前市面上成熟的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="" 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文件了。 软件频道精品推荐 更多精彩点击体验>> 下载本文示例代码


浅析CMS内容管理系统的两种方案浅析CMS内容管理系统的两种方案浅析CMS内容管理系统的两种方案浅析CMS内容管理系统的两种方案浅析CMS内容管理系统的两种方案浅析CMS内容管理系统的两种方案浅析CMS内容管理系统的两种方案浅析CMS内容管理系统的两种方案浅析CMS内容管理系统的两种方案浅析CMS内容管理系统的两种方案浅析CMS内容管理系统的两种方案浅析CMS内容管理系统的两种方案浅析CMS内容管理系统的两种方案浅析CMS内容管理系统的两种方案浅析CMS内容管理系统的两种方案
阅读(108) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~