The metadata DC.subject is multiple then it should be managed like this :
<meta name="DC.subject"> <xsl:attribute name="content"> <xsl:choose> <xsl:when test="/cms/page/pageContents/zone[@name = 'default']/zoneItem/html/head/meta[@name = 'DC.subject']"> <xsl:for-each select="/cms/page/pageContents/zone[@name = 'default']/zoneItem/html/head/meta[@name = 'DC.subject']"> <xsl:value-of select="@content"/><xsl:if test="not(position()=last())"><xsl:text>, </xsl:text></xsl:if> </xsl:for-each> </xsl:when> <xsl:otherwise><xsl:text>Ametys V3, Cms Open source, Cms Java, Java, JCR, JackRabbit, Cocoon, extJS</xsl:text></xsl:otherwise> </xsl:choose> </xsl:attribute> </meta> <!-- Copy Dublin Core metadata. --> <xsl:copy-of select="/cms/page/pageContents/zone[@name = 'default']/zoneItem/html/head/meta[starts-with(@name, 'DC.') and not(@name='DC.subject')]"/>