the function
<func:function name="cms:isNotRichTextEmpty"> <xsl:param name="meta"/> <func:result select="$meta/docbook:article and not(normalize-space($meta/docbook:article/docbook:para) = ' ' and count($meta/docbook:article/*) = 1 and not($meta/docbook:article/*))"/> </func:function>
returns true if meta contains one empy article node
It should be:
<func:function name="cms:isNotRichTextEmpty"> <xsl:param name="meta"/> <func:result select="$meta/docbook:article and $meta/docbook:article/* and not(normalize-space($meta/docbook:article/docbook:para) = ' ' and count($meta/docbook:article/*) = 1 and not($meta/docbook:article/*))"/> </func:function>