Ваш скрипт пропускает только такие пустые атрибуты , а не весь элемент содержит.
Если вы хотите пропустить весь элемент хотя бы с одним пустым атрибутом,используйте пустой шаблон, соответствующий таким элементам:
<xsl:template match="*[@* = '']"/>
и обычный шаблон идентификации .
Чтобы пропустить пустые строки, оставленные в местах этих "удаленныхэлементы, вы можете добавить <xsl:strip-space elements="*"/>
в ваш скрипт.