我只是想寫一個XSL 1.0代碼(用XSLT轉換XML),它允許我根據低級別屬性給出屬性值。 爲了更清楚些,一個例子可能是有用的:根據屬性獲取較高的XML節點值
<age_list>
<age i="13">
<type j="min"/>
</age>
<age i="22">
<type j="max"/>
<age_list>
</age_list>
所以,我想提取年齡的屬性我,但我需要知道它是否是一個最低或最高年齡的,例如,一些電影被禁止對於18歲以下的孩子,但推薦年齡爲12歲。 所以每部電影都有一個年齡列表,但不是每個年齡列表都包含最小和最大年齡,有時候只有最大值,有時只是最小值,有時甚至是兩者。 如果未給出最小值,那麼它會自動設置爲0,而如果未給出,則最大值設置爲999。 那麼,我怎麼能做到這一點?
我經歷了所有年齡列表進行迭代,並做如下測試:
<xsl:choose>
<xsl:when test="./age/type[@j='MIN']">
<xsl:value-of select="./age/@j" />
</xsl:when>
<xsl:otherwise>
<xsl:text>0</xsl:text>
</xsl:otherwise>
</xsl:choose>
<xsl:choose>
<xsl:when test="./age/type[@j='MAX']">
<xsl:value-of select="./age/@j" />
</xsl:when>
<xsl:otherwise>
<xsl:text>999</xsl:text>
</xsl:otherwise>
</xsl:choose>
但它讓我的最大值和最小值,我指的是目前的年齡,而不是根據屬性這聽起來邏輯相同的值類型j。
謝謝你,先生反覆表達!這很流利!我是XSLT的新手,這就是爲什麼我不知道如何達到特定的節點屬性和值。思維方式與編程java或類似的東西有很大不同。 – BlackACE