我想创建几个 xsl:variable ,它们可能为空,也可能不为空,然后加入它们:
<xsl:variable name="creatorType" select="replace(lib:merge(subfields/subfield[matches(@code,'[e]')],' '),'author|[.$]','')" />
<xsl:variable name="creatorAttribution" select="replace(lib:merge(subfields/subfield[matches(@code,'[j]')],' '),'[,-.]$','')" />
<xsl:variable name="creatorNameFullForm" select="replace(lib:merge(subfields/subfield[matches(@code,'[q]')],' '),'[,-()]$','')" />
<xsl:variable name="creatorAffiliation" select="replace(lib:merge(subfields/subfield[matches(@code,'[u]')],' '),'[,-.]$','')" />
string-join((xsl:sequence), 'delimiter') 似乎很合适,但也可以连接具有空值的变量。
<xsl:variable name="creatorDescriptors" select ="string-join(($creatorDates, $creatorType, $creatorAttribution, $creatorAffiliation),', ')"/>
您如何让它仅字符串连接非空 xsl:variables?
我目前得到这样的东西:
Mozart, Wolfgang Amadeus (1756–1791, Composer, , )