# Описание команд

## Addparam

Добавить параметр для libxslt; эквивалентно параметру --param <QNAME>:<XPATH> в командной строке.

### Синтаксис команды addparam

addparam <QNAME> <XPATH> (В строке <XPATH> не должно быть пробелов или двойных кавычек.)
addparam <QNAME> "<XPATH>" (В строке <XPATH> не должно быть двойных кавычек)

## Addwatch

Добавить выражение для наблюдения. Для просмотра значений наблюдаемых выражений см. showwatch

Краткая форма: watch

### Синтаксис команды addwatch

addwatch <XPATH>

## Base

Вывести XML-базу заданного узла

### Синтаксис команды base

base

## Break

Установить точку останова в заданном шаблоне, в текущем узле, в заданном месте таблицы стилей или загруженного в xsldbg xml-файла. Новое поведение для xsldbg версии 3.1.4: в режиме совместимости с gdb Для заданной строки заданного файла могут быть установлены недействующие точки останова, которыевпоследствии будут переведены в активное состояние

Краткая форма: b

xsldbg попытается самостоятельно определить полный URL для

имени файла без заданного пути.
имени файла, расположенного в одном каталоге с загруженной в данный момент таблицей стилей_"top"_
имени файла, относительно текущего рабочего каталога xsldbg

Другими словами, если вы загрузили файл с таблицами стилей из ../en/xsldoc.xsl , вы можете сделать следующее:

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 по умолчанию

### Синтаксис команды 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-данными!)

## Bye

Завершить исполнение таблицы стилей при ближайшей возможности.

### Синтаксис команды bye

bye

## Cat

Вывести результат выражения xPath, относящегося к текущему узлу

### Синтаксис команды cat

Синтаксис: cat <XPATH> (Вывести переменную или параметр)
Синтаксис: cat $<QNAME>

## Cd

Изменить путь, указанный в xpath.

### Синтаксис команды cd

<< = preceding-sibling::node()
>> = following-sibling::node()
<- = ancestor::node()
-> = decendant::node()

## Chdir

Сменить рабочий каталог

### Синтаксис команды chdir

chdir <PATH> (Относительный или абсолютный путь в операционной системе)

## Continue

Продолжить исполнение таблицы стилей с остановками на всех обнаруженных точках останова

Краткая форма: c

### Синтаксис команды continue

continue

## Data

Переключиться в режим отображения текущего узла xml-данных. Или переключиться от одного xml-файла к другому.

### Синтаксис команды data

data (Показать текущий узел в документе.)
data <DATA> (Использовать новый файл с xml-данными. Символ "~" в начале имени файла будет замещён значением переменной окружения $HOME. Для его обработки потребуется команда "run")

## Delete

Удалить точку останова в шаблоне

Краткая форма: d

### Синтаксис команды delete

delete (Удалить точку останова в текущем узле)
delete <BREAKPOINT_ID> (Удалить точку останова с заданным номером)
delete -l <FILENAME> <LINENO> (Удалить точку останова в заданной строке заданного файла)
delete -l <URI> <LINENO> (Удалить точку останова в заданной строке заданного URI)
delete <TEMMPLATENAME> (Удалить точку останова в шаблоне с заданным именем.)
delete * (Удалить все точки останова.)

## Delparam

Удалить libxslt-параметр

### Синтаксис команды delparam

delparam (Удалить все заданные параметры)
delparam <PARAM_ID>

## Delwatch

Удалить наблюдаемое выражение или удалить все наблюдаемые выражения, присутствующие в выводе команды "showwatch."

### Синтаксис команды delwatch

delwatch <WATCHID> (Удалить наблюдаемое выражение с заданным ID)
delwatch * (Удалить все наблюдаемые выражения)

## Dir

Вывести список узлов в формате, схожем с выводом shell-команды dir.

### Синтаксис команды dir

dir

## Disable

Отключить точку останова

### Синтаксис команды disable

disable (Отключить точку останова в текущем узле)
disable <BREAKPOINT_ID> (Отключить точку останова с заданным номером
disable -l <FILENAME> <LINENO> (Отключить точку останова в заданной строке заданного файла)
disable -l <URI> <LINENO> (Отключить точку останова в заданной строке заданного URI)

## Du

Вывести список дочерних узлов в древовидной форме

### Синтаксис команды du

du

## Dump

Вывести самую подробную информацию о заданном узле

### Синтаксис команды dump

dump

## Enable

Включить или отключить точку останова (Переключение статуса активно/неактивно/)

Краткая форма: e

### Синтаксис команды enable

enable (Включить/отключить точку останова в текущем узле)
enable <BREAKPOINT_ID> (Включить/отключить точку останова с заданным номером)
enable -l <FILENAME> <LINENO> (Включить/отключить точку останова в заданной строке заданного файла)
enable -l <URI> <LINENO> (Включить/отключить точку останова в заданной строке заданного URI)

## Entities

Вывести список внешних Общих Разобранных Сущностей (General Parsed entities), используемых в файле с данными (документ)

Краткая форма: ent

### Синтаксис команды entities

entities

## Exit

Завершить исполнение таблицы стилей при ближайшей возможности.

### Синтаксис команды exit

exit

## Frame

Вывести кадр стека с заданной глубиной

Краткая форма: f

### Синтаксис команды frame

frame <FRAME_DEPTH> (Здесь Глубина (Depth) - число от 0 до текущей глубины стека вызовов)

## Free

Освободить ресурсы: таблицу стилей и данные (Команда отключена, см. run)

### Синтаксис команды free

free

## Globals

Вывести список глобальных переменных или параметров для таблицы стилей. Вывести значение глобальной переменной

### Синтаксис команды globals

globals (Вывести список всех глобально доступных переменных)
globals -f (Вывести список всех глобально доступных переменных и их значений)
globals <QNAME> (Вывести значение указанной переменной)

## Help

Вывести справку о команде или общую справку о продукте

Краткая форма: h

### Синтаксис команды help

help (Вывести общую справку о продукте)
help <COMMAND> (Вывести справку о команде)

## Load

Загрузить ключи xsldbg и пользовательские настройки с диска

### Синтаксис команды load

load

## Locals

Вывести список локальных переменных или параметров для таблицы стилей. Вывести значение локальной переменной

### Синтаксис команды locals

locals (Вывести список всех локально доступных переменных)
locals -f (Вывести список всех локально доступных переменных и их значения)
locals <QNAME> (Вывести значение указанной переменной)

## Ls

Вывести список узлов в кратком формате

### Синтаксис команды ls

ls

## Next

Перейти к следующей инструкции без "захода" в xsl:call-template или xsl:apply-templates. Действие данной команды эквивалентно действию комбинации команд "step" и "up"

Краткая форма: n

### Синтаксис команды next

next (перейти к следующей инструкции того же уровня)

## Options

Вывести значения ключей xsldbg

### Синтаксис команды options

options

## Output

Указать доступный для записи файл в локальной файловой системе, в него будут сохранены результаты

Краткая форма: o

### Синтаксис команды output

output <FILENAME> (Имя доступного для записи файла из локальной файловой системы. На *nix и CYGWIN-платформах может иметь префикс "~". В RISC OS это могут бытьпеременные окружения)
output <URI> (В <URI> может быть использован только протокол "file://". Впоследствии URI будет приведён к имени файла, допустимому для операционной системы)
output - ( Отправить на стандартный вывод. Может использоваться только когда xsldbg запущен в режиме командной строки)

## Public

Вывести значение, на которое Public ID отображается через текущий каталог

Краткая форма: pub

### Синтаксис команды public

public "<PublicID>"

## Pwd

Вывести путь текущего рабочего каталога

### Синтаксис команды pwd

pwd

## Quit

Завершить исполнение таблицы стилей при ближайшей возможности.

Краткая форма: q

### Синтаксис команды quit

quit

## Run

Перезапустить исполнение таблицы стилей.

Краткая форма: r

### Синтаксис команды run

run

## Save

Сохранить ключи xsldbg и пользовательские настройки на диск

### Синтаксис команды save

save

## Search

Поиск в базе данных, собранных во всех загруженных таблицах стилей

Все результаты поиска сохраняются в каталоге, указанном ключом"searchresultspath", или в том же каталоге, что и исходная таблица стилей, если данный ключ не был выставлен.Как правило, для трансформаций в файле searchresults.xml используется search.xsl, но если выставлен ключ "prefrehtml", то будет использоваться searchhtml.xsl

При исполнении команды search создаётся xml-файл (searchresults.xml). Впоследствии вы можете обработать этот файл вашей собственной таблицей стилей, и получить вывод в нужном вам формате. Если ключ"preferhtml" не выставлен, то результаты поиска будут выведены в searchresult.txt

При большом объёме обрабатываемых данных, выполнение этой команды может занять некоторое время.

### Синтаксис команды search

search <XPATH> (Посмотреть, какие xpath могут быть использованы в search.dtd. Значение <XPATH> по умолчанию равно '//search/*' )
search -sort <XPATH> (С этим ключом search.xsl будет сортировать результаты перед их выводом)

## Set

Установить значение переменной

### Синтаксис команды set

set <VARIABLE_NAME> <XPATH>

## Setoption

Установить ключ исполнения таблицы стилей

Для того, чтобы изменения вступили в силу, нужно воспользоваться командой run

### Синтаксис команды setoption

setoption <OPTION_NAME> <INTEGER_VALUE>
где <OPTION_NAME> может быть одним из следующих:

debug (Если значение <INTEGER_VALUE> истинно, вместо обычного выводавыводится дерева результатов)
catalogs (Если значение <INTEGER_VALUE> истинно, используются каталоги из $SGML_CATALOG_FILES или SGML$CatalogFiles для risc-операционных систем)
html (Если значение <INTEGER_VALUE> истинно, документ на входе будет HTML-файлом)
docbook (Если значение <INTEGER_VALUE> истинно и в libxml всё ещё есть поддержка docbook, документ на входе будет иметь формат SGML docbook)
xinclude (Если значение <INTEGER_VALUE> истинно, документ на входе будет обработан средствами XInclude)
preferhtml (Если значение <INTEGER_VALUE> истинно, результаты поиска будут по умолчанию выводиться в html-файл.: См. справку к команде search)
autoencode (Если значение <INTEGER_VALUE> истинно, будет предпринята попытка использовать кодировку из таблицы стилей)
utf8input (Если значение <INTEGER_VALUE> истинно, весь ввод от пользователя идёт в кодировке UTF-8. Используется, как правило, когда xsldbg запущен как нить [thread] какого-либо процесса))

gdb (Запуск в режиме совместимости с gdb)

Для значения 1 это:

Вывод много большего количества сообщений. Частота появления сообщения "Breapoint at ..." ("Точка останова в...") возрастает
Не больше GDB_LINES_TO_PRINT строк будет выведено при разборе выражений, после этого будет выведены символы "...". Это значение можно изменить в options.h, по умолчанию оно равно трём строкам текста
Командой "locals" выводятся список как локальных, так и глобальных переменных
При выводе выражений командами cat/print, разбираемое значение будет снабжаться префиксом "= " < EXPRESSION >

Для значения 2 это:

Вывод сообщений, затребованных KDbg, вместе с сообщениями, описанными выше (когда значение равно 1)

nonet (Если значение <INTEGER_VALUE> истинно, DTD-данные или сущности не будут доставляться из сети)
novalid (Если значение <INTEGER_VALUE> истинно, пропустить фазу загрузки DTD)
repeat (Если значение <INTEGER_VALUE> истинно, выполнить трансформацию 20 раз)
profile (Если значение <INTEGER_VALUE> истинно, вывести информацию о профиле)
timing (Если значение <INTEGER_VALUE> истинно, отобразить используемое время)
noout (Если значение <INTEGER_VALUE> истинно, не выводить результат)

Где значение истинно, если НЕ РАВНО нулю
Где значение ложно, если РАВНО нулю
stdout Выводить все сообщения об ошибках на стандартный вывод. Обычно все сообщения об ошибках выводятся на stderr.
setoption <OPTION_NAME> "<STRING_VALUE>" (В строке <STRING_VALUE> не должно быть двойных кавычек)
setoption <OPTION_NAME> <STRING_VALUE> (В строке <STRING_VALUE> не должно быть пробелов или двойных кавычек)
где <OPTION_NAME> может быть одним из следующих:

data (URI файла с данными)
source (URI исходного файла)
output (Вывести SystemID файла)
docspath (Путь к каталогу, в котором производится поиск документации)
catalognames (Имена каталогов, которые будут использоваться при выставленном ключе catalogs. Данное значение будет утеряно, если будет задано до установки ключа catalogs)
encoding (Какую кодировку использовать для стандартного вывода)
searchresultspath Путь к каталогу, который будет использоваться для сохранения результатов поиска. Если такой путь не задан, то xsldbg будет использовать путь к каталогу с таблицами стилей

## Shell

Выполнить shell-команду

### Синтаксис команды shell

shell <TEXT> (<TEXT> будет передан операционной системе для исполнения)

## Showbreak

Вывести список точек останова в шаблоне

Краткая форма: show

Если для шаблона задан режим, то имя режима будет добавлено в конец имени шаблона при установке точки останова. Вывод команды может быть, например, таким:

Точка останова 3 включена для шаблона :"*" в файле test1.xsl : строка 105
Точка останова 2 включена для шаблона :"* testMode" в файле test1.xsl : строка 109
Точка останова 1 включена для шаблона:"* http://www.w3.org/1999/XSL/Transform:testMode" в файле test1.xsl : строка 113
Всего 3 точки останова

### Синтаксис команды showbreak

showbreak

## Showparam

Вывести список существующих параметров libxslt

### Синтаксис команды showparam

showparam

## Showwatch

Показать текущее наблюдаемое выражение

Краткая форма: watches

### Синтаксис команды showwatch

showwatch (Показать выбранные в данный момент наблюдаемые выражения и их значения)
showwatch 1 (Включить режим автоматического вывода наблюдаемых выражений. Режим включён по умолчанию.)
showwatch 0 (Выключить режим автоматического вывода наблюдаемых выражений.)

## Source

Переключиться в режим отображения текущего узла в таблице стилей. Или использовать другую таблицу стилей.

### Синтаксис команды source

source (Перейти к текущему узлу в таблице стилей.)
source <SOURCE> (Использовать новый файл с таблицей стилей. Символ "~" в начале имени файла будет замещён значением переменной окружения $HOME. Для его обработки потребуется команда "run")

## Step

Перейти к следующей инструкции таблицы стилей.

Краткая форма: s

### Синтаксис команды step

step

## Stepdown

Передвинуться вниз по стеку к кадрам, которые были созданы позже.

Краткая форма: down

### Синтаксис команды stepdown

stepdown (передвинуться вниз по стеку на один кадр)
stepdown <NUMBER_OF_FRAMES> (передвинуться вниз по стеку на заданное количество кадров.)

## Stepup

Передвинуться вверх по стеку к кадрам, которые существуют дольше.

Краткая форма: up

Эта команда выполняется не очень точно, xsldbg произведёт остановку при ближайшей возможности.

### Синтаксис команды stepup

stepup (передвинуться вверх по стеку на один кадр)
stepup <NUMBER_OF_FRAMES> (передвинуться вверх по стеку на заданное количество кадров.)

## Stylesheets

Вывести список всех загруженных таблиц стилей

Краткая форма: style

### Синтаксис команды stylesheets

stylesheets

## System

Вывести значение, на которое System ID отображается через текущий каталог

Краткая форма: sys

### Синтаксис команды system

system "<SystemID>"

## Templates

Вывести список всех доступных шаблонов. Произвести поиск шаблона

Краткая форма: t

### Синтаксис команды templates

templates
templates <TEMPLATE> (Вывести детальную информацию о шаблоне с именем <TEMPLATE>, если такой существует)

## Trace

Трассировка исполнения таблицы стилей с указанием файла и строк промежуточных шагов.

### Синтаксис команды trace

trace

## Tty

Открыть терминал. Установить уровень перенаправления ввода/вывода.

### Синтаксис команды tty

tty <DEVICE_PATH> (Где <DEVICE_PATH> - существующий терминал операционной системы. Простая попытка открыть терминал

tty <TTY_LEVEL> (Установить уровень перенаправления ввода/вывода, где <TTY_LEVEL> - допустимый уровень ввода/вывода)

Где уровень может быть равен
0 = ввод/вывод, установленный по умолчанию
1 = Терминал используется для вывода результатов трансформаций, трассировок и исполнения кода (В случае, когда был открыт терминал, это значение используется по умолчанию. В данной версии реализовано не полностью.)
2 = Полное перенаправление на терминал (В данной версии не реализовано.)
Все прочие целочисленные значения трактуются как задание уровня 0

## Validate

Проверить на правильность файл, полученный после обработки таблицы стилей (Команда отключена)

### Синтаксис команды validate

validate

## Walk

Запустить исполнение кода с заданной скоростью

### Синтаксис команды walk

walk <SPEED> (Чтобы остановить исполнение, используйте Ctrl-c, <SPEED> - число от 0 до 9, где 0 - остановка, 1 - самая высокая скорость, 9 - самая низкая скорость)

## Where

Показать цепочку вызовов шаблонов (стек кадров) и рабочий каталог.

Краткая форма: w

### Синтаксис команды where

where

## Write

Описание команды появится в следующих версиях

### Синтаксис команды write

write