|
@@ -1415,7 +1415,7 @@ SEQ сам может быть элементом контейнера SWITCH.
|
|
|
|
|
|
```
|
|
|
<PTYPE name="ptype1">
|
|
|
- <ACTION sym="/INT"/>
|
|
|
+ <ACTION sym="INT"/>
|
|
|
</PTYPE>
|
|
|
|
|
|
<VIEW name="view1">
|
|
@@ -1502,7 +1502,7 @@ SEQ сам может быть элементом контейнера SWITCH.
|
|
|
|
|
|
```
|
|
|
<PTYPE name="ptype1">
|
|
|
- <ACTION sym="/INT"/>
|
|
|
+ <ACTION sym="INT"/>
|
|
|
</PTYPE>
|
|
|
|
|
|
<VIEW name="view1">
|
|
@@ -1517,7 +1517,7 @@ SEQ сам может быть элементом контейнера SWITCH.
|
|
|
|
|
|
<PARAM name="param3" help="Param 3">
|
|
|
<PTYPE>
|
|
|
- <ACTION sym="/INT"/>
|
|
|
+ <ACTION sym="INT"/>
|
|
|
</PTYPE>
|
|
|
</PARAM>
|
|
|
|
|
@@ -1641,9 +1641,84 @@ SEQ сам может быть элементом контейнера SWITCH.
|
|
|
|
|
|
### PTYPE
|
|
|
|
|
|
+Элемент `PTYPE` описывает тип данных для параметров. Параметры
|
|
|
+[`PARAM`](#param) ссылаются на тип данных с помощью атрибута `ptype` или
|
|
|
+содержат вложенный элемент `PTYPE`. Задача `PTYPE` проверить переданный
|
|
|
+оператором аргумент на корректность и вернуть результат в виде "успех" или
|
|
|
+"ошибка". Если сказать точнее, результат проверки можно выразить, как
|
|
|
+"подходит" или "не подходит". Внутри элемента `PTYPE` указываются действия
|
|
|
+[`ACTION`](#action), которые и выполняют проверку аргумента на соответствие
|
|
|
+объявленному типу данных.
|
|
|
+
|
|
|
+
|
|
|
+#### Атрибуты элемента `PTYPE`
|
|
|
+
|
|
|
+* [`name`](#атрибут-name) - идентификатор элемента.
|
|
|
+* [`help`](#атрибут-help) - описание элемента.
|
|
|
+* [`ref`](#атрибут-ref) - ссылка на другой `PTYPE`.
|
|
|
+
|
|
|
+
|
|
|
+#### Примеры
|
|
|
+
|
|
|
+```
|
|
|
+<PTYPE name="ptype1" help="Integer">
|
|
|
+ <ACTION sym="INT"/>
|
|
|
+</PTYPE>
|
|
|
+
|
|
|
+<PARAM name="param1" ptype="/ptype1" help="Param 1"/>
|
|
|
+```
|
|
|
+
|
|
|
+В примере объявляется тип данных "ptype1". Это целое число и символ `INT` из
|
|
|
+стандартного плугина "klish" проверяет, что введенный аргумент действительно
|
|
|
+является целым числом.
|
|
|
+
|
|
|
+Другие варианты использования тега `PTYPE` и атрибута `ptype` рассматриваются в
|
|
|
+разделе примеров элемента [`PARAM`](#param).
|
|
|
+
|
|
|
|
|
|
### PROMPT
|
|
|
|
|
|
+Элемент `PROMPT` имеет специальное назначение и является вложенным для элемента
|
|
|
+`VIEW`. Назначение элемента - формировать приглашение для пользователя, если
|
|
|
+родительский `VIEW` является текущим путем сессии. Если текущий путь
|
|
|
+многоуровневый, то не найдя элемента `PROMPT` в последнем элементе пути,
|
|
|
+механизм поиска поднимется на уровень выше и будет искать `PROMPT` там. И так
|
|
|
+вплоть до корневого элемента. Если и там `PROMPT` не будет найден, то
|
|
|
+используется стандартное приглашение на усмотрение клиента klish. По умолчанию
|
|
|
+клиент klish использует приглашение `$`.
|
|
|
+
|
|
|
+Внутри элемента `PROMPT` указываются действия [`ACTION`](#action), которые
|
|
|
+формируют текст приглашения для пользователя.
|
|
|
+
|
|
|
+Элементу `PROMPT` принудительно присвоено значение атрибута `purpose="prompt"`.
|
|
|
+Также `PROMPT` является контейнером.
|
|
|
+
|
|
|
+
|
|
|
+#### Атрибуты элемента `PROMPT`
|
|
|
+
|
|
|
+* [`name`](#атрибут-name) - идентификатор элемента.
|
|
|
+* [`help`](#атрибут-help) - описание элемента.
|
|
|
+* [`ref`](#атрибут-ref) - ссылка на другой `PROMPT`.
|
|
|
+
|
|
|
+
|
|
|
+#### Примеры
|
|
|
+
|
|
|
+```
|
|
|
+<VIEW name="main">
|
|
|
+
|
|
|
+ <PROMPT>
|
|
|
+ <ACTION sym="prompt">%u@%h> </ACTION>
|
|
|
+ </PROMPT>
|
|
|
+
|
|
|
+</VIEW>
|
|
|
+```
|
|
|
+
|
|
|
+В примере для `VIEW` с именем "main", который является текущим путем по
|
|
|
+умолчанию при запуске klish, определяется приглашение пользователя. В `ACTION`
|
|
|
+используется символ `prompt` из стандартного плугина "klish", который помогает
|
|
|
+в формировании приглашения, заменяя конструкции `%u` или `%h` подстановками.
|
|
|
+В частности `%u` заменяется на имя текущего пользователя, а `%h` на имя хоста.
|
|
|
+
|
|
|
|
|
|
### HELP
|
|
|
|