Не знаете, почему на этот вопрос не был дан ответ; вам может показаться более эффективным задавать саксонские вопросы в справочной системе Саксона (доступной через проект на Sourceforge).
Как правило, в эти дни я советую людям использовать недавнюю саксонскую версию (9.4) даже для обработки кода XSLT 1.0, предпочитая использовать старый процессор Saxon 6.5. Да, это дает предупреждение - к сожалению, спецификация XSLT 2.0 требует предупреждения - но вы должны делать что-то довольно странное, чтобы поразить любые проблемы совместимости. Если вам не нравится предупреждение, вы можете его подавить с помощью -versionmsg: off.
Но если вы хотите выбрать другой XSLT-процессор на основе атрибута версии в таблице стилей, вам просто нужно закодировать эту логику в своем скрипте. Это достаточно легко, если ваш скрипт написан на XML-ориентированном языке, таком как XProc или xmlsh, это немного сложнее, если вы используете универсальный сценарий оболочки.
Мое мнение было, предупреждения существуют по какой-либо причине (по крайней мере, на C). Интерпретация таблицы стилей XSLT 1.0 как 2.0 и просто подавление предупреждающих звуков потенциально опасно. Если спецификация требует предупреждения, должно быть что-то, что пойдет не так (например, несовместимости). Я вижу, что вы участвуете в саксоне, поэтому я удивляюсь, почему вы не можете просто включить оба процессора (для 1.0 и 2.0) в один инструмент и решить, какой из них запускать * после * вы выяснили версию xstl введенного вами ввода? – bitmask