<?xml version="1.0" encoding="windows-1251"?>
<manifest xmlns="http://www.imsglobal.org/xsd/imscp_v1p1">
    <organizations>
        <organization identifier="builtins" structure="hierarchical">
            <title>Встроенные функции Флэнга</title>
            <item identifier="arithfuncs">
                <title>Арифметические функции</title>
                <metadata>
                    <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                        <imsmd:implementation>
                            <imsmd:Revision>
                                <imsmd:Correction>???</imsmd:Correction>
                                <imsmd:Reason>Операции определены только для целых чисел</imsmd:Reason>
                            </imsmd:Revision>
                            <imsmd:Revision>
                                <imsmd:Correction>???</imsmd:Correction>
                                <imsmd:Reason>Нужно добавить mod</imsmd:Reason>
                            </imsmd:Revision>
                        </imsmd:implementation>
                    </imsmd:lom>
                </metadata>
                <item identifier="plus2">
                    <title>+</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>Arg1 + Arg2</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Arg1</imsmd:Argument>
                                    <imsmd:Type>Float/Integer/String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">первое слагаемое</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Arg2</imsmd:Argument>
                                    <imsmd:Type>Float/Integer/String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">второе слагаемое</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Float/Integer/String</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">В зависимости от типа аргумента: если суммируются числа, то результат также является числом (целым или вещественным), если хотя бы одним из аргументов является строка, то функция действует как конкатенация, объединяющая две строки. Если второй аргумент не является строкой, он переводится в строку по стандартным правилам.</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">результат суммирования</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="minus2">
                    <title>-</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>Arg1 - Arg2</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Arg1</imsmd:Argument>
                                    <imsmd:Type>Integer/Float</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">уменьшаемое</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Arg2</imsmd:Argument>
                                    <imsmd:Type>Integer/Float</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">вычитаемое</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Integer/Float</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">вычитает из первого аргумент второй аргумент</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">разность</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="multiply2">
                    <title>*</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>Arg1 * Arg2</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Arg1</imsmd:Argument>
                                    <imsmd:Type>Integer/Float</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">первый сомножитель</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Arg2</imsmd:Argument>
                                    <imsmd:Type>Integer/Float</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">второй сомножитель</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Integer/Float</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">умножает аргументы</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">результат умножения</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="divide2">
                    <title>div</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>Arg1 div Arg2</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Arg1</imsmd:Argument>
                                    <imsmd:Type>Integer/Float</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">делимое</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Arg2</imsmd:Argument>
                                    <imsmd:Type>Integer/Float</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">делитель</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Integer/Float</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">делит нацело первый аргумент на второй аргумент</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">результат деления</imsmd:langstring>
                                </imsmd:Result>
                                <imsmd:Notes>
                                    <imsmd:langstring xml:lang="ru">Стандартный знак деления "/" используется во Флэнге для других целей (для работы с xml-термами)</imsmd:langstring>
                                </imsmd:Notes>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="uminus1">
                    <title>-</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>- Arg</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Arg</imsmd:Argument>
                                    <imsmd:Type>Integer/Float</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">Число</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Integer/Float</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">меняет знак целого числа</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">целое число, обратное аргументу</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="lt2">
                    <title>&lt;&lt;</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>Arg1 &lt;&lt; Arg2</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Arg1</imsmd:Argument>
                                    <imsmd:Type>Integer/Float</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">первое сравниваемое число или строка</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Arg2</imsmd:Argument>
                                    <imsmd:Type>Integer/Float</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">второе сравниваемое число или строка</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Boolean</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">проверяет, является ли первое число или строка строго меньше аргумента - числа или строки. В случае строк используется лексикографический порядок</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">true/fail</imsmd:langstring>
                                </imsmd:Result>
                                <imsmd:Notes>
                                    <imsmd:langstring xml:lang="ru">предикат</imsmd:langstring>
                                </imsmd:Notes>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="leq2">
                    <title>&lt;=</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>Arg1 &lt;= Arg2</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Arg1</imsmd:Argument>
                                    <imsmd:Type>Integer/Float</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">первое число</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Arg2</imsmd:Argument>
                                    <imsmd:Type>Integer/Float</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">второе число</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Boolean</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">проверяет, является ли первое число меньшим или равным второму числу</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">true/fail</imsmd:langstring>
                                </imsmd:Result>
                                <imsmd:Notes>
                                    <imsmd:langstring xml:lang="ru">предикат</imsmd:langstring>
                                </imsmd:Notes>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="equal2">
                    <title>==</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>Arg1 == Arg2</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Arg1</imsmd:Argument>
                                    <imsmd:Type>Object</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">первое сравниваемое значение</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Arg2</imsmd:Argument>
                                    <imsmd:Type>Object</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">второе сравниваемое значение</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Boolean</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">проверяет на равенство два объекта</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">true/fail</imsmd:langstring>
                                </imsmd:Result>
                                <imsmd:Notes>
                                    <imsmd:langstring xml:lang="ru">предикат. Внимание: если объект является сложным (например, xml-термом, списком и т.д), то аргументы будут равны только в том случае, если они содержат один и тот же объект. Сравнение разных объектов производится функцией equal</imsmd:langstring>
                                </imsmd:Notes>
                            </imsmd:general>
                            <imsmd:implementation>
                                <imsmd:Revision>
                                    <imsmd:Correction>???</imsmd:Correction>
                                    <imsmd:Reason>Пока работает только для целых чисел и атомов, хотя проверка на тип не производится</imsmd:Reason>
                                </imsmd:Revision>
                            </imsmd:implementation>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="geq2">
                    <title>&gt;=</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>Arg1 &gt;= Arg2</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Arg1</imsmd:Argument>
                                    <imsmd:Type>Integer/Float</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">первое число</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Arg2</imsmd:Argument>
                                    <imsmd:Type>Integer/Float</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">второе число</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Boolean</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">проверяет, является ли первое число меньшим, либо равным второму</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">true/fail</imsmd:langstring>
                                </imsmd:Result>
                                <imsmd:Notes>
                                    <imsmd:langstring xml:lang="ru">предикат</imsmd:langstring>
                                </imsmd:Notes>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="gt2">
                    <title>&gt;&gt;</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>Arg1 &gt;&gt; Arg2</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Arg1</imsmd:Argument>
                                    <imsmd:Type>Integer/Float/String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">первое сравниваемое значение</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Arg2</imsmd:Argument>
                                    <imsmd:Type>Integer/Float/String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">второе сравниваемое значение</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Boolean</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">сравнивает, больше ли первый аргумент второго. В случае строки используется лексикографический порядок</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">true/fail</imsmd:langstring>
                                </imsmd:Result>
                                <imsmd:Notes>
                                    <imsmd:langstring xml:lang="ru">предикат</imsmd:langstring>
                                </imsmd:Notes>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="geq2">
                    <title>&gt;=</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>Arg1 &gt;= Arg2</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Arg1</imsmd:Argument>
                                    <imsmd:Type>Integer/Float</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">первое сравниваемое число</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Arg2</imsmd:Argument>
                                    <imsmd:Type>Integer/Float</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">второе сравниваемое число</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Boolean</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">проверяет, является ли первый аргумент большим или равным второму аргументу</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">true/fail</imsmd:langstring>
                                </imsmd:Result>
                                <imsmd:Notes>
                                    <imsmd:langstring xml:lang="ru">предикат</imsmd:langstring>
                                </imsmd:Notes>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
            </item>
            <item identifier="termsfuncs">
                <title>Функции работы с объектами (термами)</title>
                <item identifier="unify2">
                    <title>=</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>Term1 = Term2</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Term1</imsmd:Argument>
                                    <imsmd:Type>Object</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">первый унифицируемый объект</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Term2</imsmd:Argument>
                                    <imsmd:Type>Object</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">второй унифицируемый объект</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Boolean</imsmd:ResultType>
                                <imsmd:Notes>
                                    <imsmd:langstring xml:lang="ru">в процессе унификации (совмещения) вместо свободных переменных в термах подставляются значения, делающие термы равными.</imsmd:langstring>
                                </imsmd:Notes>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="ident1">
                    <title>ident/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>ident(Expr)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Expr</imsmd:Argument>
                                    <imsmd:Type>Object</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">произвольное выражение</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Object</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">тождественная функция, возвращающая значение своего аргумента</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">значение аргумента</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="struct1">
                    <title>struct/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>struct(Functor)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Functor</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">имя и местность функтора в формате имя/местность.</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Boolean</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Декларирует в системе новую структуру, задаваемую аргументом Functor. Аргумент должен быть строкой в формате имя/местность. Hапример если аргумент равен "f/3", то в дальнейшем выражения вида f(X, Y, Z) будут пониматься системой как термы (структуры).</imsmd:langstring>
                                </imsmd:FunDescr>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
            </item>
            <item identifier="lists">
                <title>Списки</title>
                <item identifier="emptylist">
                    <title>[]</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>Константа []</imsmd:function>
                                <imsmd:ResultType>List</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Атом пустого списка</imsmd:langstring>
                                </imsmd:FunDescr>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="RmUAsAPc">
                    <title>|</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>[Head | Tail]</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Head</imsmd:Argument>
                                    <imsmd:Type>Object</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">Голова (первый элемент) списка</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Tail</imsmd:Argument>
                                    <imsmd:Type>List</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">Хвост (список остальных элементов)</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>List</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Конструктор списка [Head | Tail] присоединяет элемент Head к списку Tail в качестве первого элемента.</imsmd:langstring>
                                </imsmd:FunDescr>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
            </item>
            <item identifier="hashtables">
                <title>Работа с хэш-таблицами</title>
                <item identifier="newHash0">
                    <title>newHash/0</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>newHash()</imsmd:function>
                                <imsmd:ResultType>Hash</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Порождает новую пустую хэш-таблицу.</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">пустая хэш-таблица</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="newHash1">
                    <title>newHash/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>newHash(Contents)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Contents</imsmd:Argument>
                                    <imsmd:Type>List/Vector</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">содержимое хэш-таблицы</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Hash</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Создает новую хэш-таблицу с парами ключ-значение, перечисленными в Contents в виде списков или векторов, элементами которых являются термы вида ключ/значение. Элементами списка/вектора могут быть также другие hash-таблицы. В этом случае функция переносит в новую хэш-таблицу данные из этих хэш-таблиц.</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Хэш-таблица</imsmd:langstring>
                                </imsmd:Result>
                                <imsmd:Notes>
                                    <imsmd:langstring xml:lang="ru">Аргумент функции может быть как вектором, так и списком. При порождении хэш-таблицы функция перебирает элементы Contents аналогично тому, как это делает перечисление eFlat. Поэтому аргумент функции может содержать вложенные списки и вектора и их смешение. Элементарными единицами Contents могут быть термы вида n/v, где n и v - произвольные элементы, а также другие хэш-таблицы. В последнем случае в порождаемую хэш-таблицу добавляется содержимое этой хэш-таблицы.</imsmd:langstring>
                                </imsmd:Notes>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="hClear1">
                    <title>hClear/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>hClear(H)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>H</imsmd:Argument>
                                    <imsmd:Type>Hash</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">очищаемая hash-таблица</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Hash</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Удаляет все ключи и значения из hash-таблицы</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Очищенная пустая hash-таблица</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="hClone1">
                    <title>hClone/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>hClone(H)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>H</imsmd:Argument>
                                    <imsmd:Type>Hash</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">клонируемая hash-таблица</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Hash</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Делает копию hash-таблицы</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Копия hash-таблицы</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="hasValue2">
                    <title>hasValue/2</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>hasValue(H, V)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>H</imsmd:Argument>
                                    <imsmd:Type>Hash</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">hash-таблица, в которой проверяется значение</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>V</imsmd:Argument>
                                    <imsmd:Type>Object</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">проверяемое значение</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Boolean</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">проверяет, содержится ли значение V в таблице H</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">true/fail</imsmd:langstring>
                                </imsmd:Result>
                                <imsmd:Notes>
                                    <imsmd:langstring xml:lang="ru">предикат</imsmd:langstring>
                                </imsmd:Notes>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="hasKey2">
                    <title>hasKey/2</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>hasKey(H, K)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>H</imsmd:Argument>
                                    <imsmd:Type>Hash</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">hash-таблица, в которой проверяется наличие ключа</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>K</imsmd:Argument>
                                    <imsmd:Type>Object</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">ключ, проверяемый на наличие в таблице</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Boolean</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Проверяет наличие ключа K в таблице H</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">true/fail</imsmd:langstring>
                                </imsmd:Result>
                                <imsmd:Notes>
                                    <imsmd:langstring xml:lang="ru">предикат</imsmd:langstring>
                                </imsmd:Notes>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="hGet2">
                    <title>hGet/2</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>hGet(H, K)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>H</imsmd:Argument>
                                    <imsmd:Type>Hash</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">hash-таблица, в которой ведется поиск</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>K</imsmd:Argument>
                                    <imsmd:Type>Object</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">ключ, по которому ведется поиск</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Object</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Выдает значение, соответствующее ключу K</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Значение ключа K</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="hPut3">
                    <title>hPut/3</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>hPut(H, K, V)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>H</imsmd:Argument>
                                    <imsmd:Type>Hash</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">таблица, в которую включается пара ключ-значение</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>K</imsmd:Argument>
                                    <imsmd:Type>Object</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">ключ</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>V</imsmd:Argument>
                                    <imsmd:Type>Object</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">значение</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Boolean</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Добавляет в таблицу H пару ключ-значение</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">true/fail</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="hRemove2">
                    <title>hRemove/2</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>hRemove(H, K)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>H</imsmd:Argument>
                                    <imsmd:Type>Hash</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">таблица, из которой удаляется ключ</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>K</imsmd:Argument>
                                    <imsmd:Type>Object</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">удаляемый ключ</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Удаляет из таблицы H ключ K с соответствующими значениями.</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Возвращает значение, привязанное к данному ключу (если есть), либо null</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="getContext2">
                    <title>getContext/2</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>getContext(OldEnv, NewEnv)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>OldEnv</imsmd:Argument>
                                    <imsmd:Type>Hash</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">изменяемый контекст (набор пар ключ/значение)</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>NewEnv</imsmd:Argument>
                                    <imsmd:Type>Hash</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">изменяющий контекст</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Hash</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Объединяет hash-таблицы (контексты) OldEnv и NewEnv. Значения общих ключей выбираются из нового контекста NewEnv</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Таблица, в которой в контекст OldEnv добавлены пары из NewEnv, причем если ключ определен в обоих контекстах, то значение выбирается из NewEnv</imsmd:langstring>
                                </imsmd:Result>
                                <imsmd:Notes>
                                    <imsmd:langstring xml:lang="ru">Функция в первую очередь ориентирована на обработку xml- и html-термов. Пример: объединение множеств атрибутов getContext(newHash([color="red", size="15"], newHash([color="blue", font="Arial"]) дает hash-таблицу {color/"blue", size/"15", font/"Arial"}</imsmd:langstring>
                                </imsmd:Notes>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
            </item>
            <item identifier="strings">
                <title>Работа со строками</title>
                <item identifier="pluss1">
                    <title>+</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>Arg1 + Arg2</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Arg1</imsmd:Argument>
                                    <imsmd:Type>String/Object</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">первый аргумент</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Arg2</imsmd:Argument>
                                    <imsmd:Type>String/Object</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">второй аргумент</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>String</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">если хотя бы один из аргументов является строкой, другой аргумент конвертируется в строку, после чего строки объединяются</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Строка-конкатенация</imsmd:langstring>
                                </imsmd:Result>
                                <imsmd:Notes>
                                    <imsmd:langstring xml:lang="ru">по крайней мере один из аргументов должен быть строкой</imsmd:langstring>
                                </imsmd:Notes>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="lts2">
                    <title>&lt;&lt;</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>Obj1 &lt;&lt; Obj2</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Obj1</imsmd:Argument>
                                    <imsmd:Type>Object</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">первый сравниваемый объект</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Obj2</imsmd:Argument>
                                    <imsmd:Type>Object</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">втроой сравниваемый объект</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Boolean</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Если хотя бы один из аргументов является строкой, то приводит второй аргумент к строковому виду, после чего лексикогрфически сравнивает объекты по схеме функции sCompareIgnoreCase/2. Равен true, если первый объект лексикографически меньше второго объекта</imsmd:langstring>
                                </imsmd:FunDescr>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="gts2">
                    <title>&gt;&gt;</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>Obj1 &gt;&gt; Obj2</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Obj1</imsmd:Argument>
                                    <imsmd:Type>Object</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">первый сравниваемый объект</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Obj2</imsmd:Argument>
                                    <imsmd:Type>Object</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">втроой сравниваемый объект</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Boolean</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Если хотя бы один из аргументов является строкой, то приводит второй аргумент к строковому виду, после чего лексикогрфически сравнивает объекты по схеме функции sCompareIgnoreCase/2. Равен true, если первый объект лексикографически больше второго объекта</imsmd:langstring>
                                </imsmd:FunDescr>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="les2">
                    <title>&lt;=</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>Obj1 &lt;= Obj2</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Obj1</imsmd:Argument>
                                    <imsmd:Type>Object</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">первый сравниваемый объект</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Obj2</imsmd:Argument>
                                    <imsmd:Type>Object</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">втроой сравниваемый объект</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Boolean</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Если хотя бы один из аргументов является строкой, то приводит второй аргумент к строковому виду, после чего лексикогрфически сравнивает объекты по схеме функции sCompareIgnoreCase/2. Равен true, если первый объект лексикографически меньше или равен второму объекту</imsmd:langstring>
                                </imsmd:FunDescr>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="ges2">
                    <title>&gt;=</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>Obj1 &gt;= Obj2</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Obj1</imsmd:Argument>
                                    <imsmd:Type>Object</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">первый сравниваемый объект</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Obj2</imsmd:Argument>
                                    <imsmd:Type>Object</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">втроой сравниваемый объект</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Boolean</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Если хотя бы один из аргументов является строкой, то приводит второй аргумент к строковому виду, после чего лексикогрфически сравнивает объекты по схеме функции sCompareIgnoreCase/2. Равен true, если первый объект лексикографически больше или равен второму объекту.</imsmd:langstring>
                                </imsmd:FunDescr>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="isString1">
                    <title>isString/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>isString(Obj)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Obj</imsmd:Argument>
                                    <imsmd:Type>Object</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">проверяемый объект</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Boolean</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Проверяет, является ли аргумент строкой</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">true/fail</imsmd:langstring>
                                </imsmd:Result>
                                <imsmd:Notes>
                                    <imsmd:langstring xml:lang="ru">предикат</imsmd:langstring>
                                </imsmd:Notes>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="sLength1">
                    <title>sLength/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>sLength(String)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>String</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">строка, у которой определяется длина</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Integer</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Вычисляет длину строки</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Целочисленное значение длины строки</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="sCharAt2">
                    <title>sCharAt/2</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>sCharAt(String, Idx)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>String</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">строка</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Idx</imsmd:Argument>
                                    <imsmd:Type>Integer</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">индекс строки</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Integer</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Вычисляет длину строки</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Целочисленное значение длины строки</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="isEqual2">
                    <title>isEqual/2</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>isEqual(String1, String2)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>String1</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">первая строка</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>String2</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">вторая строка</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Boolean</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">проверяет, совпадают ли две строки</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">true/fail</imsmd:langstring>
                                </imsmd:Result>
                                <imsmd:Notes>
                                    <imsmd:langstring xml:lang="ru">предикат</imsmd:langstring>
                                </imsmd:Notes>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="sCompare2">
                    <title>sCompare/2</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>sCompare(String1, String2)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>String1</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">первая сравниваемая строка</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>String2</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">вторая сравниваемая строка</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Integer</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">лексикографически сравнивает строки</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">целочисленное значение: если меньше 0, то первая строка лексикографически меньше второй, если 0, то строки равны, если больше 0, то вторая строка лексикографически меньше первой</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="sCompareIgnoreCase2">
                    <title>sCompareIgnoreCase/2</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>sCompareIgnoreCase(String1, String2)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>String1</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">первая сравниваемая строка</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>String2</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">вторая сравниваемая строка</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Integer</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">лексикографически сравнивает строки без учета регистра</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">целочисленное значение: если меньше 0, то первая строка лексикографически меньше второй, если 0, то строки равны, если больше 0, то вторая строка лексикографически меньше первой</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="sToLowerCase1">
                    <title>sToLowerCase/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>sToLowerCase(String)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>String</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">Обрабатываемая строка</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>String</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Порождает строку, в которой заглавные буквы строки-аргумента заменены на строчные</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Строка со строчными символами</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="sToUpperCase1">
                    <title>sToUpperCase/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>sToUpperCase(String)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>String</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">обрабатываемая строка</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>String</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Порождает строку, в которой строчные буквы строки-аргумента заменены на заглавные</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Строка с заглавными буквами</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="sIndexOf2">
                    <title>sIndexOf/2</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>sIndexOf(String1, String2)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>String1</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">cтрока, в которой ищется подстрока</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>String2</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">искомая подстрока</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Integer</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Ищет вхождение строки 2 в строку 1. Возвращает индекс первого вхождения строки 2 в строку 1.</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Возвращает индекс первого вхождения строки 2 в строку 1</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="sLastIndexOf2">
                    <title>sLastIndexOf/2</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>sIndexOf(String1, String2)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>String1</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">Строка, в которой ищется вхождение строки String2</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>String2</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">Строка, последнее вхождение которой ищется в строке String1</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Integer</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Аналогична sIndexOf/1, но ищет не первое, а последнее вхождение подстроки</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Позиция последнего вхождения строки String2 в String1.</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="subString2">
                    <title>subString/2</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>subString(String, Idx1, Idx2)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>String</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">строка, в который вырезается подстрока</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Idx1</imsmd:Argument>
                                    <imsmd:Type>Integer</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">начальный индекс вырезаемой подстроки</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Idx2</imsmd:Argument>
                                    <imsmd:Type>Integer</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">конечный индекс вырезаемой подстроки</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>String</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Вырезает в строке подстроку</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Вырезаемая подстрока</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="sAppend2">
                    <title>sAppend/2</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>sAppend(String1, String2)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>String1</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">первая строка</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>String2</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">вторая строка</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>String</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">присоединяет справа строку 2 к строке 1</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">объединенная строка</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="sValueOf1">
                    <title>sValueOf/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>sValueOf(Term)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Term</imsmd:Argument>
                                    <imsmd:Type>Object</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">преобразуемый объект</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>String</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">конвертирует объект в строчный вид</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">строка, представляющая преобразуемый объект</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="sTrim1">
                    <title>sTrim/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>sTrim(Str)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Str</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">строка, у которой удаляются пробелы</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>String</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Удаляет пробелы с обоих концов строки</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Строка без пробелов на концах</imsmd:langstring>
                                </imsmd:Result>
                                <imsmd:Notes>
                                    <imsmd:langstring xml:lang="ru">Удаляются символы, чей код не больше кода пробела (32).</imsmd:langstring>
                                </imsmd:Notes>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="sNorm1">
                    <title>sNorm/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>sNorm(Str)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Str</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">нормализуемая строка</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>String</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Нормализует строку-аргумент: удаляя пробельные символы с концов строки и заменяя последовательности пробельных символов внутри строки одним символом пробела</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Нормализованная строка</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="startsWith3">
                    <title>startsWith/3</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>startsWith(Str, Prefix, Offset)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Str</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">строка, начало которой сравнивается со вторым аргументом</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Prefix</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">строка-префикс</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Offset</imsmd:Argument>
                                    <imsmd:Type>Integer</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">Позиция в первой строке, с которой начинается проверка</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Boolean</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Проверяет, начинается ли строка Str с индекса Offset строкой Prefix</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">true, если условие выполняется, fail в противном случае</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="sEndsWith2">
                    <title>sEndsWith/2</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>sEndsWith(Str, Suffix)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Str</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">сравниваемая строка</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Suffix</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">строка-окончание</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Boolean</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Проверяет, заканчивается ли строка Str подстрокой Suffix</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">true, если условие выполняется, fail в противном случае</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="sReplace2">
                    <title>sReplace/2</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>sReplace(Pattern, Input)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Pattern</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">Шаблон, по которому проводится замена, например "s/(\d):/($1)/g"</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Input</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">Входная строка, в которой проводятся замены</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>String</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">В соответствии с правилами Perl5 пытается провести замену подстрок, удовлетворяющих шаблону. Стандартным образом используются \1.., $1, а также ключи - g, i, x, m</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Результирующая строка, полученная из входном после операций замены</imsmd:langstring>
                                </imsmd:Result>
                                <imsmd:Notes>
                                    <imsmd:langstring xml:lang="ru">Пример: результатом sReplace("s/http:\/\/[\/\.\w\-\?~_@&amp;=%]+/&lt;a href='$0'&gt;$0&lt;\/a&gt;/", "Flang home page: http://www.teacode.com/flang"); будет "Flang home page: &lt;a href='http://www.teacode.com/flang'&gt;http://www.teacode.com/flang&lt;/a&gt;"</imsmd:langstring>
                                </imsmd:Notes>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="sMatch2">
                    <title>sMatch/2</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>sMatch(Pattern, InputString)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Pattern</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">Шаблон, по которому внутри строки ищется соответствие</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>InputString</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">Строка, в которой ищется соответствие</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Boolean</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Данная функция инициализирует поиск в строке InputString подстроки, соответствующей шаблону Pattern. Результат работы этой функции в дальнейшем доступен с помощью функции sGroup/1</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Notes>
                                    <imsmd:langstring xml:lang="ru">Пример: sMatch("/\d:.*?(?=\d:)/", "1: haha 2: hehe 3: hoho"); возвращает true, кроме того устанавливается соответствие между группами шаблона и первым вариантом установки соответствия между шаблоном и подстрокой обрабатываемой строки</imsmd:langstring>
                                </imsmd:Notes>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="sMatch0">
                    <title>sMatch/0</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>sMatch()</imsmd:function>
                                <imsmd:ResultType>Boolean</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Находит очередное совпадение шаблона и подстроки, инициализированное sMatch/2. Результаты совпадения получаются с помощью функции sGroup/1</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Истина, если очередное совпадение найдено</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="sGroup1">
                    <title>sGroup/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>sGroup(GroupNum)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>GroupNum</imsmd:Argument>
                                    <imsmd:Type>Integer</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">Номер группы, результат совпадения которой с подстрокой необходимо вернуть</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>String</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Выдает подстроку, которая совместилась с группой, имеющей номер GroupNum, во время последнего применения функции sMatch.</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Строка, совпавшая с группой с номером GroupNum при последнем применении функции sMatch.</imsmd:langstring>
                                </imsmd:Result>
                                <imsmd:Notes>
                                    <imsmd:langstring xml:lang="ru">Группа - часть шаблона, заключенная в круглые скобки. Группы нумеруются в порядке вхождения открывающих скобок группы в шаблон. Например, шаблон "((.*)-.*)- " содержит две группы: первая - ((.*)-.*) и вторая (.*). При этом группа с номером 0 - все совпавшее выражение. Пример: после вызова sMatch("/((.*)-.*)-/", "ab-cd-e"), будут следующие результаты: sGroup(0)="ab-cd-" sGroup(1)="ab-cd" и sGroup(2)="ab"</imsmd:langstring>
                                </imsmd:Notes>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="sSplit2">
                    <title>sSplit2</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>sSplit(PatternSeparator, SplittedString)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>PatternSeparator</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">Шаблон, разделяющей строку на подстроки</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>SplittedString</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">Строка, разбиваемая на подстроки в соответствии с шаблоном</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Enumeration</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Разбивает строку SplittedString на подстроки в соответствии с шаблоном PatternSeparator.</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Перечисление подстрок входной строки, разделенных шаблоном PatternSeparator</imsmd:langstring>
                                </imsmd:Result>
                                <imsmd:Notes>
                                    <imsmd:langstring xml:lang="ru">Пример: разбиение sSplit("/, /", "1, 2, 3") разбивает строку "1, 2, 3" на три подстроки "1", "2" и "3", последовательность которых формируется в виде перечисления</imsmd:langstring>
                                </imsmd:Notes>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
            </item>
            <item identifier="vectors">
                <title>Работа с векторами</title>
                <item identifier="newVector1">
                    <title>newVector/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>newVector(Data)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Data</imsmd:Argument>
                                    <imsmd:Type>Integer/List</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">если аргумент - число, то определяется стартовая длина вектора, если - список, то вектор формируется явно из элементов списка</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Vector</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">порождает новый вектор. Если аргументом функции является число N, то порождается вектор длины N, содержащий N новых свободных переменных. Если аргумент - список, то вектор формируется из элементов списка</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">вектор</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="vGet2">
                    <title>vGet/2</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>vGet(V, Idx)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>V</imsmd:Argument>
                                    <imsmd:Type>Vector</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">вектор, в котором выбирается значение</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Idx</imsmd:Argument>
                                    <imsmd:Type>Integer</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">позиция значения, которое выбирается в векторе</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Object</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">выбирает Idx-ный элемент вектора V</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">выбранный элемент вектора V</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="vSet3">
                    <title>vSet/3</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>vSet(V, Idx, Obj)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>V</imsmd:Argument>
                                    <imsmd:Type>Vector</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">вектор, у которого изменяется значение элемента</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Idx</imsmd:Argument>
                                    <imsmd:Type>Integer</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">индекс изменяемого элемента вектора (неотрицательное целое число)</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Obj</imsmd:Argument>
                                    <imsmd:Type>Object</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">Значение, присваиваемое Idx-ному элементу вектора</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Object</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Объект Obj становится Idx-ным элементом вектора V</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">значение объекта Obj</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="vRemove2">
                    <title>vRemove/2</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>vRemove(V, Idx)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>V</imsmd:Argument>
                                    <imsmd:Type>Vector</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">Вектор, в котором удаляется элемент</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Idx</imsmd:Argument>
                                    <imsmd:Type>Integer</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">Индекс удаляемого элемента</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Object</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Удаляет элемент с номером Idx из вектора V, уменьшая количество элементов V на 1</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Удаляемый элемент</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="vAdd2">
                    <title>vAdd/2</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>vAdd(Vector, Elem)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Vector</imsmd:Argument>
                                    <imsmd:Type>Vector</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">вектор, в который добавляется элемент</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Elem</imsmd:Argument>
                                    <imsmd:Type>Object</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">элемент, добавляемый в вектор</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Vector</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Добавляет элемент в конец вектора</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">функция возвращает вектор с добавленным элементом</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="vLength1">
                    <title>vLength/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>vLength(Vec)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Vec</imsmd:Argument>
                                    <imsmd:Type>Vector</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">вектор, у которого измеряется длина</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Integer</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Измеряет длину вектора</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Возвращает неотрицательное целое число, являющееся длиной вектора</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
            </item>
            <item identifier="typesconv">
                <title>Работа с типами и конвертация типов</title>
                <item identifier="FPYcsfZa">
                    <title>Тип Object</title>
                </item>
                <item identifier="mutpDkOR">
                    <title>Элемент null</title>
                </item>
                <item identifier="tQtTKhUf">
                    <title>Тип Integer</title>
                </item>
                <item identifier="zUVzdWrJ">
                    <title>Тип Float</title>
                </item>
                <item identifier="fDzElkPR">
                    <title>Тип String</title>
                </item>
                <item identifier="lDqjOHsV">
                    <title>Тип Hash</title>
                </item>
                <item identifier="VULUhPYE">
                    <title>Тип Vector</title>
                </item>
                <item identifier="IDSYiPmI">
                    <title>Тип Enum</title>
                </item>
                <item identifier="TcZvGwTk">
                    <title>Тип Atom</title>
                </item>
                <item identifier="Term">
                    <title>Тип Term</title>
                </item>
                <item identifier="isVar1">
                    <title>isVar/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>isVar(Obj)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Obj</imsmd:Argument>
                                    <imsmd:Type>Object</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">проверяемый объект (терм)</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Boolean</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Проверяет, является ли объект Obj свободной (пустой) переменной, вместо которой можно подставлять значение</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">true, если объект является пустой переменной, fail в противном случае</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="isInt1">
                    <title>isInt/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>isInt(Obj)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Obj</imsmd:Argument>
                                    <imsmd:Type>Object</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">объект у которого проверяется тип</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Boolean</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Проверяет, является ли объект Obj целым числом. Если да, то возвращается true, если нет - возникает возврат (fail)</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">В случае успеха, результатом является true</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="isString1">
                    <title>isString/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>isString(Obj)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Obj</imsmd:Argument>
                                    <imsmd:Type>Object</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">объект, у которого определяется тип</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Boolean</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Проверяет, является ли объект строкой</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">true, если Obj является строкой, fail, если объект не является строкой</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="isFloat1">
                    <title>isFloat/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>isFloat(Obj)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Obj</imsmd:Argument>
                                    <imsmd:Type>Object</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">объект, у которого проверяется тип</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Boolean</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Проверяет, является ли аргумент строкой</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">true, если аргумент - строка, fail в противном случае</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="isAtom1">
                    <title>isAtom/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>isAtom(Obj)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Obj</imsmd:Argument>
                                    <imsmd:Type>Object</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">объект, у которого проверяется тип</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Boolean</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Проверяет, является ли объект атомом</imsmd:langstring>
                                </imsmd:FunDescr>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="isTerm1">
                    <title>isTerm|1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>isTerm(Obj)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Obj</imsmd:Argument>
                                    <imsmd:Type>Object</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">объект, у которого проверяется тип</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Boolean</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Проверяет, является ли аргумент структурой</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">true, если аргумент - структура, fail в противном случае</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="isHash1">
                    <title>isHash/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>isHash(Obj)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Obj</imsmd:Argument>
                                    <imsmd:Type>Object</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">проеряемый объект</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Boolean</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Проверяет, является ли аргумент Obj хэш-таблицей</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">true, если аргумент - таблица, fail в противном случае</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="isVector1">
                    <title>isVector/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>isVector(V)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>V</imsmd:Argument>
                                    <imsmd:Type>Object</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">Проверяемый объект</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Boolean</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Проверяет, является ли аргумент V вектором</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">true, если вектор, неудача в противном случае</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="isNS1">
                    <title>isNS/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>isNS(Str)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>isStr</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">проверяемая строка</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Boolean</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Проверяет, является ли строка-аргумент url зарегистрированного в системе пространства имен</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">true, если строка-аргумент является url некоторого пространства имен, fail в противном случае</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="tToS1">
                    <title>tToS/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>tToS(Obj)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Obj</imsmd:Argument>
                                    <imsmd:Type>Object</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">объект (терм), переводимый в строковое представление</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>String</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Переводит объект (терм) Obj в строковое представление</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Строка, представляющая данный терм</imsmd:langstring>
                                </imsmd:Result>
                                <imsmd:Notes>
                                    <imsmd:langstring xml:lang="ru">Функция переводит любое выражение в строковое. Таблицы переводятся в формат {key1=val1,..., keyn=valn}, векторы - в формат (val1,..., valn), любое перечисление переводится в строку "ENUM". XML-термы переводятся в термальном формате. Если необходимо перевести xml- и html- терм в стандарный формат с тегами, то необходимо воспользоваться функциями xToS и hToS.</imsmd:langstring>
                                </imsmd:Notes>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="uToS1">
                    <title>uToS/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>uToS(Code)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Code</imsmd:Argument>
                                    <imsmd:Type>Integer List Vector</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">unicode символа в виде целого числа, либо список/вектор уникодов символов в виде неотрицательных целых чисел</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>String</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Если аргумент, является целым числом, то формируется строка длины 1, содержащая символ с номером кода (в кодировке Unicode), заданным аргументом. Если аргумент - список или вектор, то формируется строка, коды символов которой перечислены в аргументе</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Строка</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="sToU1">
                    <title>sToU/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>sToU(Str)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Str</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">строка, которая преобразуется функцией в вектор уникодов</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Vector</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Порождает вектор целых чисел, являющихся кодами символов строки в порядке их вхождения в строку</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Вектор неотрицательных целых чисел-кодов</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="nl0-IDREF">
                    <title>nl/0-IDREF</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>IDREF nl0</imsmd:function>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
            </item>
            <item identifier="enums">
                <title>Перечисления</title>
                <metadata>
                    <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                        <imsmd:general>
                            <imsmd:Notes>
                                <imsmd:langstring xml:lang="ru">Перечисления используются для последовательного перебора элементов объектов трех типов - списков, векторов и хэш-таблиц.</imsmd:langstring>
                            </imsmd:Notes>
                        </imsmd:general>
                    </imsmd:lom>
                </metadata>
                <item identifier="enum1">
                    <title>enum/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>enum(Object)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Object</imsmd:Argument>
                                    <imsmd:Type>List/Vector/String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">сложный объект, элементы которого перечисляются</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Enumeration</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Создает объект-перечисление, который позволяет в дальнейшем последовательно перебрать все элементы аргумента функции</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Объект-перечисление</imsmd:langstring>
                                </imsmd:Result>
                                <imsmd:Notes>
                                    <imsmd:langstring xml:lang="ru">Кроме данной общей функции имеются специальные функции-перечисления для хэш-таблиц и списков</imsmd:langstring>
                                </imsmd:Notes>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="eNext1">
                    <title>eNext/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>eNext(Enum)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Enum</imsmd:Argument>
                                    <imsmd:Type>Enumeration</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">объект-перечисление, у которого берется очередной элемент</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Enumeration</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">выбирает следующий элемент объекта-перечисления</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">возвращает перечисление с указателем, сдвинутым на следующий элемент</imsmd:langstring>
                                </imsmd:Result>
                                <imsmd:Notes>
                                    <imsmd:langstring xml:lang="ru">если значений больше нет, то возвращается null</imsmd:langstring>
                                </imsmd:Notes>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="eValue1">
                    <title>eValue/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>eValue(Enum)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Enum</imsmd:Argument>
                                    <imsmd:Type>Enumeration</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">объект-перечисление, у которого берется текущий элемент</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Object</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Возвращает текущий элемент объекта-перечисления, не меняя его (в отличие от enumNext)</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Текущий элемент объекта-перечисления</imsmd:langstring>
                                </imsmd:Result>
                                <imsmd:Notes>
                                    <imsmd:langstring xml:lang="ru">Применение enumValue к только созданному объекту-перечислению даст в результате null. Чтобы выбрать первый элемент перечисления, необходимо воспользоваться функцией enumNext. Если элементы в перечислении закончились, возвращается null</imsmd:langstring>
                                </imsmd:Notes>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="eKeys1">
                    <title>eKeys/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>eKeys(Hash)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Hash</imsmd:Argument>
                                    <imsmd:Type>Hash</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">хэш-таблица, для которой создается объект-перечисление</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Enumeration</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Создает объект-перечисление для ключей хэш-таблицы Hash</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Объект-перечисление ключей хэш-таблицы</imsmd:langstring>
                                </imsmd:Result>
                                <imsmd:Notes>
                                    <imsmd:langstring xml:lang="ru">Позволяет перебрать содержимое хэш-таблицы по ее ключам</imsmd:langstring>
                                </imsmd:Notes>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="eValues1">
                    <title>eValues/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>eValues(Hash)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Hash</imsmd:Argument>
                                    <imsmd:Type>Hash</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">хэш-таблица, значения которой перебираются</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Enumeration</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Создает объект-перечисление по значениям хэш-таблицы</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Объект-перечисление по значениям хэш-таблицы</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="eFlat1">
                    <title>eFlat/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>eFlat(Obj)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Obj</imsmd:Argument>
                                    <imsmd:Type>List/Vector</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">список или вектор, для которого организуется перечисление</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Enumeration</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Создает объект-перечисление по элементам списка (вектора) с учетом подсписков (подвекторов)</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Объект-перечисление по элементам списка (вектора) с учетом подсписков (подвекторов)</imsmd:langstring>
                                </imsmd:Result>
                                <imsmd:Notes>
                                    <imsmd:langstring xml:lang="ru">Пример. Пусть L=[[1], [2,3],[4]]. Тогда enum(L) даст следующее перечисление: [1], [2,3], [4]. eFlat(L) даст перечисление: 1,2,3,4. Аналогично действует в случае векторов, когда элементом вектора является другой вектор. Данная фукнция является основной при обработке содержимого xml-элементов, которые могут быть представлены как списками, так и векторами, причем в случае вложенных списков/векторов содержимое разворачивается в линейную последовательность.</imsmd:langstring>
                                </imsmd:Notes>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="eReader1">
                    <title>eReader/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>eReader(Reader)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Reader</imsmd:Argument>
                                    <imsmd:Type>Reader</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">входящий поток, последовательность символов из которого будет перечисляться</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Enumeration</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Порождает перечисление, перебирающее символы из входного потока</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Перечисление</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="eXML1">
                    <title>eXML/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>eXML(XML)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>XML</imsmd:Argument>
                                    <imsmd:Type>Term</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">xml-документ, вершины которого перебираются</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Enumeration</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Порождает перечисление, обходящее узлы XML-терма всех типов (элементы, инструкции обработки, cdata, комментарии, текст, сущности). Узлы пространств имен в перечисление не включаются.</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">перечисление, обходящее по всем узлам XML-дерева.</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="eXElem1">
                    <title>eXElem/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>eXElem(XML)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>XML</imsmd:Argument>
                                    <imsmd:Type>Term</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">xml-документ, элементы которого перебираются</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Enumeration</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Порождает перечисление, перебирающее элементы XML-терма (структуры типа xmlElem(...))</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Соответствующее перечисление</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="eXElem2">
                    <title>eXElem/2</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>eXElem(XML, XPath)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>XML</imsmd:Argument>
                                    <imsmd:Type>Term</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">xml-терм, элементы которого перебираются</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>XPath</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">условия в формате XPath, накладываемые на вершины.</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Enumeration</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Порождает перечисление, перебирающее вершины XML-терма (первый аргумент), удовлетворяющие условиям, описанным в XPath-выражении (второй аргумент)</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Соответствующее перечисление</imsmd:langstring>
                                </imsmd:Result>
                                <imsmd:Notes>
                                    <imsmd:langstring xml:lang="ru">Пример: eXElem(XML, "//latex[@displaynum='#'"]) - перечисление, перебирающее все элементы XML с именем latex, содержащие атрибут displaynum, равный "#"</imsmd:langstring>
                                </imsmd:Notes>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="exhausted1">
                    <title>exhausted/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>exhausted(Enum)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Enum</imsmd:Argument>
                                    <imsmd:Type>Enumeration</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">перечисление, у которого проверяется наличие оставшихся элементов</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Boolean</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Проверяет, остались ли у аргумента, который должен быть перечислением, неперебранные элементы или нет</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">true, если есть неперечисленные элементы, false в противном случае</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
            </item>
            <item identifier="metafuncs">
                <title>Метафункции</title>
                <item identifier="apply2">
                    <title>apply/2</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>apply(FunName, ArgList)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>FunName</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">Имя функции в формате Name/Arity, например "f/3", где 3 - число аргументов (местность) функции</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>ArgList</imsmd:Argument>
                                    <imsmd:Type>List</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">Список аргументов применяемой функции</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Object</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Применяет функцию FunName к аргументам ArgList</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Значение функции на данных аргументах</imsmd:langstring>
                                </imsmd:Result>
                                <imsmd:Notes>
                                    <imsmd:langstring xml:lang="ru">Число элементов списка ArgList должно совпадать с местностью функции</imsmd:langstring>
                                </imsmd:Notes>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="foreach">
                    <title>foreach</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>foreach LambdaVar in EnumVar [&lt;Флэнг-последовательность&gt;]</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>EnumVar</imsmd:Argument>
                                    <imsmd:Type>Vector/List/Enumeration</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">Перечисление, по которому проводится вычисление функции</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Vector</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Метафункция foreach последовательно выбирает значения перечисления EnumVar, присваивая очередное значение переменной LambdaVar, после чего вычисляет &lt;Флэнг-последовательность&gt;. Если вычисление Флэнг-последовательности закончилось успешно, то вычисленное значение добавляется в вектор-результат. Если закончилось неудачей, то для этого значения ничего в вектор-результат не добавляется.</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Вектор с вычисленными значениями</imsmd:langstring>
                                </imsmd:Result>
                                <imsmd:Notes>
                                    <imsmd:langstring xml:lang="ru">Примеры вычислений. f(X) :- foreach Y in X [Y*Y]; Вычисление f([1,2,3,4,5])={1,4,9,16,25}. Функция getItems(XML) :- Enum::enumXML(XML), foreach El in Enum [El::xmlElem("item", A, C, NS), xmlElem("пункт", A, C, NS) # El::xmlElem("resource", _, _, _), El]; выбирает из xml-документа элементы с тегами item и resource и формирует из них вектор, причем заменяет тег item на тег пункт. Остальные элементы документа пропускаются.</imsmd:langstring>
                                </imsmd:Notes>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
            </item>
            <item identifier="systemfuncs">
                <title>Системные функции</title>
                <item identifier="load1">
                    <title>load/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>load(FlnFile)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>FlnFile</imsmd:Argument>
                                    <imsmd:Type>файл</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">загружаемая программа</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Boolean</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Загружает флэнг-программу. Если некоторые функции и предикаты были уже ранее определены, то новые правила из загружаемой программы для этих функций и предикатов дописываются в конец списка правил.</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">true/fail</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="reload1">
                    <title>reload/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>reload(FlangProgramName)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>FlangProgramName</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">имя загружаемой флэнг-программы</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>true</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Загружает флэнг программу. Для тех функций и предикатов, которые были определены (загружены) ранее, определение обновляется (ранее загруженные правила удаляются).</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Измененная база флэнг-система с добавленными правилами из программы.</imsmd:langstring>
                                </imsmd:Result>
                                <imsmd:Notes>
                                    <imsmd:langstring xml:lang="ru">Определения для функций и предикатов, которые в программе не определены, остаются неизменными</imsmd:langstring>
                                </imsmd:Notes>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="unload1">
                    <title>unload/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>unload(FuncName)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>FuncName</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">Имя удаляемой функции или предиката в формате имя-функции/местность. Например "f/2"</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>boolean</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Удаляет из базы флэнг-системы определение функции или предиката с данным именем и количеством аргументов. Если функция является встроенной или не определена, то выполнение заканчивается неудачей и возвращается fail. В случае успеха возвращается true.</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Обновленная база флэнг-системы</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="trace2">
                    <title>trace/2</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>trace(Instr, Value)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Instr</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">параметр отладчика</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Value</imsmd:Argument>
                                    <imsmd:Type>Object</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">значение параметра отладчика</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Boolean</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Настраивает работу отладчика.</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">всегда true</imsmd:langstring>
                                </imsmd:Result>
                                <imsmd:Notes>
                                    <imsmd:langstring xml:lang="ru">Примеры: trace("level", X) - включение режима отладчика (X=0 - отключен, X=2 - тотальная выдача шагов вычислений, X=1 - выдача шагов для функций, помеченных "spy". trace("spy", "f/2") - двухаргументная функция f включается в список трассируемых функций. trace("statistics", 1) - включение режима статистики вычислений. trace("showxml", "xml") - вывод на консоль xml-термов в xml-виде. trace("showxml", "term") - вывод на консоль xml-термов в виде стандартных термов.</imsmd:langstring>
                                </imsmd:Notes>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="exit1">
                    <title>exit/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>exit(Code)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Code</imsmd:Argument>
                                    <imsmd:Type>Integer</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">Код завершения работы Флэнг-системы</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Boolean</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Завершает работу флэнг-системы</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">-</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
            </item>
            <item identifier="xmldocs">
                <title>Работа с xml-документами</title>
                <item identifier="addNS2">
                    <title>addNS/2</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>addNS(URL, Prefix)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>URL</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">url добавляемого пространства имен</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Prefix</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">текущий префикс для данного пространства имен</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Integer</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Функция заводит новое пространство имен с URL и локальным префиксом Prefix</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">возвращает внутренний номер данного пространства имен, через который может проводиться дальнейшая работа с данным пространством.</imsmd:langstring>
                                </imsmd:Result>
                                <imsmd:Notes>
                                    <imsmd:langstring xml:lang="ru">Если данное пространство имен уже имеется, то возвращается его номер, при этом для этого пространства задается новый префикс</imsmd:langstring>
                                </imsmd:Notes>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="getNSNumber1">
                    <title>getNSNumber/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>getNSNumber(Url)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Url</imsmd:Argument>
                                    <imsmd:Type>Srting</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">url пространства имен, для которого ищется номер.</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Integer</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Определяет внутренний номер пространства имен с url Url.</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Внутренний номер пространства имен</imsmd:langstring>
                                </imsmd:Result>
                                <imsmd:Notes>
                                    <imsmd:langstring xml:lang="ru">Если пространство имен не определено, то возвращается -1</imsmd:langstring>
                                </imsmd:Notes>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="getNSUrl1">
                    <title>getNSUrl/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>getNSUrl(N)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>N</imsmd:Argument>
                                    <imsmd:Type>Integer</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">номер, по которому находится URL пространства имен</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>String</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Находит строку URL пространства имен с внутренним номером N</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Строка URL пространства имен</imsmd:langstring>
                                </imsmd:Result>
                                <imsmd:Notes>
                                    <imsmd:langstring xml:lang="ru">если пространство имен с данным именем отсутствует, то возвращается null</imsmd:langstring>
                                </imsmd:Notes>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="setNSPrefix2">
                    <title>setNSPrefix/2</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>setNSPrefix(N, Prefix)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>N</imsmd:Argument>
                                    <imsmd:Type>Integer</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">номер пространства имен, у которого устанавливается префикс</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Prefix</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">устанавлеваемый префикс для пространства имен с данным номером</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>String</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">задает текущий префикс для данного пространства имен с номером N</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">строка префикса, если его удалось установить, иначе null</imsmd:langstring>
                                </imsmd:Result>
                                <imsmd:Notes>
                                    <imsmd:langstring xml:lang="ru">префикс должен соответствовать правилам построения имен в xml</imsmd:langstring>
                                </imsmd:Notes>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="sToX1">
                    <title>sToX/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>sToX(XmlText)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>XmlText</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">xml-документ в формате строки</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>XML</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">конвертирует XML-документ из строкового (текстового) представления в термальное (древовидное)</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Xml-документ в древовидном формате</imsmd:langstring>
                                </imsmd:Result>
                                <imsmd:Notes>
                                    <imsmd:langstring xml:lang="ru">Действует аналогично readXML/1</imsmd:langstring>
                                </imsmd:Notes>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="isNS1">
                    <title>isNS/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>isNS(URL)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>URL</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">строка URL пространства имен</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>boolean</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">проверяет, добавлено ли в систему пространство имен с url URL</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">true, если данное пространство имен в системе определено, в противном случае fail</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="getXName1">
                    <title>getXName/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>getXName(XmlElem)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>XmlElem</imsmd:Argument>
                                    <imsmd:Type>Term</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">xml-элемент, у которого берется имя тега</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>String</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Возвращает имя тега xml-элемента, являющегося аргументом функции</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Имя тега элемента</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="getXAttrs1">
                    <title>getXAttrs/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>getXAttrs(XmlElem)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>XmlElem</imsmd:Argument>
                                    <imsmd:Type>Term</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">xml-элемент, у которого берется таблица атрибутов</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Hash</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Возвращает таблицу аттрибутов xml-элемента (2-ой аргумент структуры xmlElem/4)</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Таблица атрибутов</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="getXConts1">
                    <title>getXConts/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>getXConts(XmlElem)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>XmlElem</imsmd:Argument>
                                    <imsmd:Type>Term</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">xml-элемент - структура с функтором xmlElem/4</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>List/Vector</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Возвращает содержимое xml-элемента</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Вектор или список, являющийся содержимым xml-элемента</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="getXNS1">
                    <title>getXNS/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>getXNS(XmlElem)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>XmlElem</imsmd:Argument>
                                    <imsmd:Type>Term</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">xml-элемент - структура с функтором xmlElem/4</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Term</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Возвращает структуру xmlNS(...), содержащую информацию о пространстве имен данного элемента.</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Структура пространства имен</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="getXText1">
                    <title>getXText/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>getXText(Arg)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Arg</imsmd:Argument>
                                    <imsmd:Type>XMLterm/List/Vector</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">xml-документ, список или вектор, у которого выбирается текстовая составляющая</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>String</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">собирает текстовые узлы своего аргумента - XML-документа, вектора, списка, - объединяя текстовые сегменты в единую строку.</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Строка, объединяющая текстовые узлы XML-документа</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="getXText2">
                    <title>getXText/2</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>getXText(XMLdoc, Xpath)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>XMLdoc</imsmd:Argument>
                                    <imsmd:Type>Term</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">xml-терм, в котором берется текст</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>XPATH</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">xpath-условие на элемент терма XML, у которого берется текст</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>String</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Ищет вершину XML-документа XMLdoc, удовлетворяющую условиям XPath. Если такая вершина найдена, у нее берется текстовая составляющая (конкатенация строковых подвершин), которая и является результатом работы функции. Если вершины, удовлетворяющей условиям, нет, то возвращается пустая строка "".</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Конкатенация строковых вершин подъэлемента XMLdoc, удовлетворяющего условиям Xpath</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="getXNormText1">
                    <title>getXNormText/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>getXNormText(XML)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>XML</imsmd:Argument>
                                    <imsmd:Type>Term/String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">xml-документ, у которого выбирается текстовая составляющая</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>String</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Собирает текстовые вершины документа в единую строку, представляя текст в нормализованном виде: пробельные символы (с кодом, меньшим или равным коду пробела - #0020) в начале и конце строки удаляются, внутри строки последовательности пробельных символов заменяются одним пробелом. Если аргумент является строкой, то функция нормализует ее.</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Нормализованная строка, собранная из текстовых вершин XML-документа</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="eXML1-IDREF">
                    <title>eXML/1-IDREF</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>IDREF eXML1</imsmd:function>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="eXElem1-IDREF">
                    <title>eXElem/1-IDREF</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>IDREF eXElem1</imsmd:function>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="eXElem2-IDREF">
                    <title>eXElem/2-IDREF</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>IDREF eXElem1</imsmd:function>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="getXElem2">
                    <title>getXElem/2</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>getXElem(XML, XPath)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>XML</imsmd:Argument>
                                    <imsmd:Type>Term</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">xml-терм, в котором ищется вершина, удовлетворяющая условиям</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>XPath</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">условие на искомую вершину в формате XPATH</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Term</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Ищет в XML-терме вершину, удовлетворяющую условию, представленному в формате XPATH (второй аргумент). Возвращает первую найденную вершину, удовлетворяющую условиям. Если вершина не найдена, возвращается null.</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">XML-вершина</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="checkXElem2">
                    <title>checkXElem/2</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>checkXElem(Xterm, Xpath)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Xterm</imsmd:Argument>
                                    <imsmd:Type>Term</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">проверяемый XML-терм</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Xpath</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">условие проверки XML-терма</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Boolean</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">проверяет, удовлетворяет ли Xterm условию Xpath (представленному в формате спецификации XPATH). Cчитается, что условие выполнено, если множество элементов Xterm, удовлетворяющих XPath непустое, то есть getXElem(Xterm, Xpath) != null.</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">true, если Xterm удовлетворяет условию, fail в противном случае.</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="getXAttr2">
                    <title>getXAttr/2</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>getXAttr(XElem, Xattr)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>XElem</imsmd:Argument>
                                    <imsmd:Type>Term</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">xml-элемент, у которого берется значение аттрибута</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Xattr</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">имя аттрибута, значение которого берется</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Atom/Float/Integer/String</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Функция возвращает значение аттрибута элемента XElem с именем Xattr. Если аттрибут отсутствует, то возвращается атом null.</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Значение аттрибута или атом null.</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="xDoc1">
                    <title>xDoc/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>xDoc(Contents)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Contents</imsmd:Argument>
                                    <imsmd:Type>List/Vector</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">содержимое xml-документа</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Term</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">конструктор, порождающий xml-документ в термальном виде</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Флэнг-структура, моделирующая xml-вершину типа "документ"</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="xElem4">
                    <title>xElem/4</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>xElem(Name, Attrib, Contents, Namespace)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Name</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">имя (тег) xml-элемента</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Attrib</imsmd:Argument>
                                    <imsmd:Type>Hash</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">hash-таблица атрибутов xml-элемента</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Contents</imsmd:Argument>
                                    <imsmd:Type>List/Vector</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">содержимое xml-элемента</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Namespace</imsmd:Argument>
                                    <imsmd:Type>Integer</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">номер пространства имен для данного xml-документа</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Term</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Конструирует структуру для xml-элемента с именем Name, атрибутами Attrib, содержимым Contents и пространством имен Namespace</imsmd:langstring>
                                </imsmd:FunDescr>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="xComments1">
                    <title>xComments/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>xComments(Comments)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Comments</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">комментарии в xml-документе</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Term</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Конструктор, организующий узел комментариев в xml-документе</imsmd:langstring>
                                </imsmd:FunDescr>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="xEntityRef1">
                    <title>xEntityRef/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>xEntityRef(EntityRef)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>EntityRef</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">ссылка на сущность xml-документа</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Term</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Порождает структуру, моделирующую вершину CDATA xml-документа</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Notes>
                                    <imsmd:langstring xml:lang="ru">Ссылка на сущность &amp;EntityRef; моделируется структурой xmlEntityRef("EntityRef")</imsmd:langstring>
                                </imsmd:Notes>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="xCDATA1">
                    <title>xCDATA/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>xCDATA(CDATA)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>CDATA</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">содержимое вершины CDATA xml-документа</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Term</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Порождает вершину xml-документа типа CDATA</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Вершина типа CDATA</imsmd:langstring>
                                </imsmd:Result>
                                <imsmd:Notes>
                                    <imsmd:langstring xml:lang="ru">Запись &lt;![CDATA[&lt;greeting&gt;Hello, world!&lt;/greeting&gt;]]&gt; в xml-документе моделируется структурой xmlCDATA("&lt;greeting&gt;Hello, world!&lt;/greeting&gt;")</imsmd:langstring>
                                </imsmd:Notes>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="xPI3">
                    <title>xPI/3</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>xPI(Target, MapData, RawData)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Target</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">цель - имя обработчика, для которого задана данная вершина xml-документа</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>MapData</imsmd:Argument>
                                    <imsmd:Type>Hash</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">параметры инструкции в формате пар имя/значение</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>RawData</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">параметры инструкции в формате произвольной строки</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Term</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Генерирует вершину, моделирующую узел xml-документа типа иструкция обработки (Processing Instruction)</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Узел xml-документа типа инструкции обработки</imsmd:langstring>
                                </imsmd:Result>
                                <imsmd:Notes>
                                    <imsmd:langstring xml:lang="ru">Узел PI вида &lt;?intruction a="b" cc?&gt; моделируется структурой xPI("instruction", newHash(["a"="b"], "cc")</imsmd:langstring>
                                </imsmd:Notes>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="xNS2">
                    <title>xNS/2</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>xNS(Num, Additional)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Num</imsmd:Argument>
                                    <imsmd:Type>Integer</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">номер пространства имен для текущего элемента</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Additional</imsmd:Argument>
                                    <imsmd:Type>Hash</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">пространства имен, определяемые в данном узле</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Term</imsmd:ResultType>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Структура формирует информацию о пространстве имен текущего элемента xml-документа.</imsmd:langstring>
                                </imsmd:Result>
                                <imsmd:Notes>
                                    <imsmd:langstring xml:lang="ru">Дополнительные пространства имен формируются в виде хэш-таблицы в виде пар Номер-пространства-имен = Префикс.</imsmd:langstring>
                                </imsmd:Notes>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
            </item>
            <item identifier="input-output">
                <title>Функции ввода-вывода</title>
                <item identifier="newFileReader1">
                    <title>newFileReader/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>newFileReader(FileName)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>FileName</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">имя файла, открываемого для чтения</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Reader</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Функция пытается открыть файл для чтения, и если это удается - создает новый входящий поток, который и является результатом работы функции</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Входящий поток, соответствующий открытому для чтения файлу</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="newFileReader2">
                    <title>newFileReader/2</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>newFileReader(FileName, Encoding)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>FileName</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">имя файла, открываемого для чтения</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Encoding</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">имя кодировки символов файла</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Reader</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Функция пытается открыть файл для чтения в кодировке, указанной в Encoding, и если это удается - создает новый входящий поток, который и является результатом работы функции</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Входящий поток, соответствующий открытому для чтения файлу</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="read0">
                    <title>read/0</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>read()</imsmd:function>
                                <imsmd:ResultType>String</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Читает строку из стандартного входного потока (консоли)</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Строка из стандартного входного потока</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="read1">
                    <title>read/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>read(Input)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Input</imsmd:Argument>
                                    <imsmd:Type>Reader/String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">входящий поток</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>String</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Если аргумент является входящим потоком (типа Reader), то из этого потока считывается очередной символ, код которого в виде целого числа и является результатом. Если функция возвращает -1, то это означает, что достигнут конец файла. Если Input является строкой, то функция интерпретирует его как имя файла для чтения. Она пытается открыть его, и если это удается, считывает содержимое файла в строку, которая и является результатом работы функции.</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">В зависимости от аргумента: целое число (код символа) или строка, содержащая файл.</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="readLine1">
                    <title>readLine/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>readLine(File)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>File</imsmd:Argument>
                                    <imsmd:Type>Reader</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">Указатель файла, из которого читается строка</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>String</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Считывает очередную строку из файла. Если строку больше нет, функция возвращает null</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Считанная строка</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="newFileWriter1">
                    <title>newFileWriter/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>newFileWriter(FileName)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>FileName</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">имя файла, открываемого для записи</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Writer</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Открывает файл с именем FileName для записи в кодировке символов, заданной по умолчанию, создает соответствующий выходной поток</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">"Писатель", привязанный к файлу, открытому для записи</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="newFileWriter2">
                    <title>newFileWriter/2</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>newFileWriter(FileName, Encoding)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>FileName</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">имя файла, открываемого для записи</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Encoding</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">имя кодировки, в которой данные будут записываться в файл</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Writer</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Открывает файл для записи в кодировке символов Encoding. Создает соответствующий "писатель".</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">"Писатель", привязанный к файлу, открытому для записи</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="write1">
                    <title>write/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>write(Expr)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Expr</imsmd:Argument>
                                    <imsmd:Type>Object</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">выражение, значение которого выводится в стандартный выходной поток (как правило - консоль)</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Boolean</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Выводит значение своего аргумента в стандартный выходной поток (как правило, консоль)</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Всегда возвращает true</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="write2">
                    <title>write/2</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>write(Output, Expr)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Output</imsmd:Argument>
                                    <imsmd:Type>Writer/String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">выходной поток, куда выводится значение выражения</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Expr</imsmd:Argument>
                                    <imsmd:Type>Object</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">объект, выводимый в выходной поток, определяемый первым аргументом</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Boolean</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Выводит в выходной поток или файл значение выражения Expr. Если Output - строка, то она интерпретируется как имя файла. Функция пытается открыть файл с данным именем для записи и записать туда значение Expr в кодировке, принятой по умолчанию, после чего файл закрывается. Если Output является выходным потоком (тип Writer), то функция записывает значение Expr в буфер этого выходного потока.</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">всегда возвращает true</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="readXML1">
                    <title>readXML/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>readXML(FileName)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>FileName</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">имя загружаемого файла</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Term</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Загружает xml-файл и конвертирует его в представление в виде XML-терма. Используется кодировка символов по умолчанию.</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">XML-терм, представляющий загруженный файл.</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="readXML2">
                    <title>readXML/2</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>readXML(FileName, Encoding)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>FileName</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">имя загружаемого XML-файла</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Encoding</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">имя кодировки, в которой находится файл</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Term</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Загружает xml-файл, используя кодировку символов Encoding, и конвертирует его в представление в виде XML-терма.</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">XML-терм, представляющий загруженный файл.</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="writeXML3">
                    <title>writeXML/3</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>writeXML(FileName, XMLterm, Encoding)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>FileName</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">имя файла, куда производится запись</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>XMLterm</imsmd:Argument>
                                    <imsmd:Type>Term</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">записываемый XML-документ в виде XML-терма</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Encoding</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">имя кодировки, в которой будет производится запись</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Boolean</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Записывает XML-документ, представленный в виде XML-терма в файл FileName, используя кодировку с именем Encoding</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Всегда возвращается true</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="readHTML1">
                    <title>readHTML/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>readHTML(FileName)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>FileName</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">имя загружаемого файла</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Term</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Загружает HTML-файл и конвертирует его в представление в виде XML-терма. Используется кодировка символов по умолчанию.</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">XML-терм, представляющий загруженный HTML-файл.</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="readHTML2">
                    <title>readHTML/2</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>readXML(FileName, Encoding)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>FileName</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">имя загружаемого HTML-файла</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Encoding</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">имя кодировки, в которой находится файл</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Term</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Загружает HTML-файл, используя кодировку символов Encoding, и конвертирует его в представление в виде XML-терма.</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">XML-терм, представляющий загруженный HTML-файл.</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="writeHTML3">
                    <title>writeHTML/3</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>writeXML(FileName, XMLterm, Encoding)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>FileName</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">имя файла, куда производится запись</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>XMLterm</imsmd:Argument>
                                    <imsmd:Type>Term</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">записываемый XML-документ в виде XML-терма</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Encoding</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">имя кодировки, в которой будет производится запись</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Boolean</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Записывает XML-документ, представленный в виде XML-терма в формате HTML-файла, используя кодировку с именем Encoding</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Всегда возвращается true</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="close1">
                    <title>close/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>close(Stream)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Stream</imsmd:Argument>
                                    <imsmd:Type>Writer/Reader</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">закрываемый поток</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Boolean</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Закрывает поток, открытый для чтения/записи</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Всегда true</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="flush1">
                    <title>flush/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>flush(Writer)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Writer</imsmd:Argument>
                                    <imsmd:Type>Writer</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">выходной поток</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Boolean</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Выбрасывает из буфера в выходной поток накопленные применением функции write/2 данные</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">всегда true</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="mkDir1">
                    <title>mkDir/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>mkDir(Path)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Path</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">Путь создаваемой директории</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>String</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Создает директорию по относительному или абсолютному пути Path</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Абсолютный путь до созданной директории</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="nl0">
                    <title>nl/0</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>nl()</imsmd:function>
                                <imsmd:ResultType>String</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Возвращает строку с набором символов, определяющих в данной системе перевод строки</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Строка</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="defaultEnc1">
                    <title>defaultEnc/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>defaultEnc(Enc)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Enc</imsmd:Argument>
                                    <imsmd:Type>String</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">имя кодировки, задаваемой по умолчанию</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>String</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Задает, какая кодировка символов будет использоваться по умолчанию функциями ввода-вывода</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Возвращает имя новой кодировки по умолчанию</imsmd:langstring>
                                </imsmd:Result>
                                <imsmd:Notes>
                                    <imsmd:langstring xml:lang="ru">В текущей версии поддерживаются следующие варианты: "windows-1251", "utf-8", "Cp866". Для данных кодировок можно использовать сокращения - "w", "u" и "a", соответственно.</imsmd:langstring>
                                </imsmd:Notes>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
            </item>
            <item identifier="compcontrol">
                <title>Управление вычислениями</title>
                <item identifier="cut0">
                    <title>!</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>!</imsmd:function>
                                <imsmd:ResultType>Boolean</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">отсекает в стеке вычисления все точки выбора, находящиеся ниже элемента стека, соответствующего данной функции</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">true/fail</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="fail0">
                    <title>fail</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>fail</imsmd:function>
                                <imsmd:ResultType>Boolean</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">тождественно ложная функция, при вычислении инициирует процедуру возврата</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">fail</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="disj">
                    <title>##</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>Seq1 ## Seq2</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Seq1</imsmd:Argument>
                                    <imsmd:Type>Sequence</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">Первая альтернатива дизъюнкции</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Seq2</imsmd:Argument>
                                    <imsmd:Type>Sequence</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">Вторая альтернатива дизъюнкции</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Object</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Происходит попытка вычислить последовательность Seq1. Если это приводит к неудаче, происходит попытка вычислить Seq2. Значением дизъюнкции является значение первой удачно вычисленной последовательности. Если к удаче привело вычисление Seq1, то ставится точка возврата и если выполнение вычислений в дальнейшим приводит к fail, то система возвращается ко второй альтернативе. Пример - факториал f(X) :- X==0, 1 ## X&gt;&gt;0, X*f(X-1);</imsmd:langstring>
                                </imsmd:FunDescr>
                                <imsmd:Result>
                                    <imsmd:langstring xml:lang="ru">Значение первой удачно вычисленной последовательнойти. Fail, если вычисление всех альтернатив привело к неудаче.</imsmd:langstring>
                                </imsmd:Result>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
                <item identifier="stop1">
                    <title>stop/1</title>
                    <metadata>
                        <imsmd:lom xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
                            <imsmd:general>
                                <imsmd:function>stop(Message)</imsmd:function>
                                <imsmd:Arguments>
                                    <imsmd:Argument>Message</imsmd:Argument>
                                    <imsmd:Type>Object</imsmd:Type>
                                    <imsmd:Desription>
                                        <imsmd:langstring xml:lang="ru">сообщение</imsmd:langstring>
                                    </imsmd:Desription>
                                </imsmd:Arguments>
                                <imsmd:ResultType>Boolean</imsmd:ResultType>
                                <imsmd:FunDescr>
                                    <imsmd:langstring xml:lang="ru">Останавливает процесс вычисления запроса, выдавая в стандартный выходной поток сообщение Message</imsmd:langstring>
                                </imsmd:FunDescr>
                            </imsmd:general>
                        </imsmd:lom>
                    </metadata>
                </item>
            </item>
        </organization>
        <organization identifier="exceptions" structure="hierarchical">
            <title>Исключительные ситуации (Exceptions)</title>
            <item identifier="yFUFTvIY">
                <title>fileNotFoundException</title>
            </item>
            <item identifier="jHVznBqC">
                <title>zeroDivideException</title>
            </item>
            <item identifier="bMPJUYjl">
                <title>wrongArgumentTypeException</title>
            </item>
            <item identifier="lXJTNMhw">
                <title>loadProgramException</title>
            </item>
        </organization>
        <organization identifier="glossary" structure="hierarchical">
            <title>Основные термины</title>
            <item identifier="CEXGScKp">
                <title>true</title>
            </item>
            <item identifier="ZQgBRFfw">
                <title>fail</title>
            </item>
            <item identifier="gFwcFrWq">
                <title>возврат (бэктрэкинг)</title>
            </item>
            <item identifier="hfMhIrZe">
                <title>Терм (объект)</title>
            </item>
            <item identifier="QjHTjVzA">
                <title>Свободная (пустая) переменная</title>
            </item>
            <item identifier="mHvDwlTr">
                <title>Объект</title>
            </item>
            <item identifier="DxzQKHAy">
                <title>Структура</title>
            </item>
        </organization>
    </organizations>
    <resources />
</manifest>


