| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > XML, XSL > Выборка элементов по шаблону |
| Автор: artuska 12.4.2010, 17:07 | ||||||
| Здравствуйте! Есть XML с такой вот структурой:
Это данные для подсказки в поле поиска (как в Гугле - вводишь слово, а под инпутом появляются возможные варианты того, что ты ищешь). Так вот, как используя XSL выбрать все слова, начинающиеся на, например, букву 'o'? На выходе должен быть вот такой HTML код:
Вот мой вариант:
Или выборка по шаблону вообще по-другому делается? |
| Автор: artuska 12.4.2010, 23:47 | ||
Вот, отлично, это то, что надо! Ну а что значит «что добьешься»? — пользователь вводит букву "А", посылается АЯКС запрос к ПХП файлу, который и оперирует XML'ом и XSL'ом и возвращает готвый код подсказок. Вопрос следующий — вот если пользователь ввел "А", то слова на букву "А" найдутся, а вот на букву "а" — нет. Как сделать, чтобы //suggestions/item[starts-with(text(), 'o')] не зависела от регистра, чтобы и маленькие и большие буквы искала? UPD: Хм, а где ты вычитал про функцию starts-with()? — http://www.w3schools.com/xsl/xsl_w3celementref.asp, например, в упор не вижу. |
| Автор: diadiavova 12.4.2010, 23:56 | ||||
Можно, конечно, но чойт мне кажется это как-то
Средствами xslt вроде никак, но раз это всё на пхп делается - переводи в нижний(или верхний) регистр на пхп и только потом посылай в обработку. |
| Автор: artuska 13.4.2010, 00:03 |
Жаль. Ну лана. Вообщем, всё ок, diadiavova — спасибо! Тему можно считать закрытой. |
| Автор: magelan 14.4.2010, 11:56 | ||||
в XSL все можно... только это "дорогая" операция.
P.$. Господа, код привожу не для этой задачи, и не чтобы выпендриться, просто для общей инфы, проблема с регистрами достаточна частая при обработке. P.P.$. Дядя Вова абсолютно прав, для этой задачи надо использовать что-то шустрее чем XSLT в идеале надо возвращать только данные для вывода:
которые на клиенте разбираются в массив для вывода одним вызовом скриптовой функции .split(';'); |