乱一色一一区二区三区-露脸国产精品自产在线播-陆贞传奇第58集在线观看-鲁一鲁噜噜噜-鲁大师成人精品视频-噜噜在线

CSS與XSL簡述

日期:2012/2/18 / 人氣:

    我們非常清楚的是在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" ?>

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" >用以指明了它的stylesheet文件的類型與位置。每一個XSL文件都包含了template rules(匹配模板規則)的集合。template rules包含有兩個部分:Patterns和Actions。

      Patterns用以指出這個規則適用于那一個元素,Actions指出這個元素以及它的子元素要怎樣展現。這樣一來XML源文件中的結構樹就被轉換成了一個flow objects(流程產物)樹。

讓我們再來看一個例子吧。

例六:一段XSL代碼。

<?xml version="1.0">

<HTML xmlns: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樹結構中進行選擇。

相信大家讀它不會遇到什么困難。

作者:朋友圈科技


Go To Top 回頂部
主站蜘蛛池模板: 日本三级免费看 | 魔兽官方小说 | 亚洲国产成人99精品激情在线 | 欧美坐爱 | 久久精品国产在热亚洲 | 婷婷丁香色综合狠狠色 | 国产成人愉拍免费视频 | 黑人干亚洲人 | 欧美午夜网站 | 12-14娇小videos| 床戏小说| 亚洲一区二区成人 | 亚洲国产剧情中文视频在线 | 男人和女人日 | 91国语精品自产拍在线观看一 | 无遮掩60分钟从头啪到尾 | 精品久久久久久无码人妻国产馆 | 国产美女亚洲精品久久久综合91 | 午夜dj影院在线视频观看完整 | 日韩精品免费一级视频 | 精品精品久久宅男的天堂 | 国产乱码一卡二卡3卡四卡 国产乱插 | 青草悠悠视频在线观看 | 91综合在线视频 | 高清在线一区二区 | 亚洲欧美另类综合 | 国产在线看片网站 | 午夜AV内射一区二区三区红桃视 | 雪恋电影完整版免费观看 | 久久久精品成人免费看 | 亚洲精品成人AV在线观看爽翻 | 996热视频| 麻豆视频免费在线播放 | 亚洲天堂中文 | 清纯唯美 亚洲 | 日韩亚洲人成在线综合 | 美女沟厕撒尿全过程高清图片 | 日本中文字幕永久在线 | 国产毛片在线观看 | 国产99re在线观看69热 | 亚洲天堂视频在线免费观看 |