![]() |
|
Модераторы: diadiavova |
![]()
|
|
| SelenIT |
|
||||||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 4 Всего: 401 |
Продолжение недавней моей темы о разворачивании рекрсивного дерева одноименных элементов в плоский список.
Получить плоскую структуру удалось, но теперь еще нужно для каждой исходной ноды получить XPath-путь к ней. Предупреждая вопросы, что за изврат я делаю - это JS-меню для навигации по фактически XML-ной базе данных со вложенной структурой, по клику на пункты будут выбираться определенные подэлементы соответствующих нод. При попытке получить желаемое, преобразуя файл
с помощью такого XSL:
я получил следующее:
Никак не могу взять в толк, почему корневой элемент у меня вдруг везде оказался обозначен как /elem[2]? И что вообще я делаю неправильно? -------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
||||||
|
|||||||
| Exception |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 3 Всего: 186 |
|
|||
|
||||
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 4 Всего: 401 |
Exception, еще раз спасибо, благодаря подсказкам решил свою задачу!
А все-таки, почему без отдельного
-------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
| JVM |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 189 Регистрация: 30.10.2006 Репутация: 4 Всего: 5 |
А у меня с первым xsl получается
Использую xsltproc. |
|||
|
||||
| Exception |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 3 Всего: 186 |
Интересно
|
|||
|
||||
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 4 Всего: 401 |
Я тоже тестил в браузерах (FF2 и IE6). Вообще-то, на самом деле нужно мне это преобразование только для IE, под Microsoft.XMLDOM. Но то, что такие разные браузеры сходятся в неожиданном результате, наводит на мысль, что вряд ли он расходится со стандартом (который я пока, увы, довольно слабо понимаю)... Заранее благодарен за ликбез!
-------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
| JVM |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 189 Регистрация: 30.10.2006 Репутация: 4 Всего: 5 |
Если вы тестили через IE и FF, то все понятно почему у вас такой результат.
У вас наверняка в исходном xml есть строчка подобная этой
так вот эта инструкция и есть ваш первый элемент - а elem уже второй. Чтобы управлять этим процессом рекомендую использовать <xsl:number> Используйте процессоры, а не проузеры |
|||
|
||||
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 4 Всего: 401 |
Точно! Есть такая строчка. Вот, значит, где обака порылась... сроду бы не подумал. JVM, огромное спасибо за разъяснение! Ну задача передо мной стоит - дело должно происходить на клиенте, не я ее ставил... А чем, собственно, Microsoft.XMLDOM не процессор? -------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
| Exception |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 3 Всего: 186 |
||||
|
||||
| JVM |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 189 Регистрация: 30.10.2006 Репутация: 4 Всего: 5 |
||||
|
||||
| Exception |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 3 Всего: 186 |
||||
|
||||
| JVM |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 189 Регистрация: 30.10.2006 Репутация: 4 Всего: 5 |
Exception, объясни поподробнее что это значит и какие дает преимущества.
Это сообщение отредактировал(а) JVM - 10.4.2007, 17:30 |
|||
|
||||
| Exception |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 3 Всего: 186 |
Скажем, мы реализуем autocomplete для текстбокса как в Google Suggest. В зависимости от запроса мы грузим с сервера XML с вариантами автозаполнения и динамически применяем к нему XSL. Грузить уже преобразованную версию слишком накладно, да и код логики сервера мешается с кодом отображения на клиенте.
|
|||
|
||||
| JVM |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 189 Регистрация: 30.10.2006 Репутация: 4 Всего: 5 |
Почитал про Google Suggest, но так и не нашел, где речь идет об XSL. XML возвращается
|
|||
|
||||
| Exception |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 3 Всего: 186 |
А я о чём? К полученному XML применяется XSL и мы получаем готовый HTML-код. http://goog-ajaxslt.sourceforge.net/ |
|||
|
||||
![]()
|
| Правила форума "XML/XSLT" | |
|
|
Прежде чем опубликовать вопрос, попробуйте воспользоваться поиском - возможно тема уже поднималась. Также рекомендуем Вам зайти в раздел FAQ ,раздел дополняется и, возможно, там вы увидите готовое решение. Для ответов на часто задаваемые вопросы существует FAQ раздела. Новости можно публиковать в разделе новостей. Для статей так же есть специальный раздел Желаем удачи в Вашем деле! Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, diadiavova. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | XML, XSL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |