使用eval元素

來源:互聯網
上載者:User

XSL支援在檔案中插入script元素,從而允許程式開發人員運用既有的功能;而且,它的用法也非常簡單,只是在調用時需要xsl:eval元素的輔助.

使用eval有以下兩點用法:

1.在XSL中使用script
在XSL中,可以建立一個xsl:script元素,並在元素插入入script指令碼.同時,可以通過xsl:script元素的屬性language來指定指令碼語言,不指定預設為javascript.

下面的xsl檔案利用javascript實現顯示一個隨機數的功能:


<xsl:script language="javascript">
function GetNumber()
{
    var number;
    number=Math.round(Math.random()*9);
    return number;
}
</xsl:script>

<span>
<xsl:eval language="javascript">GetNumber();</xsl:eval>
</span>

2.使用XSL運行時方法
可以在xsl:eval中使用運行時方法.

absoluteChildNumber(node)    返回節點在所有兄弟節點中的位置,從1開始

ancestorChildNumber(nodeName,node)    返回最接近node祖先節點的子節點nodeName的位置

childNumber(node)    返回節點在具有相同名稱的節點中的位置,如果沒有節點和該節點具有相同的名稱,則返回位置1

depth(startNode)    返回節點在樹狀結構中的深度

formatDate(date,format,locale)    使用特定的格式來顯示日期
<!-- 日期格式 --
m - 月份(1-12)
mm - 月份(01-12)
mmm - 月份(Jan-Dec)
mmmm - 月份(January-December)
mmmmm - 月份(取第一個字母)
d - 日期(1-31)
dd - 日期(01-31)
ddd - 星期日期(Sunday-Saturday)
yy - 年份(00-99)
yyyy - 年份(1900-9999)
-- 預設的順序是月-日-年 --
-->

formatIndex(number,format)    使用特定的格式顯示提供的索引
<!-- 下面是索引的格式 --
1 - 標準的數值系統
01 - 首碼為0的數值系統
A - 大寫字母順序A到Z,然後從AA到ZZ
a - 小寫字母順序A到Z,然後從aa到zz
I - 大寫羅馬數字,I,II..
i - 小寫羅馬數字
-->

formatNumber(number,format)    使用特定的格式顯示提供的數值
<!-- 下面是顯示格式 --
# - 只顯示有效數字,並將無效數字省略
0 - 如果數值的數字數目比格式的數字數目少,就顯示無意義的0
? - 為小數點的兩側加上無意義的0,好讓使用固定大小的字形時,數字能夠排成一列
. - 指定小數點的位置
, - 用作千分隔字元或乘上1000將數字放大
% - 以百分比型式顯示數值
E或e - 以特定格式顯示數值
E-或e- - 將指數變成負號來放置負值符號
E+或e+ - 將指數變成負號來放置負值符號,並將指數變成正號來放置正值符號
-->

formatTime(time,format,locale)    使用特定的格式顯示提供的時間
<!-- 顯示時間的格式 --
h - 時(0-23)
hh - 時(00-23)
m - 分(0-59)
mm - 分(00-59)
s - 秒(0-59)
ss - 秒(00-59)
AM/PM - 加入AM或PM並以12時間制顯示
am/pm - 加入am或pm並以12時間制顯示
A/P - 加入A或P並以12時間制顯示
a/p - 加入a或p並以12時間制顯示
[h]:mm - 利用小時來顯示過去的時間
[mm]:ss - 利用分鐘來顯示過去的時間
[ss] - 利用秒來顯示過去的時間
ss.00 - 顯示秒的數值,場所將決定正確的分隔字元
-->

uniqueID(node)    返回節點的唯一ID

上面這些函數可以直接在xsl:eval中使用,調用任何數值來進行計算和顯示.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.