讨论关于xml+xslt的问题xml+xslt的话,效率如何?比起生成静态页面,优点在哪儿,缺点在哪儿?等等

解决方案 »

  1.   


    这个也不能一概而论, 生成XML放在服务器上,读取数据的速度比较快
      

  2.   

    相同的页面,这种方式和传统的html格式。数据量是否要增大,进而占用带宽。因库存xml需要xsl的解析,相当于两个页面。
      

  3.   

    pellet(鱼丸) ( ) 信誉:100  2007-9-6 18:28:23  得分: 0  
     
     
       
    非常好!
    唯一不好的是火狐不支持!这点让我非常火大  
     
    ----------------------------------------
    为什么不支持?可以呀.
      

  4.   

    XHTML是当前HTML版的继承者,而XHTML则基于可扩展置标语言(XML)HTML语法要求比较松散,这样对网页编写者来说,比较方便,但对于机器来说,语言的语法越松散,处理起来就越困难,对于传统的计算机来说,还有能力兼容松散语法,但对于许多其他设备,比如手机,难度就比较大。因此产生了由DTD定义规则,语法要求更加严格的XHTML。大部分常见的浏览器都可以正确地解析XHTML,即使老一点的浏览器,XHTML作为HTML的一个子集,许多也可以解析。也就是说,几乎所有的网页浏览器在正确解析HTML的同时,可兼容XHTML。当然,从HTML完全转移到XHTML,还需要一个过程。 跟CSS(Cascading Style Sheets,层叠式样式表)结合后,XHTML能发挥真正的威力;这使实现样式跟内容的分离的同时,又能有机地组合网页代码,在另外的单独文件中,还可以混合各种XML应用,比如MathML、SVG。 从HTML到XHTML过渡的变化比较小,主要是为了适应XML。最大的变化在于文档必须是良构的,所有标签必须闭合,也就是说开始标签要有相应的结束标签。另外,XHTML中所有的标签必须小写。而按照HTML 2.0以来的传统,很多人都是将标签大写,这点两者的差异显著。在XHTML中,所有的参数值,包括数字,必须用双引号括起来(而在SGML和HTML中,引号不是必须的,当内容只是数字、字母及其它允许的特殊字符时,可以不用引号)。所有元素,包括空元素,比如img、br等,也都必须闭合,实现的方式是在开始标签末尾加入斜扛,比如<img … /> 、<br />。省略参数,比如<option selected>,也不允许,必须用<option selected="selected">。两者的详细差别,可通过W3C XHTML说明来查阅。
      

  5.   

    直接生成XML文件,然后客户调用时,在客户端解析的话,会不会效率不好呢?
      

  6.   

    cime63(流浪的孩子)
    直接生成XML文件,然后客户调用时,在客户端解析的话,会不会效率不好呢?效率好的很,只要不是太古董的机器,保证比你在服务端解析快(访问量大的时候服务器多忙啊)另外,上面说FireFox支持xml+xslt的同学,spik(小猪猪),给个页面看看?我记得是不支持的
      

  7.   

    To -> pellet(鱼丸):
    FireFox应该是支持的吧,至少部分支持.最近我写的一个用XML+XSLT做的小程序可以在FF下显示.
      

  8.   

    我又查了一下,我之前firefox显示错误是因为xslt的namespace定义错误<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
    只有IE能显示<xsl:stylesheet version="1.0"
                    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                    xmlns="http://www.w3.org/TR/xhtml1/strict"> 
    IE和FireFox都可以显示
      

  9.   

    效率比较低...
    如果是服务器解析的话
    特别是针对复杂的页面的话..你有可能需要大量的document()函数你就知道了.解析一个页面要一秒或者几秒种...
    但XSL的好处在于可移植和数据界面的分离.....
    如果是客户端解析...呵呵...浏览器兼容问题..更可恶的是<  >  没有办法显示..就像
    <div>
    <li>
    </li>
    <li>
    </li>
    </div>
    <div>
    <li>
    </li>
    <li>
    </li>
    </div>
    如果你放在for-each中的话你就知道这是多么可恶的事..你不得不用转义字符..到头输出你还得替换转义字符