Так посчитать их же
XML
<root>
<foo>
<bar>
<baz>asdf</baz>
<text>text1</text>
</bar>
</foo>
<foo>
<bar>
<text>text2</text>
</bar>
</foo>
<foo>
<bar>
<baz>3</baz>
<text>text3</text>
</bar>
</foo>
</root>
XSLt
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/root">
<xsl:apply-templates select="foo"/>
</xsl:template>
<xsl:template match="foo">
<h1 style="color:red;">
<xsl:attribute name="style">
<xsl:choose>
<xsl:when test="count(bar/baz) > 0">
<xsl:text>color: red;</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>color: green;</xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<xsl:apply-templates select="bar/text"/>
</h1>
</xsl:template>
</xsl:stylesheet>
Result
<h1 style="color: red;">text1</h1>
<h1 style="color: green;">text2</h1>
<h1 style="color: red;">text3</h1>