XSL 语言

合集下载

XSLT的元素语法

XSLT的元素语法

.XSLT的元素语法1 xsl:template和xsl:apply-templates2 xsl:value-of3 xsl:for-each4 xsl:if5 Xxsl:choose, when, otherwise6 xsl:sort1 xsl:template和xsl:apply-templates模板(template)是XSLT中最重要的概念之一。

XSLT文件就是由一个一个的模板组成,任何一个XSLT文件至少包含一个模板。

模板的概念就象是搭积木;你如果是程序员,也可以将模板看作一个方法,一个类,或者一个模块。

它们可以被拼装组合,也可以单独成块,不同的模板控制不同的输出格式。

模板(template)由两部分组成:匹配模式(match pattern)和执行。

简单的讲模式定义XML源文档中哪一个节点将被模板处理,执行则定义输出的是什么格式。

两部分对应的语法为xsl:template和xsl:apply-templates。

xsl:template的语法是:<xsl:templatematch = patternname = qnamepriority = numbermode = qname><!-- 执行内容 --></xsl:template>xsl:template的作用是定义一个新模板。

属性中name,priority,和mode用来区别匹配同一节点的不同模板。

它们不是常用的属性。

match属性则控制模板的匹配模式(pattern),匹配模式是用来定位XML源文档中哪一个节点被模板处理。

一个模板匹配一个节点。

我们用一个例子来帮助理解:假设我们要处理一个包含章节和段落文档。

我们用para元素定义段落,用chapter元素定义章节。

我们来看看match属性可能的值。

下面的语句写法说明模板匹配所有的para元素<xsl:template match="para"></xsl:template>下面的语句写法说明模板匹配所有的para元素和所有的chapter元素:<xsl:template match="(chapter|para)"></xsl:template>下面的语句写法说明模板匹配所有的父节点为chapter元素的para元素:<xsl:template match="chapter//para"></xsl:template>下面的语句写法说明模板匹配根节点:<xsl:template match="/"></xsl:template>我们再来看apply-templates语法:<xsl:apply-templatesselect = node set-expressionmode = qname></xsl:apply-templates>xsl:apply-templates用来执行那一个节点被模板具体处理。

使用XSL格式化XML

使用XSL格式化XML

第六章 xsl格式化xml
26
在路径中使用” ” 在路径中使用”*”
如果只知道”学生列表”的孙子节点”姓名”, 而不知道儿子节点,则可用如下来描述: <xsl:template match=“/”> <xsl:apply-templates select=“学生列表/*/姓 名”/> </xsl:template>
练习
将下列xml文档使用xsl格式化。要求以列表的 形式显示其内容,其中标题的字体为黑体,字 号为10号,红色背景,居中,内容记录以宋体 显示,并左对齐。
第六章 xsl格式化xml
13
节点的访问
访问单个节点 访问多个节点
第六章 xsl格式化xml
14
访问单个节点
<xsl:value-of>指令用于将节点的内容复制到输 出结果中,指令的select属性用于选择被提取 值的节点。即具体元素的内容提取出来。 即具体元素的内容提取出来。 即具体元素的内容提取出来 它与xsl:apply-templates组合在一起完成搜 它与 组合在一起完成搜 索知道节点中指定子节点的子节点的值。 索知道节点中指定子节点的子节点的值。 模板不允许嵌套,如果搜索更深层次的子节点, 模板不允许嵌套,如果搜索更深层次的子节点, 需要多个模板进行组合。 即模板中不包含其 需要多个模板进行组合。(即模板中不包含其 他模板,每个模板都是独立的)。 他模板,每个模板都是独立的 。
“/”是根节点匹配符号,可以单独使用。 在样式单中,匹配根节点的模板必不可少。 模板样式出现的顺序是没有关系。
第六章 xsl格式化xml
20
根元素匹配符合
“/*”用于匹配任意的根元素。 例如:如果学生列表为根元素,则 <xsl:template match=“学生列表”> <xsl:apply-templates/> </xsl:template> 可以改为: <xsl:template match=“/*”> <xsl:apply-templates/> </xsl:template>

什么是xsl

什么是xsl

--------------------------------低温恒温槽---------------------------------------- 什么是XSLXSL是eXtensible Stylesheet Language的英文缩写,即可扩展的样式表语言它是一个XML应用程序,提供定义规则的元素来转换和显示XML文档,从而实现文档内容与其表现形式的分离。

XSL是专门为XML设计的样式语言,也是除了CSS之外.另一个可用来表现XML 文档的选择。

XSL被定义为包含了一套元素集的XML语法规范,该语法规范将被用来把XML文件转换成HTML. XML或者其它格式的文档。

一个XSL样式表集合了一系列设计规则,用于从XML文档中提取信息,并将这些信息转换成HTML等其它格式。

这种转换采用了公开的方式,使其更加容易、方便地被程序员描述。

同时.XSL还提供多种脚本语言的通道,以满足更为复杂的应用需求。

因此,尽管XSL是一种新的标记语言,但程序设计者完全可以继续充分发挥其熟悉的HTML或脚本语言的优势。

由于XSL强大的可扩展性,使得它可以控制无穷无尽的标记,而且控制每个标记的方式同样是无穷无尽的。

这就给W eb提供了高级的布局特性。

例如旋转的文本、多列和独立区域。

它也支持国际统一的书写格式,可以在一页上混合使用从左至右、从右至左和从上至下的书写格式同MathML, SVG样,XSL本身就是一项XML的应用。

它直接架构在XML语法之上,共分为两个部分:第一部分是XSLTI负责将XML的源代码转换为另一种格式:第二部分是XSL-FO,提供了大量的格式化命令,可用来配合印刷或屏幕显示,精确地设定外观样式,这是一种所谓“独立设备”的格式。

第一部分的转换语法可以用来服务于第二部分。

事实上,XSL的转换语法并不限于将XML转换成FO命令,XSL可以输出任何格式正确的XML 文档。

因为这个特性,我们可以用它来做以下几种格式的转换:XML-HTML, XML"XML, XML-SVG等等。

xsl if 语法

xsl if 语法

XSL (Extensible Stylesheet Language) 是一种用于转换 XML 文档的语言。

在XSL 中,if 语句是一种条件语句,它允许你根据条件来执行不同的操作。

XSL if 语句的基本语法如下:
其中,test属性用于指定要测试的条件表达式。

如果表达式的值为 true,则执行<xsl:if>元素内部的代码块。

如果表达式的值为 false,则跳过该代码块。

在上面的示例中,如果 XML 文档中的price元素的值大于 10,则显示 "The price is higher than 10." 的消息。

如果quantity元素的值大于 0,则显示库存数量。

请注意,XSL if 语句还支持 else 分支,可以使用<xsl:else>元素来指定在条件为 false 时要执行的代码块。

xsl样式显示

xsl样式显示

XSLT元素及其说明
XSLT元素
xsl:output xsl:template xsl:call-template xsl:value-of xsl:element
说明
用于设置文档转换输出的相关属性 用于指定XML元素的转换规则 用于调用模板函数 取出所选择的元素或属性的内容 创建XML元素
xsl:apply-templates 调用其它模板以处理子元素
引用XSL的XML文档举例
<?xml version="1.0" encoding="gb2312"?> <?xml-stylesheet type="text/xsl" href="xmlXSL.xsl"?> <腾格尔> <天堂> 蓝蓝的天空 清清的湖水哎耶 绿绿的草原 这是我的家哎耶 奔驰的骏马 洁白的羊群哎耶 还有你姑娘 这是我的家哎耶 我爱你我的家 我的家我的天堂 </天堂> </腾格尔>
由这三个元素建立多条件模板规则
复制当前的节点 以指定的顺序对输出的元素进行排序
一个XSL实例(3.XSL)
<?xml version="1.0" <xsl:for-each select="股票/武商股份/认购 encoding="gb2312"?> 人信息"> <xsl:stylesheet xmlns:xsl= <TR> "/1999/XSL/Trans <TD><xsl:value-of select="姓名 form " version="1.0"> "/></TD> <!--根模板--> <TD><xsl:value-of select="账户 <xsl:template match="/"> "/></TD> <HTML> <TD><xsl:value-of select="地址 <HEAD><TITLE>认购信息 "/></TD> </TITLE></HEAD> <TD><xsl:value-of select="电话 <BODY> "/></TD> <H2>客户信息</H2> </TR> <TABLE BORDER='2' </xsl:for-each> CELLSPACING="0"> </TABLE> <TR> </BODY> <TH>客户姓名</TH> </HTML> <TH>账户代码</TH> </xsl:template> <TH>现住址</TH> </xsl:stylesheet> <TH>联系电话</TH> </TR>

什么是XSLT

什么是XSLT

1. 什么是XSLT大家可能听说过XSL(eXtensible Stylesheet Language),XSL和我们这里说的XSLT 从狭义上理解是一样的,而按照W3C的标准,XSLT的说法更严格些,因此我们在文章中统一使用XSLT的称法。

XSLT的英文标准名称为eXtensible Stylesheet Language Transformation。

根据W3C的规范说明书(/TR/xslt),最早设计XSLT的用意是帮助XML文档(document)转换为其它文档。

但是随着发展,XSLT已不仅仅用于将XML转换为HTML或其它文本格式,更全面的定义应该是:XSLT是一种用来转换XML文档结构的语言。

2. 为什么要用XSLT我们已经知道,XML是一种电脑程序间交换原始数据的简单而标准的方法。

它的成功并不在于它容易被人们书写和阅读,更重要的是,它从根本上解决了应用系统间的信息交换。

因为XML满足了两个基本的需求:(1).将数据和表达形式分离。

就象天气预报的信息可以显示在不同的设备上,电视,手机或者其它。

(2).在不同的应用之间传输数据。

电子商务数据交换的与日俱增使得这种需求越来越紧迫。

为了使数据便于人们的阅读理解,我们需要将信息显示出来或者打印出来,例如将数据变成一个HTML文件,一个PDF文件,甚至是一段声音;同样,为了使数据适合不同的应用程序,我们必须有能够将一种数据格式转换为另一种数据格式,比如需求格式可能是一个文本文件,一个SQL语句,一个HTTP信息,一定顺序的数据调用等。

而XSLT就是我们用来实现这种转换功能的语言。

将XML转换为HTML,是目前XSLT最主要的功能前言大家好,从今天起我们将一起来学习XML家族的另一种语言XSLT,XSLT类似HTML中的CSS,不过比CSS功能要强大的多。

学习XSLT的前提是你对XML已有一些了解,如果你没有学习过XML,能先点这里(http: ///columns/xml_1.shtml)看我先前写的一篇文章《XML轻松入门手册》。

XSLT 经典教程

XSLT 经典教程

XSLT 教程 1.基础 XSLT 首页Next Page XSL 指扩展样式表语言(EXtensible Stylesheet Language)。

万维网联盟开始发展 XSL 的起因是由于对基于 XML 的样式表语言的需求。

XSLT 指 XSL 转换。

在此教程中,你将学习如何使用 XSLT 将 XML 文档转换为其他文档,比如 XHTML。

开始学习 XSLT !XSLT 参考手册XSLT 元素 对所有来自 W3C 标准的 XSLT 元素进行了描述,以及关于浏览器支持的信息。

XSLT 函数 XSLT 包含了超过 100 个内置函数。

这些函数可以用于字符串、数值、日期和时间比较、 节点和 QName 处理, 序列处理, 逻辑值等等。

内容目录XSL 语言 详细解释 XSL 的子语言: XSLT、XPath 和 XSL-FO。

XSLT 简介 XSLT 的简介。

包括其概念和作用。

XSLT 浏览器 支持 XSLT 的浏览器总论。

XSLT 转换 如何使用 XSLT 将 XML 文档转换为 XHTML 文档。

XSLT 模板 <xsl:template> 元素包含了当指定的节点被匹配时所能应用的规则. XSLT <xsl:value-of> 元素 <xsl:value-of> 元素可提取选定节点的值。

XSLT <xsl:for-each> 元素<xsl:for-each> 元素允许您在 XSL 中进行循环。

XSLT <xsl:sort> 元素 <xsl:sort> 元素用于对输出进行排序。

XSLT <xsl:if> 元素 <xsl:if> 元素用于针对 XML 文件的内容放置一个条件测试。

XSLT <xsl:choose> 元素 <xsl:choose> 元素被用来与 <xsl:when> 和 <xsl:otherwise> 配合使用,来表达多重 的条件检验。

XSLT技术总结

XSLT技术总结

XSLT技术总结XSL 指扩展样式表语言(EXtensible Stylesheet Language)。

XSLT 指XSL 转换。

XSL就相当于HTML的CSS用来设置XML的样式显示。

XSLT的三种操作方式,一是直接在XML文件中引用,二是用JS去控制XML的转换操作,三是在后台直接完成转换,然后在前端显示。

1.在XML文件中引用的方法,在XML文件中的声明下加入样式的引用。

例如:<?xml-stylesheet type="text/xsl" href="cdcatalog.xsl"?>,打开XML就会显示成指定的样式。

2.在JS中完成转换的方法,调用XML插件,加载XML文件和样式文件,使用transformnode 方法完成显示。

如果是文件使用load方法,参数为文件的路径,如果是字符使用loadXML。

例如:var xsl = new ActiveXObject("Microsoft.XMLDOM");xsl.async = false;xsl.loadXML(result);var xml = new ActiveXObject("Microsoft.XMLDOM");xml.async = false;xml.loadXML(medicalXML);xml.setProperty("SelectionLanguage", "XPath");$get("MedicalContent").innerHTML=xml.transformNode(xsl);在后台完成转换,直接在前端显示。

例如:例如:这是在后台动态生成的Xpath,实现对数据的动态过滤。

更高级的应用查看Xquery和Xlink。

另外,对于生成XML的一点说明,如果不想自己写,可以使用Xstream生成。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

XSLT 介绍
XSLT is a language for transforming XML documents into XHTML documents or to other XML documents.
XSLT是一种把XML文件转换成XHTML文档或者其他的XML文档的语言。

XPath is a language for navigating in XML documents.
XPath是一种由于操作XML文档的语言。

What You Should Already Know
学前基础
Before you continue you should have a basic understanding of the following:
如果你想继续下面的学习,你必须得掌握下面的一些基本常识。

∙HTML / XHTML
∙XML / XML 命名空间
∙XPath
If you want to study these subjects first, find the tutorials on our Home page.
如果你想要先学习这些课题,那请在知识库找到这些教程.
What is XSLT?
什么是XSLT?
∙XSLT stands for XSL Transformations
XSLT代表XSL转换(XSL Transformations)
∙XSLT is the most important part of XSL
XSLT是XSL最重要的部分
∙XSLT transforms an XML document into another XML document
XSLT可以把XML文档转换成另一个XML文档
∙XSLT uses XPath to navigate in XML documents
XSLT通过XPath操作XML文档
∙XSLT is a W3C Recommendation
XSLT是一种W3C参考标准
XSLT = XSL Transformations
XSLT=XSL转换(XSL Transformations)
XSLT is the most important part of XSL.
XSLT是XSL的最重要的一部分。

XSLT is used to transform an XML document into another XML document, or another type of document that is recognized by a browser, like HTML and XHTML. Normally XSLT does this by transforming each XML element into an (X)HTML element.
XSLT用于把XML文件转换成另一份XML文件,或者转换成另一种被浏览器所识别的诸如HTML和XHTML类型的文件。

通常情况下,XSLT是通过把每个XML元素转换成(X)HTML文件来完成的。

With XSLT you can add/remove elements and attributes to or from the output file. You can also rearrange and sort elements, perform tests and make decisions about which elements to hide and display, and a lot more.
通过XSLT,你可以从已输出的文件里添加/移除元素和属性。

你也可以把元素重新排列和分类,执行测试语句,决定是隐藏还是显示元素,或者实现其它更多的功能。

A common way to describe the transformation process is to say that XSLT transforms an XML source-tree into an XML result-tree.
对于描述转换过程,可以形象的描述为:XSLT把XML源树转(XML source-tree)换成XML结果树(XML result-tree)。

XSLT Uses XPath
XSLT对于XPath的使用
XSLT uses XPath to find information in an XML document. XPath is used to navigate through elements and attributes in XML documents.
XSLT通过对XPath的使用来找寻XML文档中的信息。

XPath用于操作XML文件中的元素和属性。

If you want to study XPath first, please read our XPath Tutorial.
如果你想先学习XPath,请先阅读我们的XPath教程.
How Does it Work?
如何使它运行?
In the transformation process, XSLT uses XPath to define parts of the source document that should match one or more predefined templates. When a match is found, XSLT will transform the matching part of the source document into the result document.
在转换过程中,XSLT通过XPath来定义部分应该和一个或更多预定的模板相匹配的源文件。

当一个匹配找到后,XSLT将会把相匹配的部分源文件转换成结果文档。

XSLT is a Web Standard
XSLT是一个网络标准
XSLT became a W3C Recommendation 16. November 1999. XSLT在1999年11月16日成为W3C参考标准。

相关文档
最新文档