我收集了來自不同作者的劇本和詩歌。我的XML看起來是這樣的:具有多個謂詞的XPath
<works>
<editions>
<edition>
<playtitle>Henry IV, Part 1</playtitle>
<playcode>1H4</playcode>
<genre>play</genre>
<metadataBlock>
<meta content="Shakespeare, William" name="Creator"/>
</metadataBlock>
</edition>
</editions>
</works>
我用下面的代碼成功地從所有的戲劇中提取「playcode」:
<xsl:when test="$only = 'plays'">
<xsl:sequence select="/works/editions/edition[genre = 'play']/playcode"/>
</xsl:when>
然而,我無法弄清楚如何提取「戲劇編碼「來自莎士比亞所寫的所有劇本。我曾嘗試多種可能性,如:
<xsl:when test="$only = 'plays'">
<xsl:sequence select="/works/editions/edition[genre = 'play'
and @content='Shakespeare, William'
and @name='Creator']/playcode"/>
</xsl:when>
而且如:
<xsl:when test="$only = 'plays'">
<xsl:sequence select="/works/editions/edition[genre =
'play']/playcode/metadataBlock/meta[@content='Shakespeare, William'
[email protected]='Creator']"/>
</xsl:when>
我在想什麼?
感謝馬丁您的時間,你的建議運作良好。 – mfroese