我有以下xslt:
<xsl:template match="DataObject[not(ends-with(@FileRef, '.cif'))]" mode="compound_links">
<xsl:variable name="link" select="./@FileRef"/>
<xsl:text> | </xsl:text><a data-test="compound-data-file-link">
<xsl:attribute name="href" select="func:imgUrl('original', $link)"/>
<xsl:apply-templates select="ancestor::DefinitionListEntry/Term" mode="markup"/></a>
</xsl:template>
我需要扩展匹配条件,以便它不会选择.cif文件或.fcf文件。目前它只排除.cif文件。
答案 0 :(得分:1)
尝试此模板匹配....
<xsl:template match="DataObject[not(ends-with(@FileRef, '.cif') or ends-with(@FileRef, '.fcf'))]" mode="compound_links">
或者,因为您必须使用XSLT 2.0才能使ends-with
正常工作,所以您可以使用正则表达式,matches
<xsl:template match="DataObject[not(matches(@FileRef, '.*\.(cif|fcf)'))]" mode="compound_links">