Copyright © 2002, 2003 Keith Isdale
Разрешается копировать, распространять и/или изменять этот документ на условиях лицензии GNU для свободной документации, версии 1.1 или более поздней, опубликованной Фондом Free Software Foundation; без неизменямых разделов, без текста на первой странице, без текста на последней странице. Копия лицензии находится здесь the section entitled "GNU Free Documentation License".
xsldbg - это утилита, призванная упростить понимание таблиц стилей. Отличительными особенностями xsldbg от других средств отладки таблиц стилей являются возможность поиска интересующих вас элементов и возможность следить за применением таблицы стилей пошагово.
Содержание
Список таблиц
xsldbg - это среда отладки таблиц стилей (eXtensible Stylesheet Language, Расширяемый Язык Таблиц Стилей), обладающая набором команд, схожим с gdb, отладчиком для систем Unix/Linux. Предоставлены три основных режима применения xsl-таблиц:
Полное исполнение всей xsl-таблицы |
Пошаговое исполнение инструкций |
Продолжение исполнения xsl-преобразований до следующей точки останова или до конца таблицы на каждой итерации |
Системы, в которых установлена библиотека readline, позволяют пользователю передвигаться по списку ранее введённых команд с помощью клавиш "вправо"/"влево". В любых системах последняя введённая команда может быть повторена простым нажатием клавиши <ENTER>.
Частичные имена файлов будут автоматически заменены на полные, если операционная система это поддерживает.
Некоторым командам можно передать несколько аргументов. Чтобы сложные выражения воспринимались как один аргумент, их заключают в кавычки, например: break "* | @" позволит пользователю увидеть точку останова в шаблоне с именем "* | @"
В данной таблице приводится описание условных обозначений, используемых в настоящем справочном руководстве
TEMPLATE_NAME: Допустимое имя шаблона, может содержать только ASCI-символы с кодами от 0x00 до to 0x7F. Может быть полностью определённым именем, например "xsl:templateName". |
FILENAME: Допустимое имя файла из локальной файловой системы пользователя. На *nix и CYGWIN-платформах может иметь префикс "~". В RISC OS это могут бытьпеременные окружения. |
URI: Универсальный Идентификатор Ресурса (Uniform Resource Identifiers) в соответствии с определением в RFC 2396 |
MODE_NAME: Режим шаблона, может быть полностью определённым именем, например "xsl:modeName". |
QNAME : Полностью определённое имя, например "xsl:localPart" |
LINENO : Допустимый номер строки в заданном <FILENAME> |
NUMBER_OF_FRAMES : допустимое число кадров для перехода |
BREAKPOINT_ID : Допустимый номер точки останова |
WATCH_ID: Допустимый номер наблюдаемого выражения (watch expression), берётся из вывода команды showwatch |
SPEED: скорость исполнения кода, принимает значения от 0 до 9 |
(Комментарий): комментарий, поясняющий значение команды или определяющий её использование |
{ opt1 | opt2 | opt2 .. etc} : Выбор одного из opt-ов |
XPATH: xpath-выборка узлов |
PARAM_ID: допустимый номер параметра, берётся из вывода команды showparam |
PATH: путь к новому рабочему каталогу. В некоторых системах префикс "~" будет заменён путём к вашему домашнему каталогу |
TEXT: Текст в свободной форме (без ограничений) |
COMMAND: Допустимая команда для xsdbg |
QNAME: Допустимое имя переменной/параметра |
SOURCE: Исполняемая/подлежащая исполнению таблица стилей. Также см. <FILENAME> и <URI> |
DATA: Xml-данные (документ), которые будут обрабатываться таблицей стилей. Также см. <FILENAME> и <URI> |
DEVICE_PATH: Допустимый терминал в операционной системе |
TTY_LEVEL: допустимый уровень ввода/вывода |
Получение справки :help |
Управление исполнением: {bye|exit| quit}, step, stepup, stepdown, next, continue, run, trace, setoption, options |
Управление параметрами libxslt : addparam, delparam, showparam, output, setoption, options |
Управление шаблонами: templates, where, frame |
Управление точками останова : break, showbreak, delete, enable |
Отображение выражений(xpath): cat |
Отображение узлов: ls, dir, du, cat, pwd |
Отображение переменных: globals, locals, cat, addwatch |
Задание переменных: set |
Выбор узла: source, data, cd |
Поиск: search |
Команды операционной системе: chdir, shell, tty |
Управление файлами: output, entities, system, public |
Отключённые команды управления файлами: validate, load, save, write, free |
Добавить параметр для libxslt; эквивалентно параметру --param <QNAME>:<XPATH> в командной строке.
Добавить выражение для наблюдения. Для просмотра значений наблюдаемых выражений см. showwatch
Краткая форма: watch
Установить точку останова в заданном шаблоне, в текущем узле, в заданном месте таблицы стилей или загруженного в xsldbg xml-файла. Новое поведение для xsldbg версии 3.1.4: в режиме совместимости с gdb Для заданной строки заданного файла могут быть установлены недействующие точки останова, которыевпоследствии будут переведены в активное состояние
Краткая форма: b
xsldbg попытается самостоятельно определить полный URL для
имени файла без заданного пути. |
имени файла, расположенного в одном каталоге с загруженной в данный момент таблицей стилей_"top"_ |
имени файла, относительно текущего рабочего каталога xsldbg |
break -l xsldoc.xsl 26
Эта команда сработает для шаблона и/или режима с полным или частичным QNAME.Например, "template" сработает для любого QNAME, содержащегося в локальной части "template"
Все пространства имён в заданном QNAME будут определены в соответствии с пространствами имён, указанными в файле XSL SOURCE. Например, "xsl:test1" будет определён как "http://www.w3.org/199/XSL/Transform:test1"
Возможно, что заданная точка останова должна быть связана с соответствующим URL и номером строки. Это делается автоматически сразу после того, как xsldbg просмотрел первый шаблон Повторное связывание точек останова со своими URL происходит в начале каждого запуска исполнения.
При включённом режиме gdb используется автоматическая валидация точек останова, такое поведение установлено вxsldbg по умолчанию
Таблица 3.4. Синтаксис команды break
break -l <FILENAME> <LINENO> (Установить точку останова в заданной строке заданного файла) |
break -l <URI> <LINENO> (Установить точку останова в заданной строке заданного URI) |
break <TEMPLATE_NAME> (Точка останова в шаблоне, имя которого задаётся полностью или регулярным выражением.) |
break <TEMPLATE_NAME> <MODE_NAME> (Установить точку останова в шаблоне с заданными именем и режимом.) > |
break "" <MODE_NAME> (Установить точку останова в любом шаблоне с заданным режимом) |
break * (Установить точку останова в любом найденном шаблоне.) |
break \* (Установить точку останова в шаблоне "*". Прочие имена, включающие символ '*', отдельно обрабатываться не будут.) |
break (Точка останова в текущем узле. Да, это распространяется и на узлы с xml-данными!) |
Завершить исполнение таблицы стилей при ближайшей возможности.
Вывести результат выражения xPath, относящегося к текущему узлу
Изменить путь, указанный в xpath.
Сменить рабочий каталог
Продолжить исполнение таблицы стилей с остановками на всех обнаруженных точках останова
Краткая форма: c
Переключиться в режим отображения текущего узла xml-данных. Или переключиться от одного xml-файла к другому.
Удалить точку останова в шаблоне
Краткая форма: d
Таблица 3.11. Синтаксис команды delete
delete (Удалить точку останова в текущем узле) |
delete <BREAKPOINT_ID> (Удалить точку останова с заданным номером) |
delete -l <FILENAME> <LINENO> (Удалить точку останова в заданной строке заданного файла) |
delete -l <URI> <LINENO> (Удалить точку останова в заданной строке заданного URI) |
delete <TEMMPLATENAME> (Удалить точку останова в шаблоне с заданным именем.) |
delete * (Удалить все точки останова.) |
Удалить libxslt-параметр
Удалить наблюдаемое выражение или удалить все наблюдаемые выражения, присутствующие в выводе команды "showwatch."
Вывести список узлов в формате, схожем с выводом shell-команды dir.
Отключить точку останова
Таблица 3.15. Синтаксис команды disable
disable (Отключить точку останова в текущем узле) |
disable <BREAKPOINT_ID> (Отключить точку останова с заданным номером |
disable -l <FILENAME> <LINENO> (Отключить точку останова в заданной строке заданного файла) |
disable -l <URI> <LINENO> (Отключить точку останова в заданной строке заданного URI) |
Включить или отключить точку останова (Переключение статуса активно/неактивно/)
Краткая форма: e
Таблица 3.18. Синтаксис команды enable
enable (Включить/отключить точку останова в текущем узле) |
enable <BREAKPOINT_ID> (Включить/отключить точку останова с заданным номером) |
enable -l <FILENAME> <LINENO> (Включить/отключить точку останова в заданной строке заданного файла) |
enable -l <URI> <LINENO> (Включить/отключить точку останова в заданной строке заданного URI) |
Вывести список внешних Общих Разобранных Сущностей (General Parsed entities), используемых в файле с данными (документ)
Краткая форма: ent
Завершить исполнение таблицы стилей при ближайшей возможности.
Вывести кадр стека с заданной глубиной
Краткая форма: f
Освободить ресурсы: таблицу стилей и данные (Команда отключена, см. run)
Вывести список глобальных переменных или параметров для таблицы стилей. Вывести значение глобальной переменной
Вывести справку о команде или общую справку о продукте
Краткая форма: h
Загрузить ключи xsldbg и пользовательские настройки с диска
Вывести список локальных переменных или параметров для таблицы стилей. Вывести значение локальной переменной
Перейти к следующей инструкции без "захода" в xsl:call-template или xsl:apply-templates. Действие данной команды эквивалентно действию комбинации команд "step" и "up"
Краткая форма: n
Указать доступный для записи файл в локальной файловой системе, в него будут сохранены результаты
Краткая форма: o
Таблица 3.30. Синтаксис команды output
output <FILENAME> (Имя доступного для записи файла из локальной файловой системы. На *nix и CYGWIN-платформах может иметь префикс "~". В RISC OS это могут бытьпеременные окружения) |
output <URI> (В <URI> может быть использован только протокол "file://". Впоследствии URI будет приведён к имени файла, допустимому для операционной системы) |
output - ( Отправить на стандартный вывод. Может использоваться только когда xsldbg запущен в режиме командной строки) |
Вывести значение, на которое Public ID отображается через текущий каталог
Краткая форма: pub
Завершить исполнение таблицы стилей при ближайшей возможности.
Краткая форма: q
Сохранить ключи xsldbg и пользовательские настройки на диск
Поиск в базе данных, собранных во всех загруженных таблицах стилей
Все результаты поиска сохраняются в каталоге, указанном ключом"searchresultspath", или в том же каталоге, что и исходная таблица стилей, если данный ключ не был выставлен.Как правило, для трансформаций в файле searchresults.xml используется search.xsl, но если выставлен ключ "prefrehtml", то будет использоваться searchhtml.xsl
При исполнении команды search создаётся xml-файл (searchresults.xml). Впоследствии вы можете обработать этот файл вашей собственной таблицей стилей, и получить вывод в нужном вам формате. Если ключ"preferhtml" не выставлен, то результаты поиска будут выведены в searchresult.txt
При большом объёме обрабатываемых данных, выполнение этой команды может занять некоторое время.
Установить ключ исполнения таблицы стилей
Для того, чтобы изменения вступили в силу, нужно воспользоваться командой run
Таблица 3.38. Синтаксис команды setoption
setoption <OPTION_NAME> <INTEGER_VALUE> | ||||||||||||||||||||||||
где <OPTION_NAME> может быть одним из следующих: | ||||||||||||||||||||||||
| ||||||||||||||||||||||||
Где значение истинно, если НЕ РАВНО нулю | ||||||||||||||||||||||||
Где значение ложно, если РАВНО нулю | ||||||||||||||||||||||||
stdout Выводить все сообщения об ошибках на стандартный вывод. Обычно все сообщения об ошибках выводятся на stderr. | ||||||||||||||||||||||||
setoption <OPTION_NAME> "<STRING_VALUE>" (В строке <STRING_VALUE> не должно быть двойных кавычек) | ||||||||||||||||||||||||
setoption <OPTION_NAME> <STRING_VALUE> (В строке <STRING_VALUE> не должно быть пробелов или двойных кавычек) | ||||||||||||||||||||||||
где <OPTION_NAME> может быть одним из следующих: | ||||||||||||||||||||||||
|
Выполнить shell-команду
Вывести список точек останова в шаблоне
Краткая форма: show
Если для шаблона задан режим, то имя режима будет добавлено в конец имени шаблона при установке точки останова. Вывод команды может быть, например, таким:
Точка останова 3 включена для шаблона :"*" в файле test1.xsl : строка 105 |
Точка останова 2 включена для шаблона :"* testMode" в файле test1.xsl : строка 109 |
Точка останова 1 включена для шаблона:"* http://www.w3.org/1999/XSL/Transform:testMode" в файле test1.xsl : строка 113 |
Всего 3 точки останова |
Вывести список существующих параметров libxslt
Показать текущее наблюдаемое выражение
Краткая форма: watches
Таблица 3.42. Синтаксис команды showwatch
showwatch (Показать выбранные в данный момент наблюдаемые выражения и их значения) |
showwatch 1 (Включить режим автоматического вывода наблюдаемых выражений. Режим включён по умолчанию.) |
showwatch 0 (Выключить режим автоматического вывода наблюдаемых выражений.) |
Переключиться в режим отображения текущего узла в таблице стилей. Или использовать другую таблицу стилей.
Перейти к следующей инструкции таблицы стилей.
Краткая форма: s
Передвинуться вниз по стеку к кадрам, которые были созданы позже.
Краткая форма: down
Передвинуться вверх по стеку к кадрам, которые существуют дольше.
Краткая форма: up
Эта команда выполняется не очень точно, xsldbg произведёт остановку при ближайшей возможности.
Вывести список всех загруженных таблиц стилей
Краткая форма: style
Вывести значение, на которое System ID отображается через текущий каталог
Краткая форма: sys
Вывести список всех доступных шаблонов. Произвести поиск шаблона
Краткая форма: t
Трассировка исполнения таблицы стилей с указанием файла и строк промежуточных шагов.
Открыть терминал. Установить уровень перенаправления ввода/вывода.
Таблица 3.51. Синтаксис команды tty
tty <DEVICE_PATH> (Где <DEVICE_PATH> - существующий терминал операционной системы. Простая попытка открыть терминал | |||||
tty <TTY_LEVEL> (Установить уровень перенаправления ввода/вывода, где <TTY_LEVEL> - допустимый уровень ввода/вывода)
|
Проверить на правильность файл, полученный после обработки таблицы стилей (Команда отключена)
Запустить исполнение кода с заданной скоростью
Показать цепочку вызовов шаблонов (стек кадров) и рабочий каталог.
Краткая форма: w
xsldbg
Авторские права на программу: 2004 Keith Isdale (k_isdale tpg com au)
Перевод на русский - Данил Миронов (patrungel AT yahoo.fr)
Этот документ распространяется на условиях GNU Free Documentation License.
Программа распространяется на условиях лицензии GNU General Public License.
Авторам libxml и libxsl.
Йоханнесу Зиксту [Johannes Sixt] за помощь в добавлении поддержки xsldbg в KDbg
Посмотрите компонент kxsldbg модуля kdewebdev из репозитория SVN KDE.
xsldbg - это часть проекта KDE http://www.kde.org/.
xsldbg входит в пакет kdewebdev на ftp://ftp.kde.org/pub/kde/, основном FTP-сервере KDE.
Для корректной работы xsldbg в вашей системе должны быть установлены KDE libxslt, libexslt и libxml; как правило эти компоненты присутствуют в типовой конфигурации KDE.
Как правило, xsldbg компилируется как часть компонента kxsldbg модуля kdewebdev
Настройка xsldbg осуществляется с помощью ключей командной строки и встроенной командой setoption
Would you like to make a comment or contribute an update to this page?
Send feedback to the KDE Docs Team