Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > XML, XSL > XSLT преобразование


Автор: xmlPupil 29.12.2010, 16:58
Есть такой xml файл. Нужно его отформатировать таким образом, чтобы все элементы <block> у которых в элементе <area> атрибут street одинаковый объединялись в новый общий блок и у этого блока добавлялся атрибут name со значением общей улицы. 
Код

<source>
<block>
   <market name="Market1" number="15"/>
   <time open="10:00" close="23:00"/>
   <area street="15th St"/>
</block>
<block>
   <market name="Market2" number="36"/>
   <time open="10:00" close="22:00"/>
   <area street="7th St"/>
</block>
<block>
   <market name="Market3" number="11"/>
   <time open="9:00" close="22:00"/>
   <area street="7th St"/>
</block>
<block>
   <market name="Market4" number="28"/>
   <time open="9:00" close="23:00"/>
   <area street="24th St"/>
</block>
<block>
   .....
</block>
</source>


То есть должно получиться что-то типа этого:
Код

<source>
   <top-block name="7th St">
      <block>
         <market name="Market2" number="36"/>
         <time open="10:00" close="22:00"/>
         <area street="7th St"/>
      </block>
      <block>
         <market name="Market3" number="11"/>
         <time open="9:00" close="22:00"/>
         <area street="7th St"/>
      </block>
   </top-block>
   <top-block name="15th St">
      <block>
         ............
      </block>
      <block>
         ............
      </block>
   </top-block>
</source>


Объясните пожалуйста как это реализовать.

Автор: diadiavova 16.1.2011, 21:02
http://erum.ru/article/19

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)