Если вы не объедините две таблицы стилей, где вторая принимает результат от первой в качестве входных данных, или если вы не сохраните результат в переменной, например,
<xsl:variable name="temp-result">
<xsl:apply-templates/>
<xsl:variable>
<xsl:if test="$temp-result//phone">
<xsl:copy-of select="$temp-result"/>
</xsl:if>
Я не думаю, что есть выход.Обратите внимание, что описанный выше подход с переменной работает таким же образом с XSLT 2.0, а с 1.0 вам потребуется использовать функцию расширения, например exsl:node-set
в test="exsl:node-set($temp-result)//phone"
.
Третий вариант может существовать в XSLT 2.0 с поддержкой схемы.проверяя результат по схеме, вы можете убедиться, что результат является экземпляром схемы.