1
這裏是我使用的代碼:XSLT中是否有任何一種模板「節點的功能」?
<xsl:template match="Row[position() = 1]">
<li style="width: 650px; float: left; list-style: none outside none;">
<ul class="liste1">
<xsl:if test="@Style='NewsCustomTemplate'">
<li>
<div style="width:640px; color:#40494f; font-size:12">
<b style="color:black">
<xsl:value-of select="./@Title"/>
</b>
<xsl:choose>
<xsl:when test="string-length(./@Description)>300">
<xsl:value-of disable-output-escaping="yes" select="substring(./@Description,1,300)"/>...
</xsl:when>
<xsl:otherwise>
<xsl:value-of disable-output-escaping="yes" select="./@Description"/>
</xsl:otherwise>
</xsl:choose>
</div>
<div>
<a class="" href="#" target="" title="">
read more
</a>
</div>
</li>
<xsl:if test="following-sibling::*[1]">
<li>
<div style="width:640px; color:#40494f; font-size:12">
<b style="color:black">
<xsl:value-of select="following-sibling::*[1]/@Title"/>
</b>
<xsl:choose>
<xsl:when test="string-length(following-sibling::*[1]/@Description)>300">
<xsl:value-of disable-output-escaping="yes" select="substring(following-sibling::*[1]/@Description,1,300)"/>...
</xsl:when>
<xsl:otherwise>
<xsl:value-of disable-output-escaping="yes" select="following-sibling::*[1]/@Description"/>
</xsl:otherwise>
</xsl:choose>
</div>
<div>
<a class="" href="#" target="" title="">
read more
</a>
</div>
</li>
</xsl:if>
<xsl:if test="following-sibling::*[2]">
<li>
<div style="width:640px; color:#40494f; font-size:12">
<b style="color:black">
<xsl:value-of select="following-sibling::*[2]/@Title"/>
</b>
<xsl:choose>
<xsl:when test="string-length(following-sibling::*[2]/@Description)>300">
<xsl:value-of disable-output-escaping="yes" select="substring(following-sibling::*[2]/@Description,1,300)"/>...
</xsl:when>
<xsl:otherwise>
<xsl:value-of disable-output-escaping="yes" select="following-sibling::*[2]/@Description"/>
</xsl:otherwise>
</xsl:choose>
</div>
<div>
<a class="" href="#" target="" title="">
read more
</a>
</div>
</li>
</xsl:if>
</xsl:if>
<xsl:if test="@Style='AgendaCustomTemplate'">
</xsl:if>
</ul>
</li>
</xsl:template>
我的代碼的問題是,我幾乎重複使用完全相同的代碼三次:「」
- 一個當前項目
- 一個用於第一兄弟「以下同胞:: * [1]」
- 一個用於第二兄弟「以下同胞:: * [2]」
我想有排序通用模板來執行這部分節點LOCATIONX:
<li>
<div style="width:640px; color:#40494f; font-size:12">
<b style="color:black">
<xsl:value-of select="LOCATIONX/@Title"/>
</b>
<xsl:choose>
<xsl:when test="string-length(LOCATIONX/@Description)>300">
<xsl:value-of disable-output-escaping="yes" select="substring(LOCATIONX/@Description,1,300)"/>...
</xsl:when>
<xsl:otherwise>
<xsl:value-of disable-output-escaping="yes" select="LOCATIONX/@Description"/>
</xsl:otherwise>
</xsl:choose>
</div>
<div>
<a class="" href="#" target="" title="">
read more
</a>
</div>
</li>
有誰知道,如果這樣的事情在XSLT是可能的嗎?或者我必須保持我的代碼重複?
非常感謝你,我的代碼是乾淨多了現在! – Holden