可以說我有下面的XML文件內容:XSLT位置() - exlude失敗的測試條件
<jobs>
<job>
<PositionTitle>Painter</PositionTitle>
<InternalOrExternal>External</InternalOrExternal>
</job>
<job>
<PositionTitle>Plumber</PositionTitle>
<InternalOrExternal>Internal</InternalOrExternal>
</job>
<job>
<PositionTitle>Chemist</PositionTitle>
<InternalOrExternal>Internal</InternalOrExternal>
</job>
<job>
<PositionTitle>Teacher</PositionTitle>
<InternalOrExternal>External</InternalOrExternal>
</job>
</jobs>
。
我處理它與下面的XSLT只顯示外部工作:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:content="http://purl.org/rss/1.0/modules/content/" >
<xsl:output method="html"/>
<xsl:template match="/">
<xsl:for-each select="jobs/job">
<xsl:if test="InternalOrExternal = 'External'"><!-- Only show external jobs -->
<xsl:value-of select="PositionTitle"/> - <xsl:value-of select="position()"/><br />
</xsl:if>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
這個結果:
Painter - 1
Teacher - 4
我假設的位置()函數返回的XML的實際位置文件並且不考慮可能排除某些作業的任何if語句。在這種情況下,內部工作被排除在外,但他們的職位仍被計算在內。
結果,我想要的是:
Painter - 1
Teacher - 2
是他們的任何方法可以讓我得到這個職位()函數只算什麼,我展示?
我已經試過這沒有運氣:
<xsl:value-of select="position(jobs/job[InternalOrExternal='External'])"/>
感謝伊恩,可以完美運行:) – Scott