XML-XSL Introduction
xsl入门.
二.XSL的转换
1.将XML转换成HTML XSL是如何将XML文档转换成HTML文件的呢?我们来பைடு நூலகம்一 个例子,下面是XML文档的一部分: <?xml version="1.0" encoding="ISO8859-1" ?> <CATALOG> <CD> <TITLE>Empire Burlesque</TITLE> <ARTIST>Bob Dylan</ARTIST> <COUNTRY>USA</COUNTRY> <COMPANY>Columbia</COMPANY> <PRICE>10.90</PRICE> <YEAR>1985</YEAR> </CD> </CATALOG>
当XML文档被转换成HTML文件,索引应该 同时建立。简单的办法就是给你的for-each 元素增加一个order-by属性,就象这样: <xsl:for-each select="CATALOG/CD" order-by="+ ARTIST"> order-by属性带有一个"+"或者"-" 的符 号,用来定义索引的方式,是升序还是降序 排列。符号后面的名字就是要索引的关键字。 例如(cd_catalog_sort.xsl):
如果为XML文档加上XSL样式表,看下面代码第2行,你的浏 览器就可以精确的将XML 文档转换为HTML文件。 <?xml version="1.0" encoding="ISO8859-1" ?> <?xml-stylesheet type="text/xsl" href="cd_catalog.xsl"?> <CATALOG> <CD> <TITLE>Empire Burlesque</TITLE> <ARTIST>Bob Dylan</ARTIST> <COUNTRY>USA</COUNTRY> <COMPANY>Columbia</COMPANY> <PRICE>10.90</PRICE> <YEAR>1985</YEAR> </CD> </CATALOG>
xml结构描述文件
xml结构描述文件XML(可扩展标记语言)是一种用于描述数据结构和数据的文本格式。
它具有易于阅读、易于编写和易于解析的特点,因此在许多领域得到了广泛的应用。
下面将详细介绍XML结构描述文件的相关知识。
1.XML结构简介XML是基于XML规范的一种树状结构。
它由一系列的元素组成,每个元素包括开始标签、结束标签和中间的内容。
XML文件由一个根元素开始,然后分为多个子元素,子元素也可以分为多个孙元素。
这种层次结构使得XML具有良好的可读性和易于理解。
2.XML的基本语法XML的基本语法包括以下几点:- 开始标签:每个元素都以开始标签表示,例如```<element>```。
- 结束标签:每个元素都以结束标签表示,例如```</element>```。
两个斜杠(```/```)表示结束标签。
- 空格:XML元素可以包含空格,以提高可读性。
- 注释:XML允许在元素中添加注释,以提供对代码的说明。
注释以```<!--```开始,以```-->```结束。
- CDATA段:CDATA段用于包含不解析的特殊字符,以避免XML解析器将其解析为标签或属性。
CDATA段以```<![CDATA[```开始,以```]]>```结束。
3.XML的应用场景XML广泛应用于以下场景:- 数据存储:XML文件可以用于存储结构化数据,便于数据的备份和传输。
- 数据交换:XML具有良好的可读性和易于解析性,可用于不同系统之间的数据交换。
- 配置文件:许多软件使用XML文件作为配置文件,以便于用户自定义设置。
- 文档编写:XML可应用于文档编写,如使用TEI(Text Encoding Initiative)规范对文本进行编码。
4.XML的优势与局限性XML的优势:- 结构清晰:XML采用树状结构,使数据层次关系一目了然。
- 易于阅读和编写:XML采用类似于HTML的语法,易于阅读和编写。
通过代码实例跟我学XML XSLT相关的应用技术——XSLT的元素语法及应用示例
1.1通过代码实例跟我学XML XSLT相关的应用技术——XSLT的元素语法及应用示例1、XSLT的元素语法XSLT的元素语法大致可分为下面的三种:(1)选择模式:<xsl:for-each>、<xsl:value-of>和<xsl:apply-templates>选择模式语句将数据从XML中提取出来,是一种简单获得数据的方法,这几个标签都有一个select属性,选取XML中特定的节点名的数据。
(2)测试(识别)模式:<xsl:if> 和<xsl:when>(3)匹配模式:<xsl:template>2、xsl:value-of标签(1)主要的作用在许多应用场合中,输出模板中需要使用节点的取值,此时可以根据需要使用<xsl:value-of>元素输出节点值。
因此利用该标签用来将源文档(也就是需要进行转换的XML文件)中元素的文本值写到输出文档中。
(2)应用示例请见前面的示例。
(3)区分下面两种不同形式的取值方式1)<xsl:value-of />,这样可以输出当前标签节点及其所有后继标签节点的取值。
2)可以利用select属性进行限定以输出指定节点的取值:<xsl:value-of s elect = “姓名” /><xsl:value-of select = “//姓名” />上述第一个表达式匹配的对象是当前标签节点的所有子标签节点中名称为<姓名>的标签元素,第二个表达式匹配的对象则是当前标签节点中所有后继标签节点中名为<姓名>的元素。
3、xsl:for-each标签(1)主要的作用xsl:for-each语法允许我们循环处理被选择的节点。
它相当于一种遍历,当它具备select 属性的时候,它将遍历这个属性值指定的所有元素。
(2)应用示例一下面的XML文档“学生信息”节点下面有多个“班级”节点,可以通过xsl:for-each 把这些节点数据在一个单元格中都显示出来。
J2EE Web核心技术《XHTML与XML应用开发》——第7 章 XML XSLT技术及应用(第3部分)
第7 章XML XSLT技术及应用(第3/4部分)1.1XSLT输出及流程控制元素1.1.1主要的XSLT标签元素功能及应用1、<xsl:stylesheet>根标签元素下的主要子标签元素及功能说明在XSLT技术规范中提供有功能丰富的标签元素,在<xsl:stylesheet>根标签元素下可以包含有如下的子标签元素,它们作为<xsl:stylesheet>根标签元素的第一层次的子元素,称之为顶层元素(Top-Level Element)。
XSLT中的所有标签元素、属性和函数名,推荐都用全小写单词,多个单词之间用连字符分隔,如<xsl:preserve-space>、<xsl:attribute-set>等。
本节介绍其中的一些常用的标签元素及应用。
1)<xsl:include>把一个样式表文件(由其中的href属性定义)中的内容包含到另一个样式表中, 并且可以在不改变被包含的样式表语义的情况下,将多个样式表单文件组合起来。
2)<xsl:import>也能够达到<xsl:include>类似的组合多个样式表单文件的效果,但不同点在于,主样式表单文件中的模板规则和定义优先于被引入的样式表单文件(由其中的href属性定义)中的模板规则和定义。
3)<xsl:strip-space>XSLT在处理XML文档文本之前需要将其中的空白符如#x20(空格)、#x9(Tab)、#xD(回车)或#xA(换行)等剥离(Strip)掉,<xsl:strip-space>标签元素定义应当要删除哪些元素中的空白字符。
如示例:<xsl:strip-space elements="姓名班级" />,表示删除<姓名>和<班级>元素中的空白字符。
4)<xsl:preserve-space>定义需要保留空白字符的元素。
通过代码实例跟我学XML XSLT相关的应用技术——XSL和XSLT相关的应用技术
1.1通过代码实例跟我学XML XSLT相关的应用技术——XSL和XSLT相关的应用技术1.1.1XSL 相关的应用技术概述1、XSL(1)XSL是什么XSL就是可扩展样式表语言(eXtensible Stylesheet Lanaguage),XSL是参考SGML中的DSSSL(用来设置SGML的表现样式)而设计的。
(2)为什么要提供XSL技术最初设计XSL的目的就是采用XML格式提供一种为XML文档设置表现样式的新方法。
虽然也可以使用CSS来为XML文档设置表现样式(而且CSS还是非常成熟的一套规范,拥有大量的优点),但是CSS所采用的是与XML不同的一套语法,无法使用相同的XML解析器来进行处理,这为开发带来了额外的负担。
(3)XSLT和CSS的比较由于在一般的应用中,采用CSS同样可以格式化XML的文档,那么有了CSS后为什么还需要XSLT呢?因为CSS虽然能够很好的控制输出的样式,比如色彩,字体,大小等,但是它有严重的局限性,就是:1)CSS不能重新排序文档中的元素;2)CSS不能判断和控制哪个元素被显示,哪个不被显示;3)CSS不能统计计算元素中的数据;换句话说,CSS只适合用于输出比较固定的最终文档。
CSS的优点是简洁,消耗系统资源少;而XSLT虽然功能强大,但因为要重新索引XML结构树,所以消耗内存比较多。
因此,我们常常将它们结合起来使用,比如在服务器端用XSLT处理文档,在客户端用CSS来控制显示。
可以减少响应时间。
2、XSL由两部分组成后来W3C发现制定XSL规范的工作量实在太大,就将整个工作分成了两个部分:(1)XSLT(XSL Transformations)------转换XML文档(2)XSL-FO(XSL Formatting Object)------格式化XML文档。
我们可以这样理解XSL:XSL是一种可以将XML转化成其它类型语言的语言,一种可以过滤和选择XML数据的语言,一种能够格式化XML数据的语言。
XML样式表XSL初学教材,入门经典
XML样式表XSL初学教材,入门经典第一个XML文档随着Internet的发展,越来越多的信息进入互联网,信息的交换、检索、保存及再利用等迫切的需求使HTML这种最常用的标记语言已越来越捉襟见肘。
HTML将数据内容与表现融为一体,可修改性、数据可检索性差,而XML借鉴了HTML与数据库、程序语言的优点,将内容与表现分开,不仅使检索更为方便,更主要的是用户之间数据的交换更加方便,可重用性更强。
XML是一种元标记语言,没有许多固定的标记,为WEB开发人员提供了更大的灵活性。
当我们使用HTML时,标记只是简单的表示内容的显示形式,而与表示的内容没有任何关联,为文档的进一步处理带来极大的不便。
比如要表示个人简历,用HTML的表示方式如下:< HTML >< BODY >< TABLE border=1 cellspacing=0 >< TH >姓名< TD >禹希初< TH >性别< TD >男< TH >生日< TD >1977.5< TR >< TH >技能< TD colspan=5 >数据库设计与维护、WEB开发< /TABLE >< /BODY >< /HTML >在这里,我们无法从标记TH、TD得知其内容表示什么,如果用XML,相应的文档(文件名:个人简历.xml)就可写成如下形式:< ?xml version="1.0" encoding="GB2312"? >< resume >< name >禹希初< /name >< sex >男< /sex >< birthday >1977.5< /birthday >< skill >数据库设计与维护、WEB开发< /skill >< /resume >说明:version──规定了XML文档的版本,此处只能是1.0;encoding──此处规定了XML文档的编码类型,此处取值为“GB2312”,也就是“简体中文”。
【推荐下载】属性声明-XML-XSLTXML入门步骤-推荐word版 (4页)
【推荐下载】属性声明-XML/XSLTXML入门步骤-推荐word版
本文部分内容来自网络,本司不为其真实性负责,如有异议或侵权请及时联系,本司将予以删除!
== 本文为word格式,下载后可随意编辑修改! ==
属性声明-XML/XSLTXML入门步骤
一个有效的XML文档,必须对元素的属性进行声明。
使用ATTLIST声明来完成,一个ATTLIST可以为一个元素类型声明多个属性。
一个有效的XML文档,必须对元素的属性进行声明。
使用ATTLIST声明来完成,一个ATTLIST可以为一个元素类型声明多个属性。
上例声明image元素必须有一个src属性,该属性的值是字符数据。
可用ATTLIST声明为一个元素声明多个属性,如:
上述声明指出src、width、height属性是必须的,alt属性是可选的。
本文由()整理发布!转载请注明出处,谢谢!1.属性类型
CDATA类型属性值可包含任意文本字符串。
DTD不能指定属性为一个整数或一个日期,Schema能提供更为强大的数据类型。
NMTOKEN类型属性值是一个XML名称记号。
XML名称记号与XML名称类似,但XML名称记号允许所有的字符作为名称的开始字符,而XML名称的第一个字母必须是字母、表意字符和下划线。
因此10,.bashrc是合法的XML名称标记,但不是合法的XML名称。
每个XML名称都是一个XML名称标记,然而XML名称标记不全是XML名称。
如果属性包含1990,201X之类的整数,则应该指定其类型为NMTOKEN。
如:。
J2EE Web核心技术《XHTML与XML应用开发》——第7 章 XML XSLT技术及应用(第1部分)
第7 章XML XSLT技术及应用(第1/4部分)W3C最初设计XSL的主要目的就是希望能够采用XML语法格式提供一种为XML文档设置表现样式的新方法。
虽然也可以使用CSS为XML文档设置表现样式,而且CSS还是非常成熟的一套W3C的规范,拥有许多的优点。
但是CSS所采用的是与XML不同的一套语法,无法使用相同的XML解析程序进行处理,这为应用开发带来了额外的负担。
XSL主要分为XSLT和XSL-FO两个不同的部分,其中XSLT的主要作用是将XML由一种格式转换为另一种格式,由XML的一种词汇表转换为另一种词汇表。
XSLT有哪些技术特性?如何正确地应用XSLT?如何设计和定义模板规则?如何激活模板规则?与XSLT 输出及流程控制有关的指令元素的基本语法有哪些基本要求?本章将引领读者进入W3C的XML可扩展样式表语言XSL这一崭新的技术领域,重点探究与XSLT有关的知识、技术和应用,并最终获得上面的各个问题的答案。
1.1XSLT技术特性及应用1.1.1XSLT工作原理和技术特性1、XSL技术概述及组成部分和应用1)XSL是什么XSL代表可扩展样式表语言(eXtensible Stylesheet Lanaguage),它定义了描述XML 样式的词汇集,也是W3C在1999年11月16 日作为“推荐书”发布的XML结构和数据表现技术之一。
目前,XSL仍然处在发展和完善中,XSLT1.1的草案已经在W3C的官方网站(/TR/xslt11)上发布。
但W3C XSL技术本身是参考SGML中的文档样式的语义及规格说明语言(Document Style Semantics and Specification Language,简写为DSSSL,它是用来设置SGML的表现样式)而制定的,并吸纳了DSSSL中的许多优点和并对它进一步改进完善,W3C才于1999年最终发布了XSL的标准。
2)XSL包含两个不同的组成部分XSL主要包含XSLT(XSL Transformations,可扩展样式表XML转换语言)和XSL-FO (XSL Formatting Object,可扩展样式表格式化对象语言)两个不同的组成部分。
XML&XSLT入门培训
XSLT元素-template
XSL 样式表由一个或多套被称为模板(template)的规则组成。 每个模板含有当某个指定的节点被匹配时所应用的规则
如:
<?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="/1999/XSL/Transform"> <xsl:template match="/"> 模板内容 </xsl:template> </xsl:styleshe <item datetime=“2008-06-30 12:22:33” topic=“互联网政治露端倪”/> <item datetime=“2008-06-30 16:28:36” topic=“饮用水涨价在所难免”/> </root>
如何读取2008-06-30 12:22:33中的月份和小时? 如何读取topic中包含“政治”的item节点? 如何读取topic中以“互联网”开始的item节点? 如何得到root下item节点的个数?
<xsl:value-of> 元素可提取选定节点的值 如读取xpath(仅关键代码): <xsl:value-of select="//item[2]/@permissionname"/> 输出结果:博客
XSLT元素 - variable
<xsl:variable> 元素用于声明局部或全局的变量 下面的例子为变量 "color" 赋值 "red": <xsl:variable name="color" select="'red'" />
J2EE应用开发——03-1XML、CSS与XSL
创建一个XML文档(续)
形式良好的XML
文档的开始必须是XML声明 每一个开始标记必须有一个结束标记相对应 空的标记必须用前斜线(/)结束 文档只能包含一个能够包含全部其它元素的元素 标记必须正确的嵌套 必须在双引号之间给出所有的属性值 出现&、<、>、‘和“时使用实体引用 XML标记大小写敏感
创建一个XML文档(续)
<?xml version="1.0" encoding="gb2312" ?> <FlowersInfo> <Flowers code="F001"> <FName>玫瑰</FName> <Quantity>100</Quantity>
<ProducingArea>湖南</ProducingArea>
语义的意义存在于文档之外,在作者的心中或是读者或是某些生成或读取
这些文件的计算机程序中。
样式意义指定标记的内容如何在计算机屏幕上或是其他输出设备上展示。
什么是CSS
CSS全称是层叠样式表(Cascading Style Sheets),它是目前最常用的
一种样式定义工具, 可以用它对XML文档或者HTML文档进行格式
XML有两个先驱——SGML和HTML。
XML的优点
XML是一种跨平台,硬件和软件独立的标记语言。XML允许计算
机以一种统一的格式存储数据,这种格式可以被其他任何计算机 系统所解释,因此XML可以在不同类型的系统间传输结构化的数
据,在软件开发过程中其重要性也日益凸现。
XML允许各种不同的专业开发与自己的特定领域有关的标记语
XML、XML Schema和XSL
若required="yes",則表示此attribute一定要在所屬標籤 中描述。若 required ="no",則表示此attribute在所屬標籤 中不描述也可以。 例如圖13.1中,只有課程標籤中有1個attribute"選或必修", 所以這個attribute在圖13.4中要定義,如下:
name dt:type content
model order
例如圖13.4的第8行:
<ElementType name="成績" content="textOnly" dt:type="number" />
其中name=“成績”表示標籤名稱為“成績”, content=“textOnly”表示標籤所夾的資料為text,dt:type=“number” 表示標籤所夾的資料為十進位數字。
王有禮教授編著
透視-第13章
9
Attribute Type(1/2)
定義標籤中的attributes是用AttributeType來定義, AttributeType的語法如下:
<AttributeType name="attribute名稱" required="yes"或"no" dt:type="資料型態" dt:value="可選擇的值" default="預設值"/>
王有禮教授編著
透視-第13章
14
<element>標籤
<element type="內含標籤名稱" minOccurs="0"或"1" maxOccurs="1"或"*" /> 其中"*"表是可出現多次。由此語法可看出 <element>在定義內含標籤出現的次數。
xsl
2.XSL文档的创建
• XSL文档以 .xsl为其文件扩展名,与XML文档 一样也是一种文本文件,可用任何一种文本编 辑软件进行创建和修改。
3.XSL文档的引用
• 在XML文档中引用XSL样式表的方法是在序言 部分添加如下形式的指令: • <?xml-stylesheet type="text/xsl" href="URL" ?>
节点匹lt;A id="a1"> <B id="b1"> <C id="c1"> <B name="b"/> <D id="d1"/> <E id="e1"/> <E id="e2"/> </C> </B> <B id="b2"/> <C id="c2"> <B/> <D id="d2"/> <F/> </C> <E/> </A>
XSL节点选择
• 使用元素名选择节点 • 可以在模板中直接指定XML文档的某个元素名 来选择相匹配的节点。 • 例如: • <xsl:template match="roster"> <xsl:apply-templates select="roster"/> <xsl:value-of select="name"/>
XSL样式单 --节点匹配路径XPath
第一节 XSL概述
第一节XSL概述1. XSL的基本概念前面讲到,我们可以使用样式表技术来格式化XML文档,主要有两种样式表技术:CSS (级联样式表) 和XSL (可扩展样式表语言)。
(1) 什么是XSL?XSL:可扩展样式表语言(e X tensible S tylesheet L anguage,简称XSL)。
可以这样来理解XSL:它是一种可以将XML文档转换成其它文档(例如:HTML文档)的语言;它是一种可以排序、过滤和分类XML数据的语言;它是一种可以基于数值格式化XML数据的语言(例如:用红色显示负数);它是一种可以向不同设备输出XML数据的语言(例如:屏幕、纸或语音设备)。
(2) XSL由哪几部分组成?XSL实际上由三部分组成:XSLT:数据转换语言(XSL Transformations)。
XPath:专门用来在XML文档中查找信息的语言。
XSL-FO:数据格式化对象(XSL Formatting Object)。
XSLT是XSL标准中最重要的部分,它用于将一个XML文档转换成另一个其它类型的文档,也就是将一个XML文档转换成浏览器所能识别的一种文档,这其中就包括HTML。
通常所说的XSL就是指XSLT。
(3) XSL有哪些特点?XSL主要具有如下特点:XSL本身就是一个完整的XML文档,完全遵循XML语法规则。
XSL是XML的一种具体应用。
2. XSL的工作原理XSL的工作原理,如下图所示:XSL的工作示意图几个基本概念:源文档树:包含原始数据的XML源文档的树状形式。
结果文档树:经过格式化后的XML文档的树状形式。
XSL文件:指定如何进行格式化的样式表文件。
XSL处理器:专门用来提取数据并进行格式化输出的工具。
如上图所示,XSL的工作过程大致是这样的:第一步:使用XSL处理器从源文档树中提取要进行格式化显示的数据。
第二步:提取到数据之后,按照XSL文件中指定的格式显示数据,即形成结果文档树。
3. 比较CSS与XSL(1) 有了CSS,为什么还需要XSL?CSS虽然能够很好的控制输出的样式,比如色彩、字体、大小等,但它有严重的局限性:CSS不能重新排序XML文档中的元素;CSS不能判断和控制哪个元素被显示,哪个不被显示;CSS不能计算元素中的数据。
XML的术语和语法
其中:“!DOCTYPE”是指要定义一个DOCTYPE; type-of-doc是文档类型的名称,由自己定义,通 常与DTD文件名相同; SYSTEM:指文档使用的私有DTD文件的网址; PUBLIC:指文档调用一个公用DTD文件的网址; “dtd-name”:DTD文件的网址和名称。
表示层 逻辑层
小服务程序
JSP Bean
EJB
数据库连接器
数据服务器
数据层
9
3.XML技术- XML的术语和语法
3.2 XML的术语和语法
XML文档结构 XML文档就是用XML标识写的XML原代码文件。
XML文档也是ASCII的纯文本文件,可以用Notepad 创建和修改。XML文档的后缀名为.XML,例如 myfile.xml。用IE5.0以上浏览器也可以直接打 开.xml文件,但你看到的就是"XML原代码",而不 会显示页面内容。
10
3.XML技术- XML的术语和语法
<?xml version="1.0"?> <!DOCTYPE filelist SYSTEM "filelist.dtd">
<filelist> <myfile> <title>QUICK START OF XML</title> <author>ajie</author> </myfile> ...... </filelist>
3
3.XML技术- XML概述
XML用途 数据交换:数据交换是XML的最重要的用途
XML、XML Schema和XSL
王有禮教授編著
透視-第13章
3
XML的完整性(well-formed)
文件的第一行必須是XML的版本宣告,如<?xml version="1.0"?>。 文件中只能有一個標籤是樹狀結構的根,如圖13.1中的"<修課資料>"。 起始標籤和結束標籤要成對出現。 空標籤要以"/>"結尾,所謂空標籤為沒有夾住任何資料的標籤,像HTML中的<br>, 在XML中要寫成<br/>。 標籤可以成巢狀排列,但不可交錯,如<A><B>…</B></A>可以,而 <A><B>…</A></B>則不可。 英文字母大小寫是有區別的。 Attribute的設定值一定要以雙引號或以單引號框住。 特殊字元,如<、>、雙引號、單引號等,要以其他符號代替,見表13.1。
浮點數。
格式DD,如06。 格式MM,如09。 格式MM-DD,如09-06。 格式YYYY,如2002。 格式YYYY-MM,如2002-09。 十進位數字。 字串。 時間。
uri
超連結網址。
表13.3 XML Schema常用的資料型態
王有禮教授編著 透視-第13章 11
ElementType
特殊字元 & < > " 代替符號 & < > " 另外,如要註解可用註解標籤“<!--”和“-->”夾住註解。 要了解詳細的XML規格,可以參考下列網址: /xml/reference/standards.html
XSL简明教程
XSL简明教程一、XSL入门1.XSL---XML的样式表HTML网页使用预先确定的标识(tags),这就是说所有的标记都有明确的含义,例如<p>是另起一行<h1>是标题字体。
所有的浏览器都知道如何解析和显示HTML网页。
然而,XML没有固定的标识,我们可以建立我们自己需要的标识,所以浏览器不能自动解析它们,例如<table>可以理解为表格,也可以理解为桌子。
由于XML的可扩展性,使我们没有一个标准的办法来显示XML文档。
为了控制XML文档的显示,我们有必要建立一种机制,CSS就是其中的一种,但是XSL(eXtensible Stylesheet Language)是显示XML文档的首选样式语言,它比CSS更适合于XML。
2.XSL --- 不仅仅是一种样式表XSL由两部分组成:一是转化XML文档;二是格式化XML文档。
如果你不理解这个意思,可以这样想:XSL是一种可以将XML转化成HTML的语言,一种可以过滤和选择XML数据的语言,一种能够格式化XML数据的语言。
(比如用红色显示负数。
)3.XSL --- 它能做什么?XSL可以被用来定义XML文档如何显示,可以将XML文档转换成能被浏览器识别的HTML文件,通常的,XSL是通过将每一个XML元素"翻译"为HTML元素,来实现这种转换的。
XSL能够向输出文件里添加新的元素,或则移动元素。
XSL也能够重新排列或者索引数据,它可以检测并决定哪些元素被显示,显示多少。
4.XSL在IE5中的显示注意:IE5.0中,并不能完全兼容W3C组织发布的最新XSL标准。
因为IE5.0是在XSL 标准最终确定以前发布的。
微软已经承诺在IE5.5中修正。
二、XSL的转换1.将XML转换成HTMLXSL是如何将XML文档转换成HTML文件的呢?我们来看一个例子,下面是XML 文档的一部分:<?xml version="1.0" encoding="gb2312"?><Persons><Person><Name>吴冠晖</Name><Nick>wgh</Nick><Mobile>130XXXXXXXX</Mobile><Tel>XXXXXXXX</Tel><Email>wghvideo@</Email><QQ>710061</QQ><Company>XXX</Company></Person></Persons>然后我们将下面的XSL文件作为HTML的模板将XML数据转换为HTML文件:<?xml version="1.0" encoding="gb2312"?><xsl:stylesheet xmlns:xsl="/TR/WD-xsl"><xsl:template match="/"><html><body><table align="center" width="780" cellspacing="1" cellpadding="2" border="0"bgcolor="#666600"><tr class="title" bgcolor="#E5E5E5"><td>姓名</td><td>英文名</td><td>手机</td><td>电话</td><td>Email</td><td>QQ</td><td>所在公司</td></tr><xsl:for-each select="/Persons/Person"><TR BGCOLOR="#FFFFFF"><TD STYLE="color:#990000"><xsl:value-of select="Name"/></TD><TD><xsl:value-of select="Nick"/></TD><TD><xsl:value-of select="Mobile"/></TD><TD><xsl:value-of select="Tel"/></TD><TD><xsl:value-of select="Email"/></TD><TD><xsl:value-of select="QQ"/></TD><TD><xsl:value-of select="Company"/></TD></TR></xsl:for-each></table></body></html></xsl:template></xsl:stylesheet>在上面的代码中,xsl:for-each元素的作用是定位XML文档中的哪些元素需要按以下模板显示。
XML样式表技术(CSS与XSL)
2.CSS——并非为XML专门设计的样式表技术
【
1.按要求对XML文档进行CSS定义;
2.使用CSS文件对XML进行显示;
3.按要求为XML文档编写XSL样式文件;
4.使用XSL对XML进行显示;
【
配置有vs2010开发环境的计算机设备
【
1.XML的样式表技术
XML本身不提供任何相关显示的方法,也不像HTML带有预定义的可提供显示功能的标签,在XML中可以使用CSS和XSL两种样式表技术来提供XML数据的格式化显示。
<?xml version="1.0" encoding="gb2312"?>
(3)定义“联系人列表”元素的显示(由“联系人”组成)
联系人列表{display:block;}
(4)定义“联系人”元素的显示
联系人{
display:block;
position:center;
}
(5)定义“姓名”及“电话”元素的显示
</学生>
<学生>
<学号>0907045206</学号>
<姓名>知返</姓名>
<成绩>106</成绩>
</学生>
</期末数学成绩表>
数学XSL文档:
<?xml version= "1.0" encoding= "utf-8"?>
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Displaying XML with CSS
Must put a processing instruction at the top of your XML file (but below the XML declaration):
<?xml-stylesheet type="text/css" href="style.css"?>
XSLT - a language for transforming XML documents XPath - a language for navigating in XML documents XSLXSL-FO - a language for formatting XML documents
The XML Namespace (xmlns) Attribute
The XML namespace attribute is placed in the start tag of an element and has the following syntax: xmlns:namespace-prefix="namespaceURI" The address used to identify the namespace is not used by the parser to look up information. The only purpose is to give the namespace a unique name. However, very often companies use the namespace as a pointer to a real Web page containing information about the namespace.
XML Validation
Uses only specific tags and rules as codified by one of A document type definition (DTD) A schema definition Only the tags listed by the schema or DTD can be used Software can take a DTD or schema and verify that a document adheres to the rules
XML Document:
<?xml version="1.0"?> <greeting>Hello, World!</greeting>
Desired Output:
<html> <head><title>Greeting</title></head> <body><p>Hello, World!</p></body> </html>
Transform XML to HTML for delivery to standard web clients Transform XML from one set of XML tags to another Transform XML into another syntax/system
Example:
Example style.css book{ font-size:12; }
What is XSL?
XSL stands for EXtensible Stylesheet Language. XSL describes how the XML document should be displayed! This is the Preferred language for processing XML. XSL consists of three parts:
Transforming XML: XSLT
XML Stylesheet Language — Transformations (XSLT) A markup language and programming syntax for processing XML Is most often used to:
<f:table> <f:name>London</f:name> <f:size>100 Miles</f:size> </f:table>
Using Namespaces
This XML document carries information in a table: <h:table xmlns:h="/TR/html4/"> <h:tr> <h:td>Food</h:td> </h:tr> </h:table> This XML document carries information about a city: <f:table xmlns:f="/city"> <f:name>London</f:name> <f:width>100 Miles</f:width> </f:table>
Comments & Processing Instructions
You can embed comments in your XML just like in HTML :
<!-- Whatever is here (whether text or markup) will be ignored on processing -->
Special Character Entities
There are 5 characters that are reserved for special purposes; therefore, to use these characters when not part of XML tags, you must use an entity reference:
A processing instruction tells the XML parser information it needs to know to properly process an XML document
<?xml-stylesheet type="text/xsl" href="xslexample.xsl"?>
Solving Name Conflicts using a Prefix
This XML document carries information in a table:
<h:table> <h:tr> <h:td>Food</h:td> </h:tr> </h:table>
This XML document carries information about a city:
& (ampersand) becomes: & < (less than) becomes: < > (greater than) becomes: > ‘ (apostrophe) becomes: ' “ (quote) becomes: "
XML Example
Well-formed XML
Tags must be suitably named Single Root Element Follows general tagging rules:
All tags begin and end
• But can be minimized if empty: <br/> instead of <br></br>
<?xml version="1.0"?> <bookstore> <book sno=”1”> <author>W.Shakespeare</author> <title>Hamlet</title> <published>1997</published> <price>2.95</price> </book> <book sno=”2”> <author>W.Shakespeare</author> <title>Macbeth</title> <published>1989</published> <price>9.95</price> </book> </bookstore>
• <book sno=“1”> W.Shakespeare </ book>
Tag Name Rules
Must start with letter, colon or underscore Must only letters and numbers characters - _ . : The colon is reserved for W3C use
Push vs. Pull Processing Selecting Elements and Attributes Decision Structure: Choose Decision Structure: If Looping XSLT Example XML to XHTML on the Server Conclusion