Модераторы: diadiavova
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Нумерация с помощью xsl, помогите, пожалуйста 
:(
    Опции темы
Стремянка
Дата 31.3.2006, 11:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 31.3.2006

Репутация: нет
Всего: нет



Возникла следующая проблема:
допустим есть xml

Код

<AAA > 
          <BBB> 
               <CCC>c11 </CCC> 
               <CCC>c12 </CCC> 
               <CCC>c13 </CCC> 
           </BBB> 
          <BBB> 
               <CCC>c21 </CCC> 
               <CCC>c22 </CCC> 
               <CCC>c23 </CCC> 
           </BBB> 
      </AAA>


нужно пронумеровать элементы CCC, но так чтобы было не
Код

с11 - 1
с12 - 2
с13 - 3
с21 - 1
с22 - 2
с23 - 3

как это делает <xsl:number value="position()"/>, а попорядку, т.е.
Код

с11 - 1
с12 - 2
с13 - 3
с21 - 4
с22 - 5
с23 - 6


Как этого можно добиться? и можно ли вообще? smile
Заранее спасибо smile
PM MAIL   Вверх
maxim1000
Дата 31.3.2006, 11:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 7
Всего: 110



Цитата(Стремянка @ 31.3.2006, 10:25 Найти цитируемый пост)
как это делает <xsl:number value="position()"/>, а попорядку, т.е.

position() делает это по порядку, только он зависит от контекста, в котором перебираются узлы
т.е. если сначала сделать перебор по BBB, а для каждого этого узла отдельно сделать перебор по CCC (т.е. два вложенных for-each или то же самое с template match="..."), то каждый CCC будет воспринят в контексте своего BBB, а значит, номер будет 1,2,3

а можно сначала выбрать все CCC из всех BBB - объединить их в один массив как бы, а уже потом вызвать position...
Код

  <xsl:template match="AAA">
    <xsl:for-each select="BBB/CCC">
      <xsl:value-of select="."/> - <xsl:number value="position()"/>
      <br/>
    </xsl:for-each>
  </xsl:template>



--------------------
qqq
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "XML/XSLT"
diadiavova

Прежде чем опубликовать вопрос, попробуйте воспользоваться поиском - возможно тема уже поднималась.

Также рекомендуем Вам зайти в раздел FAQ ,раздел дополняется и, возможно, там вы увидите готовое решение.

Для ответов на часто задаваемые вопросы существует FAQ раздела. Новости можно публиковать в разделе новостей. Для статей так же есть специальный раздел

Желаем удачи в Вашем деле!


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, diadiavova.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | XML, XSL | Следующая тема »


 




[ Время генерации скрипта: 0.0688 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.