我将以下元素作为更大 XML 的一部分
<MT N="NonEnglishAbstract" V="[DE] Deutsch Abstract text [FR] French Abstract text"/>
我需要对@V
属性中的值进行一些格式化,前提是它包含 [DE]、[FR] 或任何两个表示方括号内的国家/地区代码的大写字母。
如果不存在这样的模式,我需要简单地写出@V
不带任何格式的值。
我可以使用 XSLT 2.0 解决方案
我希望我可以使用 match() 函数,例如
<xsl:choose>
<xsl:when test="matches(@V,'\[([A-Z]{{2}})\]([^\[]+'">
//Do something
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="@V"/>
</xsl:otherwise>
</xsl:choose>