Существуют ли какие-либо операторы XSLT, которые будут выполняться с учетом других операторов XSLT в той же таблице стилей?
Например, если у меня есть два оператора копирования, сопоставленные одному и тому же узлу (но требуется только один скопированный узел, содержащий изменения, объявленные в ОБА операторы копирования), существует ли оператор, который будет делать это?
Предположим, что я не могу поместить все преобразования в один узел копирования, а вместо этого должен использовать два или более.
--- Более понятный пример ---
//XML
<toy></toy>
//XSLT
<xsl:template match="toy">
<xsl:copy>
<xsl:attribute name="label">SOME TOY</xsl:attribute>
</xsl:copy>
</xsl:template>
<xsl:template match="toy">
<xsl:copy>
<xsl:apply-templates select="@*" />
<xsl:element name="range">
<xsl:element name="min">200001</xsl:element>
<xsl:element name="max">999999</xsl:element>
</xsl:element>
</xsl:copy>
</xsl:template>
Мой желаемый результат - новый игрушечный узел, который копируется в новый файл, к которому применяются обе вещи, так что-то вроде:
<toy label='SOME TOY'>
<range>
<min>200001</min>
<max>999999</max>
</range>
</toy>
Не две разные копии
Возможно ли это? Есть ли какой-нибудь способ, которым я могу переделать первый шаблон, чтобы получить этот единственный результат?