АнглийскийФранцузскийИспанский

Ad


Значок OnWorks

make_methodp - Онлайн в облаке

Запустите make_methodp в бесплатном хостинг-провайдере OnWorks через Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS

Это команда make_methodp, которую можно запустить в провайдере бесплатного хостинга OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.

ПРОГРАММА:

ИМЯ


make_method - превращает код Perl в описание XML для RPC :: XML :: Server

СИНТАКСИС


make_method --name = system.identification --helptext = 'Строка идентификатора системы'
--signature = string --code = identify.pl --output = ident.xpl

make_method --base = методы / идентификация

ОПИСАНИЕ


Это простой инструмент для создания описательных файлов XML для определения методов, которые будут
опубликовано RPC :: XML :: Серверна базе сервера.

Если сервер написан так, что методы, которые он экспортирует (или издает) являются частью
запущенный код, то в этом инструменте нет необходимости. Однако в случаях, когда сервер может
быть отдельным и отличным от кода (например, сервером RPC на базе Apache), указывая
процедуры и заполнение вспомогательной информации могут быть обременительными.

Одно решение, которое RPC :: XML :: Сервер пакетные предложения - это средство для загрузки публикуемых
код из внешнего файла. Файл представлен на простом диалекте XML, который четко определяет
внешне видимое имя, сигнатуры методов, текст справки и сам код. Эти
файлы могут быть созданы вручную, или этот инструмент может использоваться как помощник.

ТРЕБУЕТСЯ АРГУМЕНТЫ


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

ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ, НЕ ВКЛЮЧЕННЫЕ В ПАКЕТ


Инструмент распознает следующие параметры:

--Помогите
Печатает краткое описание параметров.

--name = СТРОКА
Задает опубликованное имя кодируемого метода. Это имя, под которым он
будет виден клиентам сервера.

--namespace = СТРОКА
Задает пространство имен, в котором будет оцениваться код метода, когда XPL
файл загружается экземпляром сервера.

--type = СТРОКА
Укажите тип полученного файла. «Тип» здесь относится к тому,
тег, используемый в результирующем XML, будет указывать процедуры или метод, По умолчанию
метод. Строка обрабатывается независимо от регистра, и только первый символ («m» или
"p") фактически считается.

--version = СТРОКА
Укажите штамп версии для подпрограммы кода.

--скрытый
Если это не так, в результирующий файл будет включен тег, который сообщает демону сервера
чтобы процедура не была видна через какие-либо интерфейсы самоанализа.

--signature = STRING [--signature = STRING ...]
Укажите одну или несколько подписей для метода. Подписи должны быть именами типов как
изложены в документации в RPC :: XML, с элементами, разделенными двоеточием. Ты
может также разделять их пробелами, если вы цитируете аргумент. Этот вариант может быть
указывается более одного раза, так как некоторые методы могут иметь несколько сигнатур.

--helptext = СТРОКА
Задайте текст справки для метода в виде простой строки в командной строке. Нет
подходит для ужасно длинных вспомогательных струн.

--helpfile = ФАЙЛ
Прочтите текст справки по методу из указанного файла.

--code = ФАЙЛ
Прочтите фактический код процедуры из указанного файла. Если этого варианта нет
Учитывая, что код считывается из дескриптора стандартного входного файла.

--output = ФАЙЛ
Запишите полученное XML-представление в указанный файл. Если этого варианта нет
задано, то вывод поступает в дескриптор файла стандартного вывода.

--base = ИМЯ
Это особый вариант «все в одном». Если передано, все остальные параметры игнорируются.

Значение используется как базовый элемент для чтения информации из файла с именем
БАЗА.база. Этот файл будет содержать спецификацию имени, версии, скрытого статуса,
подписи и другая информация о методе. Каждая строка файла должна выглядеть как одна из
следующие:

Имя: STRING
Укажите имя публикуемой подпрограммы. Если эта строка не появляется,
тогда значение --база аргумент со всеми удаленными элементами каталога будет
используемый.

Версия: STRING
Укажите версию функции. Если нет строки, соответствующей этому шаблону,
присутствует, тег версии записываться не будет.

Скрытый: STRING
Если имеется, STRING должно быть либо «да», либо «нет» (регистр не важен). Если это
«да», то метод помечается как скрытый от любого API интроспекции.

Подпись: STRING
Эта линия может появляться более одного раза и обрабатывается кумулятивно. Другие варианты
переопределить предыдущие значения, если они встречаются более одного раза. Часть, следующая за
Часть «Подпись:» считается опубликованной подписью для метода с
элементы, разделенные пробелами. У каждого метода должна быть хотя бы одна подпись, поэтому
их отсутствие вызовет ошибку.

Файл справки: STRING
Задает файл, из которого следует читать текст справки. Это не ошибка, если нет помощи
текст указан.

Кодовый файл: STRING
Задает файл, из которого следует читать код. Предполагается, что код - Perl, и
будут отмечены как таковые в результирующем файле.

Кодовый файл [lang]: string
Определяет файл, из которого следует читать код, а также определяет язык
что код находится внутри. Это позволяет создать XPL файл, который включает
реализация на нескольких языках данного метода или процедуры.

Любые строки, отличные от указанных выше, игнорируются.

Если код не был прочитан, инструмент выйдет с сообщением об ошибке.

Вывод записывается в БАЗА.xpl, сохраняя информацию о пути, чтобы
результирующий файл находится рядом с исходными файлами. Это позволяет использовать такие конструкции, как:

make_method --base = методы / самоанализ

ФАЙЛОВ ФОРМАТ И DTD


Формат файла для этих опубликованных подпрограмм - очень простой диалект XML. Это меньше
из-за того, что XML является идеальным форматом, чем доступность парсера, учитывая, что
RPC :: XML :: Сервер класс уже будет иметь код парсера в ядре. Написание совершенно нового
формат ничего бы не добился.

Декларацию типа документа для формата можно резюмировать следующим образом:

<!ELEMENT процедураdef (имя, пространство имен?, версия?, скрыто?,
подпись +, помощь ?, код)>
<!ELEMENT методdef (имя, пространство имен?, версия?, скрытый?,
подпись +, помощь ?, код)>
<!ELEMENT functiondef (имя, пространство имен?, версия?, скрыто?,
подпись +, помощь ?, код)>









К файлу "rpc-method.dtd", поставляемому с дистрибутивом, добавлены некоторые комментарии.
в соответствии с действующей спецификацией.

Файл (на данный момент) ограничен одним определением. Это начинается с одного из открытий
теги " "," " или " ". Далее следует ровно один
" "контейнер, определяющий имя метода, необязательный штамп версии, необязательный
флаг скрытия от самоанализа, один или несколько " "контейнеры с указанием подписей,
необязательный " контейнер с текстом справки, затем " container with the
актуальный программный код. Весь текст должен использовать кодировку сущности для символов:

& C <&> (амперсанд)
E C <<> (меньше чем)
E C <>> (больше чем)

Процесс синтаксического анализа в классе сервера будет декодировать сущности. Делать вещи
проще, инструмент сканирует все текстовые элементы и кодирует указанные выше объекты перед записью
.

Ассоциация Спецификация of Code
Это не "Программирование 101 "и это не "Perl для домен В некотором роде Тусклый ". Код, который
передается через один из файлов "* .xpl", передается в "eval" практически без изменений
(см. ниже). Таким образом, плохо написанный или вредоносный код может очень сильно нанести ущерб вашему компьютеру.
сервер. Это не ошибка кода сервера. Цена гибкости этой системы
предлагает - это ответственность со стороны разработчика за то, чтобы код
проверено и безопасно.

Сам код трактуется как можно более дословно. Некоторые правки могут происходить на стороне сервера,
поскольку это делает код пригодным для создания анонимной подпрограммы из. В make_method
инструмент попытается использовать раздел «CDATA» для встраивания кода в XML-документ, поэтому
что нет необходимости кодировать объекты или что-то подобное. Это позволяет получить * .xpl
файлы для синтаксической проверки с помощью "perl -cx". Вы можете помочь в этом, убедившись, что код
не содержит ни одной из двух следующих последовательностей символов:

]]>

__ДАННЫЕ__

Первый - терминатор "CDATA". Если это происходит естественным образом в коде, это вызовет
конец раздела в парсере. Второй - знакомый токен Perl, который вставляется
так что оставшаяся часть XML-документа не загромождает синтаксический анализатор Perl.

ПРИМЕРЫ


Ассоциация RPC :: XML Распространение поставляется с рядом методов по умолчанию в подкаталоге с именем
(достаточно загадочно) "методы". Каждый из них выражается как набор ("* .base",
"* .code", "* .help") файлы. Файл Makefile.PL настраивает итоговый файл Makefile, например
что они используются для создания файлов «* .xpl» с помощью этого инструмента, а затем их установки.

ДИАГНОСТИКИ


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

ВЫХОД статус


Инструмент завершает работу со статусом 0 в случае успеха и 255 в противном случае.

Пещеры


Мне не очень нравится этот подход к определению методов, но мне даже понравились другие мои идеи.
Меньше.

Используйте make_methodp в Интернете с помощью сервисов onworks.net


Бесплатные серверы и рабочие станции

Скачать приложения для Windows и Linux

Команды Linux

Ad