Xslt применить импорт для конкретного импортированного файла? - PullRequest
2 голосов
/ 11 февраля 2009

Есть ли способ применить импорт для определенного импортируемого файла, а не для всех импортируемых файлов?

По сути, требуется только применить импорт для определенного импорта на основе некоторого оцененного значения.

Например, в псевдо,

Если значение = "Медицинский", то Применить импортируемый файл медицинского назначения применяется к импортам. Если значение = "Транспорт", то Использовать импортированный файл переноса применяется к импортам

Приветствия

Ответы [ 3 ]

1 голос
/ 11 февраля 2009

Для XSLT 1.0 ответ отрицательный . Однако вы можете использовать режимы для имитации подобного поведения .

В XSLT 2.0 имеется атрибут xsl:use-when , который может присутствовать в любой инструкции XSLT, включая <xsl:import>, , однако условия, которые могут быть проверены в нем, строго ограничены . Цитировать спецификацию:

"Нет никаких синтаксических ограничений для выражения XPath, которые могут использоваться в качестве значения атрибута use-when. Однако существуют серьезные ограничения на информацию, представленную в его контексте оценки. Эти ограничения предназначены для обеспечения того, чтобы Выражение может быть оценено на самой ранней стадии обработки таблицы стилей без какой-либо зависимости от информации, содержащейся в самой таблице стилей или в любом исходном документе "

0 голосов
/ 26 февраля 2009

Решено - вместо того, чтобы применить импорт, используйте include и вызывайте шаблон и позволяйте включаемым файлам определять, обрабатывать или нет.

0 голосов
/ 11 февраля 2009

Я думаю, что, возможно, использование mode для применения-импорта поможет вам? Но если вы хотите указать шаблоны из определенного источника, вы можете сделать это, используя режимы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...