У меня есть несколько файлов XML, которые состоят из атрибута отслеживания изменений <atict:add>
или <atict:del>
.Принять или отклонить отслеживание изменений в XML
Цель:
- , если XML-файл состоит из элемента
CT="ACCEPT"
затем принять/печать все метки с<atict:add>
и игнорировать<atict:del>
- , если XML-файл consits одного элемента
CT="REJECT"
затем принимать/печати все теги с<atict:del>
и игнорировать<atict:accept>
Пример XML:
<?xml version="1.0" encoding="UTF-8"?>
<DM xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:atict="http://www.arbortext.com/namespace/atict" **CT="ACCEPT"**>
<PARA>abcd <atict:del>efghi</atict:del><atict:add>1456790
</atict:add></PARA>
<?xml version="1.0" encoding="UTF-8"?>
<DM xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:atict="http://www.arbortext.com/namespace/atict" **CT="ACCEPT"**>
<PARA>abcd <atict:del>efghi</atict:del><atict:add>1456790
</atict:add></PARA>
Вывод XML после обработки:
<?xml version="1.0" encoding="UTF-8"?>
<DM xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:atict="http://www.arbortext.com/namespace/atict" **CT="ACCEPT"**>
<PARA>abcd <atict:add>1456790
</atict:add></PARA>
<?xml version="1.0" encoding="UTF-8"?>
<DM xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:atict="http://www.arbortext.com/namespace/atict" **CT="ACCEPT"**>
<PARA>abcd <atict:add>1456790
</atict:add></PARA>
Как я могу добавить CT в XSLT с, если условия, чтобы удовлетворить критериям?
Два шаблона совпадения для '' add' и del'. С тестом на ':: ancestor @ CT =" ACCEPT/REJECT "' для дальнейшего согласования. –
Спасибо, Joop, вот так? –
Да, хотя не совсем, я думал о совпадении 'add' not its 'text()' и, конечно, 'test =" :: ancestor [@ CT = 'ACCEPT'] "или такой, _lately не сделано XSLT_ - Кстати, в сети есть хорошие чит-листы на XSLT. –