上一篇所用到的程式碼來回顧一下
var innovator = new Innovator();
var queryItem = innovator.newItem("work order","get");
var prs = queryItem.apply();
var report = innovator.getItemByKeyedName("Report","work order Cost");
var style = report.getProperty("xsl_stylesheet");
var html = prs.applyStylesheet(style,"text");
return html;
當我們讀取到prs等於work order內容之後,會包含著多筆work order資料,然後想要把這些數據快速地呈現,而Aras則提供一個較典型的範本用法--XSLT,事前先把XSL標籤建立出來,依照個人需求輸出HTML或XML格式轉換。
來看看XSL語法吧
//for-each迴圈 ,針對AML節點中的Item標籤
<xsl:for-each select="//Item">
//排序原則
<xsl:sort select="name" order="ascending" case-order="upper-first" data-type="text"></xsl:sort>
<tr valign="center">
<td style="font-family:helvetica;font-size:8pt;font-weight:bold;border-left:1px #666666 solid;padding:2px;" class="cellSolidRightBottom" align="left" uniqueID="ms__id90" colspan="" rowspan="" height="" width="">
//value=每筆Item的item_number欄位資料
<xsl:value-of select="item_number"></xsl:value-of>
//if判斷是否輸出
<xsl:if test="item_number='' or not(item_number)">
<xsl:text> </xsl:text>
</xsl:if>
</td>
<td style="font-family:helvetica;font-size:8pt;padding:2px;" class="cellSolidRightBottom" align="left" uniqueID="ms__id91">
<xsl:value-of select="cost"></xsl:value-of>
<xsl:if test="cost='' or not(cost)">
<xsl:text> </xsl:text>
</xsl:if>
</td>
</tr>
</xsl:for-each>
XSL與XML標籤極為類似,不過可以在XSL中寫VB或C#幫助轉換數值,在ARAS的應用通常是輸出報表,或是資料中介拋轉時所使用。