いいえ、属性に基づいて例外を設定することはできません!
しかし!!別の解決策を主張する場合は、属性を持たない<![CDATA[
要素に挿入することをお勧めします..以下の例を参照してください。my:request
name
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:my="http://www.w3.org/2001/something">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="my:request[not(@name)]">
<xsl:copy>
<xsl:apply-templates select="@*"/>
<!--Insert CDATA-->
<xsl:value-of select="'<![CDATA['" disable-output-escaping="yes"/>
<xsl:apply-templates select="node()"/>
<xsl:value-of select="']]>'" disable-output-escaping="yes"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
入力 XML:
<?xml version="1.0" encoding="utf-8"?>
<my:root xmlns:my="http://www.w3.org/2001/something">
<my:request other="something">data</my:request>
<my:request name="test">data</my:request>
</my:root>
出力 XML:
<?xml version="1.0" encoding="utf-8"?>
<my:root xmlns:my="http://www.w3.org/2001/something">
<my:request other="something"><![CDATA[data]]></my:request>
<my:request name="test">data</my:request>
</my:root>