名词解释:什么是XSL,它有什么用途

  XSL 之于 XML 就像 CSS 之于 HTML。它是指可扩展样式表语言 (EXtensible Stylesheet Language)。这是一种用于以可读格式呈现 XML 数据的语言。XSL 实际上包含两个部分:

  * XSLT – 用于转换 XML 文档的语言

  * XPath – 用于在 XML 文档中导航的语言

  XSLT 是指 XSL 转换 (XSL Transformation),它是 XSL 最重要的部分。

  XSLT 可以将 XML 文档转换为其它 XML 文档、XHTML 输出或简单的文本。这通常是通过将每个 XML 元素转换为 HTML 元素来完成的。由于 XML 标签是用户定义的,浏览器不知道如何解释或呈现每个标签,因此必须使用 XSL。XML 标签的意义是为了方便用户(而不是计算机)理解。

  XSLT 还可以对 XML 树进行下列操作:

  * 添加和删除元素

  * 添加和删除属性

  * 对元素进行重新排列或排序

  * 隐藏或显示某些元素

  * 查找或选择特定元素

  XSL 语法

  您可能还记得 XML 概述文章中提到过,所有 XML 文档都是以 XML 声明开头。XSL 样式表也是一样。任何 XSL 文档的第一行实际上都是 XML 声明:

  <?xml version="1.0" encoding="ISO-8859-1"?>

  XSL 是否与 XML 相同?

  既是又不是。说是,是因为它们遵循相同的语法规则(只有少许差异,下面我将会讲到)。说不是,是因为它们的用途不同:XML 用于承载数据,而 XSL 则用于设置数据的格式。

  在 XML 声明之后,就是 XSL 声明,例如:

  <xsl:stylesheet>

  或

  <xsl:transform>

  但是,在大多数实际情况下,XSL 声明看起来要稍微复杂一些:

  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

  这是因为,根据 W3C 联盟的建议,它还包含命名空间和 XSL 规范的版本。

  XSL 声明与 XML 声明的不同之处在于,XML 声明只写一行,而且没有结束标签,而 XSL 声明必须包含结束标签,该标签表示 XSL 样式表结束:

  </xsl:stylesheet>

  请注意,这并不与 XML 语法规则冲突:XSL 样式表是完全有效的 XML 文档,因为它有一个根元素,由 标签指定。

  在什么情况下应该使用 XSL?

  XSL 在设计时有几个目标用途,这些用途使它成为某些开发情况下的完美解决方案,而对另一些开发情况则毫无用处。

  XSL 专门用于处理 XML 文档,并且遵循 XML 语法。因此,它只能在支持 XML 的应用程序中与 XML 结合使用。最合适使用 XML 和 XSL 的情况是:Web 门户、新闻聚合器、社区网站或其它任何需要向各种设备及大量客户端提供信息的 Web 应用程序。

  XSLT 是一种基于模式匹配的语言。它会查找匹配特定条件的节点,然后应用相应的规则。因此,它不具备大多数编程语言的计算能力。例如,XSL 无法在运行时更改变量的值。它不应该用于从使用复杂公式的动态数据源(例如在线商店)来计算值。Web 编程语言更适于此用途。

  XSL 不能代替或补充 CSS。它不应(也不能)用于设置 HTML 的样式。但是,您可以将其用于需要频繁重新设计可视化效果、频繁更换布局以及以灵活格式处理数据的网站。

  XSL 不是内容管理工具。它不应(也不能)用于更改 XML 文档的内容或者编辑信息。但是,您可以将 XML 和 XSL 用于需要处理几种不同格式文档的内容管理系统。

时间: 2024-12-31 01:50:41

名词解释:什么是XSL,它有什么用途的相关文章

FTP服务器端注意事项及常见名词解释

FTP(File Transfer Protocol)是Internet上用来传送文件的协议(文件传输协议). FTP服务器端的注意事项: 一.FTP服务器是公网IP,用公网动态域名:或是内网IP,用内网专业版TrueHost服务器如果安装了防火墙,请记住要在防火墙上打开FTP端口(默认是21). 所有FTP服务器软件都支持PORT方式.至于PASV方式,大部分FTP服务器软件都支持.支持PASV方式的FTP服务器软件,也可以设置为只工作在PORT方式上.为了PASV方式能正常工作,需要在FTP

数据库名词解释之主题数据库的基本特征

我们推出一系数据库名词解释,这次来讲解的是主题数据库的基本特征. 主题数据库的基本特征有: 1.面向业务主题(不是面向单证报表).主题数据库是面向业务主题的数据组织存储,例如,企业中需要建立的典型的主题数据库有:产品.客户.零部件.供应商.订货.员工.文件资料.工程规范等.其中,产品.客户.零部件等数据库的结构,是对有关单证.报表的数据项进行分析整理而设计的,不是按单证.报表的原样建立的.这些主题数据库与企业管理中要解决的主要问题相关联,而不是与通常的计算机应用项目相关联. 2.信息共享(不是信

Android开发的IDE、ADT、SDK、JDK、NDK等名词解释

  这篇文章主要介绍了Android开发的IDE.ADT.SDK.JDK.NDK等名词解释,对这些概念搞不清楚是一件痛苦的事,本文就简洁讲解了这些名词的含义,一起扫盲吧,需要的朋友可以参考下 1. IDE: Intelligent Development Environm的简称.即智能开发环境.是一种开发工具.常用的IDE有adt-bundles和Android studio.两个都需要配置jdk. 2. ADT: Android Development tools的简称.即Android开发工

Python中几个比较常见的名词解释

  这篇文章主要介绍了Python中几个比较常见的名词解释,本文解释同样适应其它编程语言,本文讲解了循环.迭代.递归.遍历等名词的含义,需要的朋友可以参考下 循环(loop),指的是在满足条件的情况下,重复执行同一段代码.比如,while语句. 迭代(iterate),指的是按照某种顺序逐个访问列表中的每一项.比如,for语句. 递归(recursion),指的是一个函数不断调用自身的行为.比如,以编程方式输出著名的斐波纳契数列. 遍历(traversal),指的是按照一定的规则访问树形结构中的

计算机硬盘的存储名词解释

  硬盘的盘片是将磁粉附着在铝合金(新材料也有改用玻璃的)圆盘片的表面上制成的,这些磁粉波划分成被称作"磁道"的若干个同心圆.在每个同心圆的磁道上就好像有无数的任意排列着的小磁铁,它们分别代表0和1的状态.当这些小磁铁受到来自磁头的磁力影响时,其徘列的方向会随之改变,利用磁头的磁力来控制指定的一些小磁铁的方向,使每个小磁铁都可以用来储存信总.0盘片上的小磁铁越多.能存储的信息也越多. 硬盘的盘体由多个盘片(Platter)组成,这些盘片被重叠在一起,放在一个密封的盒中,它们在主轴电机的

名词解释(通信)

  名词解释OSS--是GMCC移动通信网中爱立信设备的操作支持系统,即网管系统.系统功能包括配置管理.故障管理.性能管理和操作维护管理等.我们开站时就是在OSS上进行操作.DT--是开站所需指令的集合.我们一般预先把开站的指令都写好,存为一个文本文件,就叫做DT.开站时把这个文件打开,将指令LOAD到交换机就可以了,这样就不必逐条敲指令,提高了效率.CDD--是由设计院设计的网络规划表,基本上包括了当地所有小区的小区参数.相邻关系.频率规划等内容,是我们做工程的主要依据.MO--Manage

软件工程缩略词名词解释

问题描述 软件工程缩略词名词解释 DMT SREM SRI CML RTM SCRUM 求大神帮忙解释一下 解决方案 DMT(Dynamic Multithreading Architecture,动态多线程结构) SREM(software requirement engineering methodology,软件要求工程方法学) SRI(SIP Relay Interface,SIP传递的接口) CML(Concurrent Mapping and Localization ,并行映射与定

测试中的名词解释:bug、任务、测试用例、用户情景、特性、长篇故事、问题

问题描述 测试中的名词解释:bug.任务.测试用例.用户情景.特性.长篇故事.问题 bug.任务.测试用例.用户情景.特性.长篇故事.问题.这些词语都是怎么定义的,区别是什么? 我是个新手,最近是想研究TFS来管理测试,不知道工作项里面的这些词怎么区别,请教大家解释一下 解决方案 最好用英文,中文这个翻译很难说是什么东西. 好比attribute也叫属性,property也叫属性:issue叫问题,question.problem也叫问题,这就很难说了. 解决方案二: 我想问问的是TFS团队管理

语言-“网络广告”的名词解释是什么?

问题描述 "网络广告"的名词解释是什么? 一道考试的题目,题目是名词解释.解释"网络广告".一看到大概知道,但是不会组织专业的语言啊,求解 解决方案 网络广告又被称为在线广告或者互联网广告,是以计算机为核心组成的计算机网络为媒介的广告行为. 网络广告与传统广告有很多类似的地方,也可分为banner广告.分类广告.赞助式广告等等很多不同广告形式,拥有多种计费方式. 解决方案二: 通过网络广告投放平台来利用网站上的广告横幅.文本链接.多媒体的方法,在互联网刊登或发布广告

软件开发的一些名词解释

问题描述 请教在软件开发中,服务,服务器,中间件,容器,集盘等的一些相关主流产品和他们的名词解释,有具体例子最好,谢谢前辈指教!