知方可補不足~用xsl來修飾xml

來源:互聯網
上載者:User

標籤:style   blog   http   color   使用   檔案   

概念相關

XSL是可延伸樣式表語言 (XSL)的外語縮寫,是一種用於以可讀格式呈現 XML(標準通用標記語言 (SGML)的子集)資料的語言。

起始於 XSL

全球資訊網聯盟(W3C)開始發展 XSL 的原因是:存在著對於基於 XML 的樣式表語言的需求。

CSS = HTML 樣式表

HTML 使用預先定義的標籤,每個標籤的意義很容易被理解。
HTML 中的 <table> 標籤定義表格 - 並且瀏覽器清楚如何顯示它。
向 HTML 元素添加樣式是很容易的。通過 CSS,很容易告知瀏覽器用特定的字型或顏色顯示一個元素。

XSL = XML 樣式表

XML 不使用預先定義的標籤(我們可以使用任何喜歡的標籤名),並且每個標籤的意義並不都那麼容易被理解。
<table> 標籤意味著一個 HTML 表格,一件傢具,或是別的什麼東西 - 瀏覽器不清楚如何顯示它。
XSL 可描述如何來顯示 XML 文檔!

XSL - 不僅僅是樣式表語言

XSL 包括三部分:

    XSLT - 一種用於轉換 XML 文檔的語言。
    XPath - 一種用於在 XML 文檔中導航的語言。
    XSL-FO - 一種用于格式化 XML 文檔的語言。

XSL-主要關鍵字

<xsl:template> 元素用於構建模板
<xsl:value-of> 元素用於提取某個選定節點的值,並把值添加到轉換的輸出資料流中
<xsl:for-each> 元素可用於選取指定的節點集中的每個 XML 元素
<xsl:sort>如需對結果進行排序,只要簡單地在 XSL 檔案中的 <xsl:for-each> 元素內部添加一個 <xsl:sort> 元素
<xsl:if> 如需放置針對 XML 檔案內容的條件測試,請向 XSL 文檔添加 <xsl:if> 元素。
<xsl:choose> 元素用於結合 <xsl:when> 和 <xsl:otherwise> 來表達多重條件測試。
<xsl:apply-templates> 元素可把一個模板應用於當前的元素或者當前元素的子節點
<xsl:when expression> 相當前於一種判斷,表示當expression成立時執行的代碼
<xsl:otherwise expression> 它與<xsl:when>一起使用,表示當when條件不成立時,執行的代碼

代碼相關xml檔案內容
<?xml version="1.0" encoding="gb2312" ?><?xml-stylesheet type="text/xsl" href="templete.xsl" ?><root>  <food>    <name>雞蛋</name>    <price>$5</price>    <info>很有營養的</info>    <unit>2</unit>  </food>  <food>    <name>煎餅</name>    <price>$4.5</price>    <info>早餐必備</info>    <unit>1</unit>  </food>  <food>    <name>皮蛋粥</name>    <price>$2</price>    <info>我的最愛</info>    <unit>1</unit>  </food></root>
xsl檔案內容
<?xml version="1.0" encoding="gb2312" ?><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">  <xsl:template match="/">    <HTML>      <head>        <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />      </head>      <BODY STYLE="font-family:微軟雅黑; font-size:12pt;background-color:#fff">        <xsl:for-each select="root/food">          <DIV STYLE="background-color:#eeaaaa; color:white; padding:4px">            <SPAN STYLE="font-weight:bold; color:white">              <xsl:value-of select="name"/>            </SPAN>            <em>              <xsl:value-of select="price"/>            </em>          </DIV>          <DIV>            <xsl:value-of select="info"/>            <SPAN STYLE="font-style:italic">              (<xsl:value-of select="count" />份)            </SPAN>          </DIV>        </xsl:for-each>      </BODY>    </HTML>  </xsl:template></xsl:stylesheet>
 程式

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.