Я хочу скопировать элемент, но добавить к нему новый атрибут (@inTheList), значение которого определяет атрибуты, имя которых указано в данном списке.Определите, какие имена атрибутов элемента соответствуют списку. Поместите результат в новый атрибут
Вход:
<element head="this" body="that" foot="the other">
и список [ "рука", "нос", "тело", "голова"] как-то представлены.
Выход:
<element head="this" body="that" foot="the other" inTheList="head body">
Там, наверное, умный XSLT-иш способ сделать это, но сейчас я не могу даже думать о грубой силы пути.
Это хорошо, но мне интересно, будет ли оно медленным, если $ names имеет десятки или сотни предметов. $ названия [. = current()/@ */name()] сканирует весь список, даже если нет необходимости проверять, правильно? – JPM
Он отлично работал. Нет проблем с производительностью. Спасибо, сэр! – JPM
Ну, это действительно создает проблему с производительностью, увеличивая время обработки до 2,5x. – JPM