1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| <?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:template match="/">
<number>
<xsl:choose>
<xsl:when test="//text()[contains(., 'MC')]">
<xsl:variable name="texte" select="."/>
<xsl:call-template name="MC_number">
<xsl:with-param name="text" select="$texte"/>
</xsl:call-template>
</xsl:when>
</xsl:choose>
</number>
</xsl:template>
<xsl:template name="MC_number">
<xsl:param name="text"/>
<xsl:if test="contains($text, 'MC')">
<xsl:variable name="new_text" select="normalize-space(translate((substring-after($text,'MC')), ': .',''))"/>
<xsl:variable name="num" select="substring($new_text, 1,2)"/>
<xsl:choose>
<xsl:when test="number($num) and string-length($num) =2">
<xsl:value-of select="$num"/>
</xsl:when>
</xsl:choose>
<xsl:call-template name="MC_number">
<xsl:with-param name="text" select="$new_text"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
</xsl:stylesheet> |