англійськафранцузькаіспанська

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=рядок --code=ident.pl --output=ident.xpl

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

ОПИС


Це простий інструмент для створення описових файлів XML для визначення методів
опубліковано an RPC::XML::Сервер- сервер на базі.

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

Одне з рішень, що RPC::XML::Сервер пакет пропозицій є засобом для завантаження, доступним для публікації
код із зовнішнього файлу. Файл написаний на простому діалекті XML, який чітко розмежовує
видиме ззовні ім'я, сигнатури методів, текст довідки та сам код. Ці
файли можна створювати вручну, або цей інструмент можна використовувати як допоміжний.

ВИМАГАЄТЬСЯ АРГУМЕНТИ


Немає необхідних аргументів, але якщо немає достатньої кількості параметрів, ви передаєте
повідомляється повідомлення про помилку.

ВАРІАНТИ


Інструмент розпізнає такі параметри:

--допомога
Друкує короткий підсумок параметрів.

--name=STRING
Вказує опубліковану назву методу, що кодується. Це назва, під якою вона
буде видно клієнтам сервера.

--простір імен=STRING
Вказує простір імен, у якому буде оцінюватися код методу, коли XPL
файл завантажується екземпляром сервера.

--type=STRING
Вкажіть тип отриманого файлу. "Тип" тут відноситься до того, чи є контейнер
тег, використаний в отриманому XML, вказуватиме a процедура або метод. За замовчуванням
метод. Рядок обробляється незалежно від регістру, і тільки перший символ ("m" або
"p") фактично розглядається.

--version=STRING
Вкажіть штамп версії для програми коду.

--прихований
Якщо це passe, отриманий файл включатиме тег, який повідомляє демону сервера
щоб не робити рутину видимою через будь-які інтерфейси інтроспекції.

--signature=STRING [ --signature=STRING ... ]
Вкажіть одну або кілька сигнатур для методу. Підписи мають бути іменами типів as
викладено в документації в RPC::XML, з елементами, розділеними двокрапкою. ти
може також розділяти їх пробілами, якщо ви процитуєте аргумент. Цей варіант може бути
вказано більше одного разу, оскільки деякі методи можуть мати кілька сигнатур.

--helptext=STRING
Вкажіть текст довідки для методу як простий рядок у командному рядку. ні
підходить для жахливо довгих довідкових рядків.

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

--код=ФАЙЛ
Прочитайте фактичний код підпрограми із зазначеного файлу. Якщо цього варіанта немає
враховуючи, код зчитується зі стандартного дескриптора вхідного файлу.

--output=ФАЙЛ
Запишіть отримане XML-подання у вказаний файл. Якщо цього варіанта немає
заданий, то вихідні дані переходять до стандартного дескриптора вихідного файлу.

--base=НАЗВА
Це особливий варіант «все в одному». Якщо прийнятий, усі інші параметри ігноруються.

Значення використовується як базовий елемент для зчитування інформації з файлу з ім'ям
БАЗА.база. Цей файл міститиме специфікацію назви, версії, прихованого статусу,
підписи та інша інформація про методи. Кожен рядок файлу має виглядати як один із
наступні:

ім'я: STRING
Вкажіть назву підпрограми, що публікується. Якщо цей рядок не з’являється,
тоді значення --база буде аргумент із видаленими всіма елементами каталогу
використаний

Версія: STRING
Надайте штамп версії функції. Якщо жоден рядок не відповідає цьому шаблону
наявний, тег версії не буде записаний.

Приховано: STRING
якщо присутній, STRING має бути «так» або «ні» (регістр не важливий). Якщо це
"так", тоді метод буде позначено як прихований від будь-якого API інтроспекції.

Підпис: STRING
Цей рядок може з’являтися кілька разів і обробляється кумулятивно. Інші варіанти
замінити попередні значення, якщо вони з’являються більше одного разу. Частина, наступна за
Частиною «Підпис:» вважається опублікований підпис для методу, с
елементи, розділені пробілами. Кожен метод повинен мати принаймні один підпис, тому
відсутність будь-якого призведе до помилки.

Файл довідки: STRING
Вказує файл, з якого читати текст довідки. Це не помилка, якщо немає допомоги
текст вказано.

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

Кодовий файл[lang]: рядок
Вказує файл, з якого читати код, а також визначає мову
в якому знаходиться код. Це дозволяє створити файл a XPL файл, що включає
кількома мовними реалізаціями даного методу чи процедури.

Будь-які інші рядки, крім наведених вище шаблонів, ігноруються.

Якщо код не був прочитаний, інструмент вийде з повідомленням про помилку.

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

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

Фото ФОРМАТ І DTD


Формат файлу для цих опублікованих процедур є дуже простим діалектом XML. Це менше
оскільки XML є ідеальним форматом, ніж доступність аналізатора, враховуючи те, що
RPC::XML::Сервер клас вже матиме код синтаксичного аналізатора в ядрі. Написання абсолютно нового
формат нічого б не виграв.

Декларацію типу документа для формату можна узагальнити так:

<!ELEMENT proceduredef (ім'я, простір імен?, версія?, прихований?,
підпис+, довідка?, код)>
<!ELEMENT methoddef (ім'я, простір імен?, версія?, прихований?,
підпис+, довідка?, код)>
<!ELEMENT functiondef (ім'я, простір імен?, версія?, прихований?,
підпис+, довідка?, код)>









Файл "rpc-method.dtd", що постачається разом із дистрибутивом, містить додаткові коментарі
до фактичної специфікації.

Файл (поки що) обмежений одним визначенням. Це починається з відкриття
теги " ", " "або" Далі йде рівно один
" ", що вказує назву методу, необов'язковий штамп версії, необов'язковий
прапорець приховування від самоаналізу, один або кілька " " контейнери із зазначенням підписів,
необов'язковий " " контейнер з текстом довідки, потім " container with the " " container with the
фактичний програмний код. Весь текст має використовувати кодування сутностей для символів:

& C<&> (амперсанд)
Е C<<> (менше ніж)
Е C<>> (більше ніж)

Процес розбору в класі сервера декодує сутності. Робити речі
простіше, інструмент сканує всі текстові елементи та кодує вищезазначені об’єкти перед записом
файлу.

Команда Специфікація of код
Це не «Програмування 101", ні «Perl та цінності Дещо тьмяний". Код, який є
переданий через один із файлів "*.xpl", передається до "eval" майже без змін
(Дивись нижче). Таким чином, погано написаний або шкідливий код може дуже сильно завдати шкоди вашому
сервер. Це не помилка коду сервера. Ціна гнучкості цієї системи
пропозиції несе відповідальність розробника за те, щоб код
перевірено та безпечно.

Сам код розглядається максимально дослівно. Деякі зміни можуть відбуватися на стороні сервера,
оскільки це робить код придатним для створення анонімної підпрограми з. The make_method
інструмент спробує використати розділ "CDATA" для вбудовування коду в XML-документ, тому
що немає потреби кодувати об’єкти чи щось подібне. Це дозволяє отримати в результаті *.xpl
файли для перевірки синтаксису за допомогою "perl -cx". Ви можете допомогти цьому, переконавшись, що код
не містить жодної з двох наступних послідовностей символів:

]]>

__ДАНІ__

Перший - термінатор "CDATA". Якщо це відбувається природно в коді, воно спрацює
кінець розділу в аналізаторі. Другий — знайомий токен Perl, який вставляється
щоб залишок XML-документа не захаращував аналізатор Perl.

ПРИКЛАДИ


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

ДІАГНОСТИКА


Більшість проблем проявляється у вигляді повідомлень про помилки з наступним різким виходом.

EXIT СТАТУС


Інструмент завершує роботу зі статусом 0 у разі успіху та 255 в іншому випадку.

ПЕРЕКЛАДИ


Мені не дуже подобається такий підхід до визначення методів, але мені подобалися навіть інші мої ідеї
менше.

Використовуйте make_methodp онлайн за допомогою служб onworks.net


Безкоштовні сервери та робочі станції

Завантажте програми для Windows і Linux

Команди Linux

Ad