Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
527 20.07.2003 17:50 / 20.07.2003 17:53
возникла необходимость сделать независимое от самого xml трансформирование. А именно например из<?xml version="1.0"?> <booklist> <item id="005"> <category>scripting</category> <release_date>1998-04-21</release_date> <title>instant javascript</title> <price>$49.34</price> </item> <item id="407"> <category attr="some atr">asp</category> <release_date>1998-05-10</release_date> <title>instant active server pages</title> <price>$23.45</price> </item> <item id="059"> <category>html</category> <release_date>1998-03-07</release_date> <title>instant html</title> <price>$34.23</price> </item> </booklist>получить в зависимости от id определенный item
<item id="059"> <category>html</category> <release_date>1998-03-07</release_date> <title>instant html</title> <price>$34.23</price> </item>Причем про саму структуру дерева item мы ничего не знаем(и знать нам не надо), её нужно просто скопировать.
<?xml version="1.0"?> <xsl:stylesheet xsl:version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml"/> <xsl:template match="@*|node()"> <xsl:copy> <xsl:apply-templates/> </xsl:copy> </xsl:template> </xsl:stylesheet>РЕЗУЛЬТАТ:
<booklist> <item> <category>scripting</category> <release_date>1998-04-21</release_date> <title>instant javascript</title> <price>$49.34</price> </item> <item> <category>asp</category> <release_date>1998-05-10</release_date> <title>instant active server pages</title> <price>$23.45</price> </item> <item> <category>html</category> <release_date>1998-03-07</release_date> <title>instant html</title> <price>$34.23</price> </item> </booklist>Я тут подумал может через DOM как-нить сделать, но чето не сильно его пока освоил. Может кто разбирается в реализации DOM в parser'е.