我想分析一個SOAPUI項目文件並從文件生成一些文檔。我編寫了一個XSLT來分析項目(我的計劃是使用Msxsl運行預定作業,以自動爲我的煙霧測試生成最新的「文檔」)。Javascript中使用的內聯XSLT語法
問題>> 我的xml文件將包含多個項目,在這些項目中有測試用例列表。理想情況下,我想將這些測試用例包裝在可摺疊的div中,以便整個文檔更具可讀性。目前我的div正在創建,我試圖用Testsuite節點的位置給它一個唯一的名稱。
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:con="http://eviware.com/soapui/config">
<xsl:output method="html" encoding ="utf-8"/>
<xsl:template match="/">
<html>
<head>
<script language="javascript">
function toggleDiv(divid){
if(document.getElementById(divid).style.display == 'none')
{
document.getElementById(divid).style.display = 'block';
}
else
{
document.getElementById(divid).style.display = 'none';
}
}
</script>
<style type="text/css">
body {font-family:Arial,Helvetica; }
h1 {color:black;
font-size:0.975em;
}
h2.ex {color:black;
font-size:0.875em;
}
li.tc {
font-size:0.875em;
}
p.desc {
margin: 2%;
border: 1px dotted black;
font-size:0.775em;
line-height:90%
}
</style>
</head>
<body>
<xsl:apply-templates/>
</body>
</html>
</xsl:template>
<xsl:template match="con:soapui-project">
<h1>
Project Name:<xsl:value-of select="@name"/>
</h1>
<br />
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="con:testSuite">
<hr></hr>
<a href="javascript:;" onmousedown="toggleDiv('<xsl:value-of select="position()"/>');">
<xsl:attribute name="onmousedown"><xsl:value-of select="position()"/></xsl:attribute>
<h2 class="ex">
TestSuite: <xsl:value-of select="@name"/>
</h2>
</a>
<br>
<p class="desc">
Description: <xsl:value-of select="con:description"/>
</p>
</br>
<br />
<div id="mydiv" style="display:none">
<xsl:apply-templates />
</div>
</xsl:template>
<xsl:template match="con:testCase">
<ul>
<li class="tc">
(#<xsl:value-of select="position()-3"/>) Testcase: <xsl:value-of select="@name"/>
</li>
<xsl:if test="con:description=''">
(RICHARD - PLEASE PROVIDE A DESCRIPTION!!)
</xsl:if>
<p class="desc">
Description: <xsl:value-of select="con:description"/>
</p>
</ul>
<xsl:apply-templates />
</xsl:template>
<xsl:template match="*"></xsl:template>
</xsl:stylesheet>
當我嘗試將XSLT語法放入Javascript中時,此錯誤因爲驗證錯誤而失敗。我覺得我很接近,但通常的逃生方法並不適合我。
有人可以提供最後一塊嗎?
乾杯, - 理查德
未成年人,但腳本的語言通常用'type =「text/javascript」'指定。嚴格地說它應該是'application/javascript',但是這不被某些瀏覽器支持。 – Flynn1179 2011-02-28 09:44:09
你的樣式表有一些問題。但驗證是第一個:這個開始標籤'');」>'無效,您必須在屬性值中轉義<<'。你可以使用一個屬性值模板:'' – 2011-02-28 12:44:57
好問題,+1。看到我的答案指出你的代碼有一個明顯的問題,並提供了標準的解決方案。 – 2011-02-28 13:55:36