我有一個XML文件,它具有許多類似命名的節點,但某些節點中的屬性是唯一的。我只想輸出到HTML頁面中的屬於某個屬性值的節點。xslt 1.0 - 嘗試獲取特定值的節點
這裏是XML:
<document>
<component>
<section>
<templateId value="temp_1" />
<entry>
<act>
<code displayName="temp_1:code_1" />
</act>
</entry>
<entry>
<act>
<code displayName="temp_1:code_2" />
</act>
</entry>
<entry>
<act>
<code displayName="temp_1:code_3" />
</act>
</entry>
</section>
<section>
<templateId value="temp_2" />
<entry>
<act>
<code displayName="temp_2:code_1" />
</act>
</entry>
<entry>
<act>
<code displayName="temp_2:code_2" />
</act>
</entry>
</section>
</component>
</document>
從這個具體的例子,我想只能從有temp_2的templateId值的部分DisplayName值。這是我正在使用的XSL代碼,但它獲取了所有內容,而不僅僅是我想要的部分。我知道第一個「何時」正在工作,因爲正確的標題(跨度標記之間)正常顯示。這只是爲了每個參賽作品。
<xsl:tempalte match="/">
<xsl:choose>
<xsl:when test="//templateId/@value='temp_2'">
<div style="margin-bottom: 5px; padding: 5px; border-bottom: 1px solid #000000;">
<span style="font-weight: bold;">Template 2: </span>
<br />
<xsl:choose>
<xsl:when test="count(//section/entry) != 0">
<xsl:for-each select="//section/entry">
<xsl:choose>
<xsl:when test="position() = 1">
<xsl:value-of select="act/code/@displayName" />
</xsl:when>
<xsl:otherwise>
<br/>
<xsl:value-of select="act/code/@displayName" />
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</xsl:when>
<xsl:otherwise>
No codes to display
</xsl:otherwise>
</xsl:choose>
</div>
</xsl:when>
</xsl:choose>
</xsl:template>
它應該顯示像這樣:
temp_2:code_1
<br>temp_2:code_2
任何幫助將不勝感激。
這將有助於查看您期望收到的輸出。 – ABach
@ABach - 增加什麼輸出應該是 – jjasper0729