XPath наглядно

    XPath является одним из ключевых моментов на дороге к пониманию XSLT. И на первых порах хочется получить какой-нибудь простой способ поэкспериментировать с ним, чтобы в деталях разобраться, как он работает. Способа такого, впрочем, не наблюдается. Приходится или качать совсем не бесплатные XML/XSLT редакторы, или довольствоваться статичными картинками с zvon.org. Может быть, я плохо искал. Но с моей колокольни все обстоит именно так. И когда передо мной в очередной раз встала задача «Объяснить XSLT», в голове и родилась идея крохотного сервиса. После того, как все заработало, было решено выкатить его для всеобщего пользования: наверняка не я один сталкивался с похожими проблемами.

    Как это работает


    Все просто до безобразия: вводим XML для экспериментов, пишем запрос и по ходу набора наблюдаем результат. Выглядит это примерно вот так:



    Впрочем, чего разглядывать картинки, можно пойти и пощупать это все живьем.

    Сервис, впрочем, может пригодиться не только в образовательных целях. Заковыристые запросы очень часто бывает удобно наблюдать визуально. Со своей задачей сервис справился. Буду рад, если поможет кому-нибудь еще.
    Поделиться публикацией
    Похожие публикации
    Ой, у вас баннер убежал!

    Ну. И что?
    Реклама
    Комментарии 35
    • +14
      еще бы были пресеты с фейковыми XML данными…
      • +6
        and English, please
        • +3
          пресоединяюсь! добавьте пожалуйста какой нибудь шаблон по умолчанию, для «потыкать», что то придумывать очень не охота.
          • +2
            Дельное предложение. Добавил демонстрационный xml.
          • +1
            На том же звоне много лет есть отличный набор для эксперементов с XML/XLST — XLab. По ссылке, что вы дали его можно увидеть на первом месте в разделе «Также обратите внимание на:».

            Однако, учитывая, что на Звоне XLab уже пару месяцев лежит — спасибо за инициативу!
            • +2
              Именно поэтому и сделал свой. Ссылку видел, конечно же.
            • 0
              отличный сервис, спасибо!
              • +2
                В свое время использовал для таких целей плагин для firefox'a — XPath Checker. Сервис отличный.
                • +2
                  когда-то пользовался довольно неплохой тулой для проверки xpath xpathvisualizer.codeplex.com
                  • +2
                    Ещё есть FirePath (https://addons.mozilla.org/ru/firefox/addon/11900/)
                  • 0
                    надо бы подсветку синтаксиса и автоапдейт при изменении и как-то сигнализировать если не валидно
                    • +2
                      еще неплохо было бы сделать обработчик нажатия кнопки tab для поля textarea[@id='source'], чтобы табуляцию расставлять можно было.
                    • 0
                      Пожалуйста, добавьте favicon.ico в Ваш сервис.
                    • 0
                      "." точку не обрабатывает
                      • +1
                        Разве название парсера, который это обрабатывает, не имеет значения?
                        Первым делом пошёл искать, на каком парсере это работает и ничего не нашёл.
                        • +2
                          Обычный DOMParser, который есть в любом браузере (про IE мы тут пока не говорим). А подсветка осуществляется с помощью простой xslt-трансформации (собственно, сам XPath запрос и встраивается непосредственно в эту трансформацию) и XSLTProcessor. Ничего сверхъестественного. Этим и обусловлены некоторые ограничения, зато работает все достаточно быстро.
                        • +1
                          Xpather для Firefox тоже неплох (https://addons.mozilla.org/ru/firefox/addon/1192/)
                          • 0
                            Отличный сервис! Жаль, появился месяцем позже, чем мне был нужен. Но, думаю, ещё не раз пригодится. Спасибо.
                            • +1
                              Из осей навигации только child::* понимает?
                              • 0
                                судя по всему — да. parent (../) в хромиуме не понял.

                                Но вообще может зависеть от броузера, поскольку использует activex/(DOMParser && XSLTProcessor).
                                • 0
                                  В Огнелисе тоже не реагирует на иные оси навигации.
                              • 0
                                Хорошо бы при старте какой-нибудь простой XML положить в поле ввода, это кому захочется поупражняться, или посмотреть как XPath работает.
                                • 0
                                  Планируется ли расширение возможностей, хотелось хотя бы подсветку синтаксиса и автодополнение
                                  • +1
                                    Над расширением не думал. Идея изначально была несколько иная: визуализировать результат запроса, а не сделать конструктор XPath. Насчет подсветки еще поразмышляю, поскольку ее не в первый раз уже спрашивают.
                                  • –3
                                    в IE9 не работает
                                    • 0
                                      Спасибо, полезно! Справочник бы туда еще небольшой по XPath, с примерчиками.
                                      • 0
                                        Хоть и поздно, но поддерживаю ваш коммент. Сейчас вот понадобился XPath, но синтаксис пришлось рыть в книге.
                                      • 0
                                        Полезный сервисняк! мне понравился, несмотря на то, что в XPath я не бубум. но было интересно по шаблону пробежаться запросом :)
                                        • +1
                                          Домен не проплатили. Возможно умер сайт.
                                          • 0
                                            Домен истек. Будет ли он проплачен?
                                          • 0
                                            Сервис умер?! :(
                                            • 0
                                              Жаль, что сайт более не доступен…

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

                                              Самое читаемое