Перейти до вмісту

Оцінювач XPath

Запустіть вираз XPath 1.0 на вставленому XML і подивіться кожне збіг, його значення та шлях.

Введення
Вихід

Оцінювач XPath

Вставте документ XML, напишіть вираз XPath 1.0 і цей інструмент виведе кожен вузол, який він збігається — без необхідності писати скрипт або відкривати відладчик, щоб перевірити, чи селектор справді знаходить те, що ви очікуєте. Він створений для моменту, коли ви дивитеся на таблицю стилів XSLT, правило парсингу або шлях XQuery, який не повертає те, що ви очікували, і вам потрібно протестувати вираз ізольовано на реальному документі.

Опція типу результату визначає, як читається значення виразу: «Набір вузлів» виводить усі відповідні елементи, атрибути, текстові вузли або коментарі; «Рядок», «Число» та «Логічне значення» приводять весь вираз так само, як це роблять функції string(), number() та boolean() самого XPath, що є способом перевірити порівняння або виклик count() ізольовано. Для результатів набору вузлів опція «Показувати збіги як» перемикається між текстовим вмістом кожного збігу та його повним серіалізованим XML, і ви можете нумерувати збіги або передувати кожному дозволеним шляхом (наприклад /catalog/book[2]/title), який його знайшов.

Підтримуваний синтаксис охоплює підмножину, яку люди насправді використовують: усі десять стандартних осей (child, descendant, descendant-or-self для //, parent, ancestor, self, following-sibling, preceding-sibling та attribute для @), символи підстановки, позиційні та логічні предикати, оператор union та загальні функції — position(), last(), count(), name(), contains(), starts-with(), substring(), concat(), normalize-space() та арифметичні, та оператори порівняння. Змінні, document(), key() та вісь namespace не підтримуються. Документи з простором імен потребують прив'язання префікса до його URI в «Прив'язування простору імен», один пар префікс=URI на рядок — або включіть «Ігнорувати простори імен», щоб зіставляти лише за локальним іменем, незалежно від префікса.

Усе виконується локально у вашому браузері: XML, який ви вставляєте, та вираз, який ви проти нього пишете, ніколи не завантажуються ніде, тому безпечно тестувати його проти реальних відповідей API, експортів конфігурації або фрагментів журналу виробництва. Недійсний XML та недійсні вирази повідомляються з вказівкою того, що пішло не так і чому, а не пустий результат.

FAQ

Які частини XPath 1.0 підтримуються?
Усі десять стандартних осей, тести імен та типів вузлів (включаючи символи підстановки та text()/comment()/node()), позиційні та логічні предикати, оператор union (|), арифметичні та оператори порівняння, та загальні функції як position(), last(), count(), name(), string(), contains(), starts-with(), substring(), concat(), normalize-space() та sum(). Змінні ($x), document(), key() та вісь namespace не підтримуються.
Чому мій вираз не збігається з нічим у документі з простором імен?
Тест імені без префікса збігається лише з елементами без простору імен — це те саме правило, яке дотримуються реальні процесори XPath. Прив'яжіть префікс, який використовує ваш вираз, до URI простору імен документа в «Прив'язування простору імен» (один пар префікс=URI на рядок), або включіть «Ігнорувати простори імен», щоб зіставляти лише за локальним іменем.
Яка різниця між чотирма типами результатів?
«Набір вузлів» виводить самі збіглі вузли. «Рядок», «Число» та «Логічне значення» замість цього приводять весь вираз так само, як функції string(), number() та boolean() у XPath — корисно для прямої перевірки виразу count() або порівняння без його обгортання у предикат.
Що відбувається з недійсним XML або недійсним виразом?
Інструмент повідомляє, який з них не вдався і чому — незакритий тег або невідповідний елемент для XML, неочікуваний токен або непов'язаний префікс простору імен для виразу — замість повернення порожнього або вводящого в оману результату.
Мій документ XML завантажується кудись?
Ні. Аналіз і оцінка працюють повністю у вашому браузері — документ і вираз ніколи не залишають ваш пристрій.