XSL применяются для каждого для всех, кроме одного - PullRequest
1 голос
/ 29 июля 2011

В настоящее время я работаю над таблицей стилей XSL для преобразования вспомогательного средства поиска в html. Следующая строка выбирает любой экземпляр тега head и перечисляет его в моем оглавлении.

<xsl:for-each select="c01 | *[head]">

Скажи, что есть ОДНА голова, которую я бы не хотел выбирать. Это возможно?

Спасибо!

Ответы [ 2 ]

2 голосов
/ 30 июля 2011

По комментариям:

Есть один элемент с тегом head, на который я бы не хотел повлиять. Поэтому, хотя admininfo/head может появиться, я бы не хотел controlaccess/head.

Это вопрос XPath. Использование:

"*[head and not(self::controlaccess)]"

Этот XPath выберет все элементы в контексте , за исключением controlaccess и , имеющих по крайней мере head дочерний тег .

Ваш окончательный для каждого, но ОДИН :

<xsl:for-each select="c01 | *[head and not(self::controlaccess)]">
0 голосов
/ 29 июля 2011

Почему бы просто не обернуть внутреннюю часть цикла for-each в xsl:if, чтобы тело цикла применялось только в том случае, если текущая глава не та, которую вы хотите пропустить.

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