2019独角兽企业重金招聘Python工程师标准>>>

在制作网页的时候,我们希望它能够交互性好、快速响应和易于维护。Xml+Xsl可以更好的解决这个问题。
Xml是内容,负责内容的生成:从后台数据库读取数据生成xml文件保存到服务器相应目录,或者在用户浏览时动态读取数据,生成xml格式的字符串。Xsl是形式,负责内容的展示,由技术人员定义模板的数据,由美术人员来设计界面形式,最终创建程xsl文件。

现在,我们从web技术的发展,来看看我们经历的过程。最初的Html格式是静态的,交互性比较差。交互性是指与客户端的充分沟通,后来我们通过使用脚本语言(cgi、asp、php、asp.net、 jsp)实现交互。但是缺点就是速度问题,因为脚本是在服务端执行的。

我们曾经为解决这个问题,使用了动转静技术:通过在后台预先读取数据,结合模版,生成静态页面,供客户端访问。这种技术解决了速度问题,但是缺点也是明显的:
一、要求服务器要足够的空间来放置大量的生成的静态网页;
二、当模版修改或者数据改动的时候,需要重新生成所有的静态文件。
三、限制了编程的灵活性,很多需要动态交互的功能无法实现;
四、编程者维护困难,修改起来比较麻烦。

xml和xsl的出现,可以解决形式与内容的完全分离。具体做法是:
一、xml是内容。我们可以在后台从数据库读取数据,生成静态的xml文件;
二、xsl是形式。有模版专家定义形式;
三、仅需要做一个Xml与Xsl融合程序,把客户请求的数据和形式结合起来,展示给客户就可以了。(当然,这是考虑到浏览器的原因。因为IE5之前的版本是不支持Xsl的,所以我们要做后台执行转换操作)

这种方法的优点:
一、当用户换模版的时候,不需要重新生成静态网页,只是改变xsl文件即可;
二、当数据发生变化时,只需要重新生成xml数据,不需要修改整个静态页面,节省大量的代码;
三、对于技术人员,只需要考虑xml数据的编程问题,维护起来非常方便;
四、对于美工,只需要考虑xsl形式的编辑工作,维护起来非常方便。

转载于:https://my.oschina.net/tenking/blog/30337

Xml+Xsl:内容与形式的完美分离相关推荐

  1. android transform xml xsl,XslCompiledTransform.Transform 方法 (System.Xml.Xsl) | Microsoft Docs

    使用 URI 指定的输入文档执行转换,然后将结果输出到 XmlWriter.Executes the transform using the input document specified by t ...

  2. XML—— XSL 转换

    [0]README 0.1) 本文文字描述转自 core java volume 2 , 旨在理解 XML-- XSL 转换 的基础知识 : 0.2)XSL 转换: XSL 转换(eXtensible ...

  3. java html转换xml文件,使用Java在HTML中转换XML + XSL

    我们将数据作为XML使用,并且存在多种格式化XSL样式.在IE中它一直工作得很好.使用Java在HTML中转换XML + XSL 然后,我们需要在Chrome中显示与HTML相同的内容.所以,我们在服 ...

  4. 别人做的一个XML+XSL的实例(值得初学者收藏)

    我做的XML+XSL示例结果:所有记录输出到一个表格内:记录按"出版时间"降序排列,当出版时间相同时再按定价的升序排列:如果是专业课,则用蓝字显示:鼠标移到某条记录上时,将显示该记 ...

  5. html转换成xsl,xml+xsl转换为html

    搜索热词 项目需要,需要使用xml+xsl转换为html文件存储. 以前也没做过这样的功能,上网搜索到的结果基本上xml和xsl都是以文件的形式保存和输入的,但我这里已经是拿到字符串了,所以考虑是否能 ...

  6. html显示xml xsl,XML入门教程:使用XSL显示XML

    通过使用XSL,您可以向XML文档添加显示信息. 使用XSL显示XML XSL是首选的XML样式表语言. XSL远比CSS更加完善.使用XSL的方法之一是在浏览器显示XML文件之前,先把它转换为HTM ...

  7. 利用xml+xsl给客户机添加超级管理帐户!

    这个程序加了一个用户为 swords,密码为est的超级管理员账号. swords.xml <?xml version="1.0" encoding="GB2312 ...

  8. XML+XSL 实例

    示例结果:所有记录输出到一个表格内:记录按"出版时间"降序排列,当出版时间相同时再按定价的升序排列:如果是专业课,则用蓝字显示:鼠标移到某条记录上时,将显示该记录的相关信息.本实例 ...

  9. python解析xml提交到hdfs_完美解决python针对hdfs上传和下载的问题

    当我们使用python的hdfs包进行上传和下载文件的时候,总会出现如下问题 requests.packages.urllib3.exceptions.NewConnectionError:: Fai ...

最新文章

  1. react 之 setState
  2. 使用Mybatis Generator自动生成代码
  3. SAP CRM WebClient UI的配置存储数据库表
  4. 不安装oracle 连接数据库,不安装oracle 连接服务器oracle数据库方法
  5. 计算机网络段标试卷,计算机网络基础-段标-第2章.ppt
  6. git项目根据不同需求进行独立开发
  7. linux下启动oracle
  8. [转载]Unicode、ANSI、UTF-8、Unicode Big Endian的故事
  9. 1999年考研数学一解析pdf
  10. Ubuntu下搜狗拼音突然无法输入中文的解决办法
  11. 【something】简单的平均脸制作
  12. 微信发红包测试点整理
  13. 1——man elf的翻译——ELF header (Ehdr)
  14. MAVEN使用中 error role: org.apache.maven.model.validation.ModelValidato...
  15. 发国外邮件用什么企业邮箱?在国外用什么邮箱稳定呢?
  16. 第三章 程序的机器级表示
  17. java实现word文档转pdf,并添加水印
  18. java框架魔乐_16 魔乐科技 SpringBoot框架开发详解
  19. IOS label设置多行显示并且文字在最上方显示
  20. 精密单点定位(PPP)数据处理反演潮汐(四)

热门文章

  1. JMeter中如何实现跨线程组关联
  2. 测试场景组件化轮子——用例元
  3. JUnit5 测试套件示例
  4. 03-04 元素定位工具
  5. oracle里面如何查询sqlid,Oracle SQL查询:如何使用count
  6. java socket 实现 http_Java Socket编程 - 基于Socket实现HTTP下载客户端
  7. python框架flask_Python开发框架Flask-阿里云开发者社区
  8. android制作下拉选择_Excel制作一、二、三级下拉菜单技巧,你一定不能错过
  9. 小米盒子4用u盘导入html文件格式,最新图文教程:小米盒子怎么用U盘安装第三方应用...
  10. 一个非科班大学生的四年,到秋招收获了腾讯和字节的offer