Serj Kalichev 1 year ago
parent
commit
d4b197b695
1 changed files with 78 additions and 3 deletions
  1. 78 3
      docs/klish3.ru.md

+ 78 - 3
docs/klish3.ru.md

@@ -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&gt; </ACTION>
+	</PROMPT>
+
+</VIEW>
+```
+
+В примере для `VIEW` с именем "main", который является текущим путем по
+умолчанию при запуске klish, определяется приглашение пользователя. В `ACTION`
+используется символ `prompt` из стандартного плугина "klish", который помогает
+в формировании приглашения, заменяя конструкции `%u` или `%h` подстановками.
+В частности `%u` заменяется на имя текущего пользователя, а `%h` на имя хоста.
+
 
 ### HELP