Фильтр XSLT Список узлов, другой список узлов и цикл - PullRequest
0 голосов
/ 21 января 2019

У меня есть переменная $ all, содержащая список узлов (сложные узлы, включая многоуровневые подузлы).У меня есть вторая переменная $ отфильтрованная, содержащая отфильтрованные узлы из $ all.

узлы $ отфильтрованного должны быть скопированы без изменений.остальные узлы должны быть изменены.

Обе переменные работают, и с ними все в порядке.

Теперь я хотел бы перейти к for-each для всех узлов из $ all, не содержащихсяв $ Filter.

Конечно, я мог бы переписать выражение-фильтра для $ Filter в отрицательном стиле, но я не хотел этого делать и хотел предотвратить это.Я не хотел использовать какой-либо атрибут или элемент для его обработки, потому что выражение фильтра может измениться, и некоторые условия генерируются.Я должен отфильтровывать узлы из $ all по всем целым узлам $ фильтруется, включая все подузлы, атрибуты и элементы (например, отпечаток пальца).

Я не получаю это на работу.

Iпробовал для каждого выбора [....]

<xsl:for-each select="...">

    $all != $filtered
    $all/node() != $filtered/node()
    $all[node() != $filtered/node()]
    $all[not($filtered)]
    ... and some other

Может ли кто-нибудь указать мне на ошибку.

Это должно быть как-то возможно, но я думаю, я просто не вижу лесаза деревья.

Спасибо

1 Ответ

0 голосов
/ 21 января 2019

Если вы используете XSLT 2.0, вы должны быть в состоянии ...

 <xsl:for-each select="$all except $filtered">
...