gpt4 book ai didi

javascript - 关于 xslt 和 javascript 的查询

转载 作者:行者123 更新时间:2023-11-28 02:42:33 25 4
gpt4 key购买 nike

我在xslt中编写了代码将xml文件转换为html文件。该 html 文件包含表格(大约 10 个表格),现在

我的要求是我需要显示“action”、“trace”、“verification”等词在表格中出现的次数。我设法用 jquery 做到了

jsfiddle查看我作品的链接是:http://jsfiddle.net/trinathguptha89/s3Ppq/1/

我需要知道有什么办法可以单独使用 xslt 或 javascript 来做到这一点

我的 xslt 代码是:

 <?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="Report/Scripts">
<html>
<head>
<title>Mobiuss.rtp Test Execution Results</title>
<script type="text/javascript" src="jquery.js"></script>
<style>
.sortable {table-layout: fixed; width:100%; height:25px; border:1px solid #ccc; background-color:#8B7D7B}
.sortable th {padding:4px 6px 6px; background:#444; color:#fff; text-align:center; color:#ccc}
.sortable td {padding:2px 4px 4px; background:#fff; border-bottom:1px solid #ccc;}
.sortable tr {text-overflow:scroll}
.sortable tr:hover {color:#FFB90F}
</style>
</head>
<body>
<xsl:for-each select="Script">
<h1><xsl:value-of select="@File"/></h1>
Execution log
<br>
</br>
<div></div>
<table class="sortable">
<tr>
<th>Time</th>
<th>Position</th>
<th>Type</th>
<th>Message</th>
</tr>
<xsl:for-each select="Message">
<tr>
<td> <xsl:value-of select="@Time"/></td>
<td>Line <xsl:value-of select="@Line"/></td>
<td> <xsl:value-of select="@Type"/></td>
<td> <xsl:value-of select="@Message"/></td>
</tr>
</xsl:for-each>
</table>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>

由上述代码形成的表格可以在我上面给出的 jsfiddle 链接中看到

我的 xml 文件位于此处

 <?xml version="1.0" encoding="utf-8"?>
<Report App="RIATest" Version="4.7" Project="D:\Projects\Automation\RIATest\Nomura\Nomura.rtp">
<Startup>
<Message Time="2012-08-30 15:32:38.578" Type="Info" Message="Launching iexplore.exe &quot;http://mobiuss-dev.operasolutions.com:8080/nomura-test/&quot;"/>
<Message Time="2012-08-30 15:32:38.625" Type="Info" Message="Application launched (process id=4108)."/>
<Message Time="2012-08-30 15:32:38.625" Type="Info" Message="Waiting for connection from agent..."/>
<Message Time="2012-08-30 15:32:46.453" Type="Info" Message="Agent connection accepted. Application id=nomura-ui, index=0"/>
</Startup>
<Scripts>
<Script File="Login.rts" Time="2012-08-30 15:32:46.468">
<Message Time="2012-08-30 15:32:46.531" Type="Verification" Line="8" Col="58" Message="Verification passed: SparkApplication(&quot;nomura-ui&quot;)=&gt;visible is equal to true"/>
<Message Time="2012-08-30 15:32:46.578" Type="Verification" Line="10" Col="50" Message="Verification passed: FlexForm(&quot;loginForm&quot;)=&gt;visible is equal to true"/>
<Message Time="2012-08-30 15:32:46.625" Type="Verification" Line="12" Col="65" Message="Verification passed: FlexLabel(&quot;Username::Username:&quot;)=&gt;text is equal to &quot;Username:&quot;"/>
<Message Time="2012-08-30 15:32:46.656" Type="Verification" Line="14" Col="65" Message="Verification passed: FlexLabel(&quot;Password::Password:&quot;)=&gt;text is equal to &quot;Password:&quot;"/>
<Message Time="2012-08-30 15:32:46.671" Type="Verification" Line="17" Col="39" Message="Verification passed: comp=&gt;label is equal to &quot;Log In&quot;"/>
<Message Time="2012-08-30 15:32:46.703" Type="Verification" Line="18" Col="35" Message="Verification passed: comp=&gt;enabled is equal to true"/>
<Message Time="2012-08-30 15:32:46.718" Type="Verification" Line="19" Col="35" Message="Verification passed: comp=&gt;visible is equal to true"/>
<Message Time="2012-08-30 15:32:46.734" Type="Verification" Line="22" Col="35" Message="Verification passed: comp=&gt;enabled is equal to true"/>
<Message Time="2012-08-30 15:32:46.750" Type="Verification" Line="23" Col="54" Message="Verification passed: comp=&gt;label is equal to &quot;Forgot your password?&quot;"/>
<Message Time="2012-08-30 15:32:46.765" Type="Verification" Line="24" Col="36" Message="Verification passed: comp=&gt;selected is equal to false"/>
<Message Time="2012-08-30 15:32:46.781" Type="Verification" Line="25" Col="35" Message="Verification passed: comp=&gt;visible is equal to true"/>
<Message Time="2012-08-30 15:32:46.796" Type="Verification" Line="28" Col="61" Message="Verification passed: comp=&gt;text is equal to &quot;CORPORATE BOND SPREAD SIGNAL&quot;"/>
<Message Time="2012-08-30 15:32:46.812" Type="Verification" Line="29" Col="35" Message="Verification passed: comp=&gt;visible is equal to true"/>
<Message Time="2012-08-30 15:32:46.906" Type="Action" Line="32" Col="64" Message="SparkTextInput(&quot;Username::userName&quot;)=&gt;textSelectionChange(0,0)"/>
<Message Time="2012-08-30 15:32:47.000" Type="Action" Line="33" Col="63" Message="SparkTextInput(&quot;Username::userName&quot;)=&gt;textInput(&quot;arun.sekar&quot;)"/>
<Message Time="2012-08-30 15:32:47.031" Type="Action" Line="35" Col="61" Message="SparkTextInput(&quot;Password::password&quot;)=&gt;textInput(&quot;opera100&quot;)"/>
<Message Time="2012-08-30 15:32:47.093" Type="Action" Line="36" Col="32" Message="SparkButton(&quot;Log In&quot;)=&gt;click()"/>
</Script>
</Scripts>
<Results>
<Summary scripts="2" time="8.515" errors="2"/>
<Script name="Login.rts" time="0.625" errors="0"/>
<Script name="NOM_0002.rts" time="50.000" errors="2" message="Verification failed: comp=&gt;selected is not equal to expected value true, it is actually equal to false"/>
</Results>
</Report>

最佳答案

您可以在 xslt 中轻松完成此操作

所有操作类型的示例:

<xsl:value-of select="count(Script/Message[@Type='Action'])"/>

每个表的示例:

<xsl:for-each select="Script">
Table - <xsl:value-of select="position()"/>
<xsl:value-of select="count(Message[@Type='Action'])"/>
</xsl:for-each>

对于行颜色,您可以使用:

<xsl:variable name="Colour">
<xsl:choose>
<xsl:when test="contains(@message,'Verification failed:')">background-color:red;</xsl:when>
<xsl:when test="contains(@message,'Verification passed:')">background-color:green</xsl:when>
<xsl:otherwise> </xsl:otherwise>
</xsl:choose>
</xsl:variable>

<tr style="{$Colour}">
<td> <xsl:value-of select="@Time"/></td>
<td>Line <xsl:value-of select="@Line"/></td>
<td> <xsl:value-of select="@Type"/></td>
<td> <xsl:value-of select="@Message"/></td>
</tr>

关于javascript - 关于 xslt 和 javascript 的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12455630/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com