Использование :
<xsl:template match="/">
<xsl:apply-templates select="/*/*[1]"/>
</xsl:template>
<xsl:template match="fix-inbound">
<!-- Perform whatever processing is necessary -->
</xsl:template>
<xsl:template match="fix-outbound">
<!-- Perform whatever processing is necessary -->
</xsl:template>
Объяснение :
Инструкция <xsl:apply-templates select="/*/*[1]"/>
вызывает любой шаблон, который наилучшим образом соответствует первому дочернему элементуверхний элемент, который будет выбран для выполнения и применен.
Если документ первого типа, применяется шаблон, соответствующий fix-inbound
.
Если документ второго типа,применяется сопоставление с шаблоном fix-outbound
.
Примечание: В этом решении условные инструкции вообще не используются - в XSLT они редко необходимы, и если присутствуют условные инструкции, этосигнал о том, что какой-то рефакторинг может быть уместным.