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'], чтобы табуляцию расставлять можно было.
                        +2
                        Сделано.
                        0
                        Пожалуйста, добавьте favicon.ico в Ваш сервис.
                          0
                          Спасибо.
                          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
                                                  Сервис умер?! :(
                                                    0
                                                    Жаль, что сайт более не доступен…

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

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