Intereting Posts
получить хэш в URL с php? Как получить и отобразить самые большие значения из базы данных? PHP Загрузить файл, ограничить максимальную скорость и рассчитать скорость загрузки Поиск символа в определенном положении строки Печать многомерного массива в таблице с использованием For loop как создать вложенный массив и сохранить его в базе данных? Расширение базового класса Codeigniter – 404 Ошибка PHPExcel – Как заменить текст с помощью preg_replace Утвердить несколько условий в одном тесте или разбить на несколько тестов? Проверка языка браузера на PHP? Солить мои хэши с PHP и MySQL Проблема кодирования (UTF-8) в PHP Использование контроллера для обработки возвращаемых настраиваемых файлов css и javascript с помощью codeigniter Что такое подготовленные на стороне клиента заявления? Количество посещений на сегодня, на этой неделе, в прошлом месяце и в целом

Преобразование всех атрибутов узла в дочерние узлы

есть ли способ конвертировать все атрибуты узлов в дочерние узлы с использованием XSLT 1.0 ? Он должен работать безупречно с PHP xsltProcessor . Атрибуты должны быть удалены (если возможно).

Пример ввода:

 <root aaa="111" bbb="222" ccc="333"> <bob ddd="444" /> <data eee="555"> <steve>bar1</steve> <john>bar2</john> <peter fff="666">bar3</peter> </data> <greg ggg="777" /> </root> 

Желаемый результат:

 <root> <aaa>111</aaa> <bbb>222</bbb> <ccc>333</ccc> <bob> <ddd>444</ddd> </bob> <data> <eee>555</eee> <steve>bar1</steve> <john>bar2</john> <peter> <fff>666</fff> bar3 </peter> </data> <greg> <ggg>777</ggg> </greg> </root> 

Спасибо!

Протестировано на Oxygen / XML с использованием Saxon6.5:

 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="xml" indent="yes"/> <xsl:template match="node()"> <xsl:copy> <xsl:apply-templates select="@*|node()"/> </xsl:copy> </xsl:template> <xsl:template match="@*"> <xsl:element name="{name()}"><xsl:value-of select="."/></xsl:element> </xsl:template> </xsl:stylesheet> 

Это основано на использовании шаблона идентификации для узлов элемента и шаблона, который преобразует атрибуты в элементы.