Я обрабатываю несколько xml-файлов одним файлом xsl, некоторые файлы нужно обрабатывать по-разному, даже если они имеют одинаковую структуру. Поскольку количество файлов велико, а части, которые нужно обрабатывать по-разному, - это всего лишь несколько узлов, остальное одно и то же, я хочу сохранить одну таблицу стилей xsl. Я устанавливаю параметр externally, который сообщает, какой тип файла обрабатывается; с этой информацией, как мне сделать <template match.../>
на одном и том же узле по-разному для разных файлов?Согласование шаблона XSLT в зависимости от значения переменной
EDIT: У меня было что-то вроде этого в виду, я знаю, что это не возможно, чтобы иметь шаблон матч внутри, если
<xsl:param name="type" /> <!-- this is set externally -->
<xsl:if test="$type = 'XYZ'">
<xsl:template match="a/b">
....
</xsl:if>
<xsl:if test="$type = 'MNO'">
<xsl:template match="a/b">
....
</xsl:if>
@JohnLBevan I» m using парсер саксона, я могу установить значение параметра externally – Rnet
@JohnLBevan Это просто неправильно. Вы можете предоставить внешние параметры и открыть дополнительные XML-документы в любое время. –