问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

css与xsl的比较?(至少5点)11

发布网友 发布时间:2024-02-02 15:51

我来回答

3个回答

热心网友 时间:2024-07-21 17:52

相同:
XSL和CSS都是属于样式的一种。样式是用来设定外观的,它并不影响原来的XML源代码,
XSL虽然用的是转换的方式,但转换并不代表源代码会遭到篡改。通常XSL转换后的输出码是
另存到一个新的档案或暂存在浏览器的记忆体中,原来的XMl文档内容保持不变。

不同:
1、XSL采用的是转换方式,将一种格式的XML转换为另一种,比如将Big5码转换为UTF-8码一
样。而CSS则来自完全不同的理念:它不含任何转换动作,只针对XML文件中各个成分的外
观属性一一加以设定。浏览器便按照CSS样式里的指示,将XML文件呈现为设定的样式。整
个过程中没有任何新码产生。XML配上CSS、ECMAScript和DOM可以营造出类似DHTML般
的动态效果。XSL转换则是死的,没有互动性。

2、XSL样式都是XML文件,完全按照XML的语法来;相对地,CSS在语法上自成一格,和
XML的写法大相径庭。

热心网友 时间:2024-07-21 17:51

XSLT是一种用来转换XML文档结构的语言;CSS同样可以格式化XML文档,CSS虽然能够很好的控制输出的样式,比如色彩,字体,大小等,但是它有严重的局限性,就是:
1、 CSS不能重新排序文档中的元素;
2、CSS不能判断和控制哪个元素被显示,哪个不被显示;
3、CSS不能统计计算元素中的数据;
CSS只适合用于输出比较固定的最终文档。CSS的优点是简洁,消耗系统资源少;而XSLT虽然功能强大,但因为要重新索引XML结构树,所以消耗内存比较多。
2个要合理的搭配

热心网友 时间:2024-07-21 17:54

CSS与XSL简述

我们非常清楚的是在XML中内容与表现形式是分开的。这就使得不同的用户可以根据他们自己的需要来定义数据的表现形式。在一个XML的源文件中并没有关于它表现形式的信息。这一点我们可以从下面例子中看出。

例一:在HTML中的一段代码

<H1>Car Register</H1>

<H2>Make: Saab 9000 </H2>

<H2>Model: 1995</H2>

<H2>Owner:</H2>

<p>Kalle Karlsson

G?tgatan 1

11111 Stockholm

</p>

这是一段典型的HTML代码。在每一个tag(标签)中都含有表现形式的信息,而关于tag之间联系和结构信息却没有了。这事实上约束了HTML的发展。

例二:在XML中的一段代码

<Car Register>

<Car>

<Registration Number>ABC123 </Registration Number>

<Make>Saab 9000</Make>

<Model>1995 </Model>

<Owner>

<Name>Kalle Karlsson </Name>

<Address>G?tgatan 1 </Address>

<Zip code>11111 </Zip code>

<City>Stockholm </City>

</Owner>

</Car>

</Car Register>

在XML文件之中tag中的信息是非常纯的。它没有表现部分。所以说有人称XML为传输知识的语言。

那么XML文件是怎样表现的呢?

XML文件的所有表现信息多发放在了stylesheet(样式表)文件当中。stylesheet文件全权负责XML源文件的表现形式。所以说如果一个XML源文件对应不同的stylesheet文件它就会有不同的表现形式. 有了stylesheet文件我们可以对文件表现型始终的大小,颜色,空白作特定的规定。

在这篇文章中我们要来讨论的CSS(Cascading Style Sheets 层叠样式表)和XSL(XML Style Language 可扩展类型语言)就是两种stylesheet(样式表)语言。大家会想为什么会同时有两种语言。这不是重复了吗?其实它们是互相补充,各有特色的。CSS可以展现HTML 和XML文件,而XSL可以展现XML和Transformation(转型语言)。由此可见它们各有所长。

我们还是来看看例子吧:

例三:一段CSS代码

H1 {

font-size: 12pt;

font-weight: bold;

color: blue;

}

它规定了H1元素的字体大小,种类和颜色。当然CSS能做到的远不只这些。还有比如行距,空白大小等等。

下面我们来看一个CSS结合XML源文件的例子。

例四:一段XML源文件

<?XML:stylesheet type="text/css" href="bach.css"?>

ARTICLE

<HEADLINE>Fredrick the Great meets Bach</HEADLINE>

<AUTHOR>Johann Nikolaus Forke</AUTHOR>

<PARA>

One evening, just as he was getting his

<INSTRUMENT>flute</INSTRUMENT>ready and his

musicians were assembled, an officer brought him a list of

the strangers who had arrived.

</PARA>

</ARTICLE>

例五:一段XSL代码,名为bach.css

INSTRUMENT {display: inline}

ARTICLE, HEADLINE, AUTHOR, PARA {display: block}

HEADLINE {font-size: 1.3em}

AUTHOR {font-style: italic}

ARTICLE, HEADLINE, AUTHOR, PARA {margin: 0.5em}

CSS中头两行规定了INSTRUMENT元素是实体的,而ARTICLE, HEADLINE, AUTHOR, PARA元素是虚体的。第三至第五行规定了HEADLINE元素的字体大小,AUTHOR元素是意大利字体,ARTICLE, HEADLINE, AUTHOR, PARA元素间空白有0.5em宽 在例四第一行,XML文件指明了它的stylesheet文件的类型与位置。这样CSS结合到了XML源文件上。

但CSS与XSL相比,它有着一些不足。CSS适用于那些元素顺序不变的文件。对于那些需要经常按不同元素排序的文件,我们还是要用XSL。

XSL是怎样工作的呢?

XSL处理器把XML源文件通过XSL检验后产生一个HTML表现文件。这样XML源文件就在网络浏览器上有了表现。其实最终的目标并不只是产生HTML文件,而是可以各种各样的文件,比如Txt, Rtf. XML源文件中也有类似例四中的一行,

比如是<?xml-stylesheet type="text/xsl" href="www.book.com/s1.xsl">用以指明了它的stylesheet文件的类型与位置。每一个XSL文件都包含了template rules(匹配模板规则)的集合。template rules包含有两个部分:Patterns和Actions。

Patterns用以指出这个规则适用于那一个元素,Actions指出这个元素以及它的子元素要怎样展现。这样一来XML源文件中的结构树就被转换成了一个flow objects(流程产物)树。

让我们再来看一个例子吧。

例六:一段XSL代码。

<?xml version="1.0">

<HTML xmlns:xsl="http://www.w3.org/TR/WD-xsl">

<BODY STYLE="font-family:Arial, helvetica, sans-serif; font-size:9.5pt;background-color:#FEEEEE">

<xsl:for-each select="portfolio/stock">

<DIV STYLE="background-color:teal; color:white; padding:4px">

<SPAN STYLE="font-weight:bold; color:white">

<xsl:value-of select="name"/></SPAN>

-<xsl:value-of select="price"/>

</DIV>

<DIV STYLE="margin-left:10px; margin-bottom:1em; font-size:9pt">

<xsl:value-of select="description"/>

<SPAN STYLE="font-style:italic">

(change:<xsl:value-of select="change"/>

</SPAN>

</DIV>

</xsl:for-each>

</BODY>

</HTML>

第二行是指明文件中标识的集合,又叫做Namespace(名域)。这可以使得同名标识不会冲突。

值得一体的是,文件中还用到了选择语句(for-each select)在XML树结构中进行选择。

相信大家读它不会遇到什么困难。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果电脑电池充不进电苹果电脑充不进去电是怎么回事 苹果电脑不充电没反应苹果电脑充电指示灯不亮充不了电怎么办 狗狗更加忠诚护家、善解人意,养一只宠物陪伴自己,泰迪能长多大... 描写泰迪狗的外形和特点的句子 国外留学有用吗 花钱出国留学有用吗 !这叫什么号 百万医疗赔付后是否可以续保 前一年理赔过医疗险还能续保吗? 医疗住院险理赔后还能购买吗? 手机号1 24 手机号24小时内绑定了两个被限制 请问什么时候才能重 ... 蓝色德萨斯罗汉鱼好养吗 您的手机号在最近24小时内绑定过三个,已达到限制,...24小时后... 关于xsl格式文件的问题2 一个手机号注册两个,前一个登录不了怎么办? 硬盘的使用时间多久? 请问一个手机号注册了两个,但登不上另一个怎么办啊? 联想乐蒙K3为什么有一些东西安装不了 ...号在最近24小时内绑定过三个,已达到限制,...24小时后可以再次... 一年内怎么改第二次 我因更换手机,原来的微信找不到了,也没,怎么能恢复使用啊?_百度... 改一年内怎么改第二次 不到一年怎么改第二次 我一个手机号注册了两个,另外一个登不上了,怎么办? 一个手机号,注册了两个,如果把新注销掉,旧会回来吗... ...号在最近24小时内绑定过三个,已达到限制,...24小时后可以再次... e2πix是什么函数 一年内怎么改第二次 关于微信绑定上限的问题:你的手机号在最近24小时内已绑定过3个... 我一个手机号注册了两个,另外一个登不上了,怎么办? 一年改2次的办法 您的手机号在最近24小时内绑定过三个,已达到限制,...24小时后... 法雷奥离合器有几种包装 一年内第二次强制修改 请教,sonyRX100M3到最M5,画质区别大吗 建设银行信用卡发短信提升额度说未能处理,什么原因 怎么一年内修改两次怎样才能一年修改两次? 请教,sonyRX100M3到最M5,画质区别大吗 ...号在最近24小时内绑定过三个,已达到限制,...24小时后可以再次... 索尼“rx100”和“m12345”的区别是什么? 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信... 您好。请问SONYRX100、RX10、RX1这三个系列区别和各自优缺点是什么... 用苹果手机怎么做到第二次修改 老赖能办理护照吗现在 一年内怎么改第二次 一年内第二次修改技巧 我手机是联想乐檬k3,为什么安装不了QQ xsl文件怎样转换成像我word的文档 或是怎么显示xsl的... 一年能改几次 微信知道忘记密码,手机号没用了怎么办?