英語フランス語スペイン語

Ad


OnWorksファビコン

make_methodp - クラウドでオンライン

Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーター上の OnWorks 無料ホスティング プロバイダーで make_methodp を実行します。

これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド make_methodp です。

プログラム:

NAME


make_method - Perl コードを RPC::XML::Server の XML 記述に変換します。

SYNOPSIS


make_method --name=system.identification --helptext='システム ID 文字列'
--signature=string --code=ident.pl --output=ident.xpl

make_method --base=メソッド/識別

DESCRIPTION


これは、メソッドを指定するための XML 記述ファイルを作成する簡単なツールです。
によって出版された RPC::XML::サーバーベースのサーバー。

サーバーがエクスポートするメソッド (または 公開する) の一部です。
コードを実行する場合、このツールは必要ありません。 ただし、サーバーが
コード (Apache ベースの RPC サーバーなど) とは別個のものであり、次のように指定します。
ルーチンを実行したり、サポート情報を入力したりするのは面倒な場合があります。

解決策の XNUMX つは、 RPC::XML::サーバー パッケージオファーは公開可能なものをロードする手段です
外部ファイルからのコード。 このファイルは単純な XML 言語で記述されており、
外部から見える名前、メソッドのシグネチャ、ヘルプ テキスト、およびコード自体。 これら
ファイルは手動で作成することも、このツールを補助として使用することもできます。

REQUIRED 議論


必須の引数はありませんが、十分なオプションが渡されない場合は、
エラーメッセージで伝えられます。

OPTIONS


このツールは次のオプションを認識します。

- 助けて
オプションの短い概要を出力します。

--name=STRING
エンコードされるメソッドの公開名を指定します。 これはその名前です
サーバーのクライアントに表示されます。

--namespace=STRING
XPL が実行されるときにメソッドのコードが評価される名前空間を指定します。
ファイルはサーバー インスタンスによってロードされます。

--type=STRING
結果のファイルのタイプを指定します。 ここでの「タイプ」とは、コンテナーが
結果の XML で使用されるタグは、 手続き または 方法。 デフォルトは
方法。 文字列は大文字と小文字が区別されず、最初の文字 (「m」または
"p") は実際には考慮されます。

--version=STRING
コード ルーチンのバージョン スタンプを指定します。

- 隠れた
これが成功した場合、結果のファイルにはサーバー デーモンに通知するタグが含まれます。
ルーチンがイントロスペクション インターフェイスを通じて可視にならないようにします。

--signature=STRING [ --signature=STRING ... ]
メソッドに XNUMX つ以上のシグネチャを指定します。 シグネチャは型名である必要があります。
RPC::XML のドキュメント内にレイアウトされ、要素はコロンで区切られます。 あなた
引数を引用する場合は、スペースで区切ることもできます。 このオプションは次のとおりです
一部のメソッドには複数のシグネチャがある場合があるため、複数回指定します。

--helptext=STRING
メソッドのヘルプ テキストをコマンド ラインで単純な文字列として指定します。 ない
非常に長いヘルプ文字列に適しています。

--helpfile=ファイル
指定されたファイルからメソッドのヘルプ テキストを読み取ります。

--code=ファイル
指定されたファイルからルーチンの実際のコードを読み取ります。 このオプションが選択されていない場合は、
指定された場合、コードは標準入力ファイル記述子から読み取られます。

--output = FILE
結果の XML 表現を指定されたファイルに書き込みます。 このオプションが選択されていない場合は、
指定された場合、出力は標準出力ファイル記述子に送られます。

--base=名前
これは特別な「オールインワン」オプションです。 渡された場合、他のすべてのオプションは無視されます。

値は、という名前のファイルから情報を読み取るための基本要素として使用されます。
BASE。ベース。 このファイルには、名前、バージョン、隠しステータス、
署名やその他のメソッド情報。 ファイルの各行は次のようになります。
以下

お名前: STRING
公開するルーチンの名前を指定します。 この行が表示されない場合は、
次に、の値 - ベース すべてのディレクトリ要素が削除された引数は次のようになります。
中古。

バージョン: STRING
関数のバージョンスタンプを提供します。 このパターンに一致する行がない場合は、
存在する場合、バージョンタグは書き込まれません。

隠し: STRING
存在する場合、 STRING 「はい」または「いいえ」のいずれかにする必要があります (大文字と小文字は重要ではありません)。 もしそれが
「はい」の場合、メソッドはイントロスペクション API から非表示になるようにマークされます。

署名: STRING
この行は複数回出現する可能性があり、累積的に扱われます。 その他のオプション
以前の値が複数回出現する場合は、それを上書きします。 に続く部分
「Signature:」部分は、メソッドの公開された署名とみなされます。
空白で区切られた要素。 各メソッドには少なくとも XNUMX つのシグネチャが必要です。
どれも欠けているとエラーが発生します。

ヘルプファイル: STRING
ヘルプ テキストを読み取るファイルを指定します。 助けがなければエラーではありません
テキストが指定されています。

コードファイル: STRING
コードを読み取るファイルを指定します。 コードは Perl であると想定されており、
結果のファイルではそのようにタグ付けされます。

コードファイル[言語]: 文字列
コードを読み取るファイルを指定し、言語も識別します
コードが含まれていることを確認します。これにより、 XPL を含むファイル
特定のメソッドまたはプロシージャの複数の言語実装。

上記パターン以外の行は無視されます。

コードが読み取られていない場合、ツールはエラー メッセージを表示して終了します。

出力は次の場所に書き込まれます BASE.xpl、パス情報を保存して、
結果のファイルはソース ファイルのすぐ隣にあります。 これにより、次のような構成が可能になります。

make_method --base=メソッド/イントロスペクション

FILE FORMAT そして DTD


これらの公開ルーチンのファイル形式は、非常に単純な XML 方言です。 これは少ないです
XML はパーサーの可用性よりも理想的な形式であるため、
RPC::XML::サーバー クラスにはすでにコアにパーサーコードが含まれています。 全く新しいことを書く
フォーマットでは何も得られなかったでしょう。

この形式の文書タイプ宣言は次のように要約できます。

<!ELEMENT proceduredef (name, namespace?, version?, hidden?,
署名+、ヘルプ?、コード)>
<!ELEMENT methoddef (name, namespace?, version?, hidden?,
署名+、ヘルプ?、コード)>
<!ELEMENT functiondef (name, namespace?, version?, hidden?,
署名+、ヘルプ?、コード)>









ディストリビューションに付属するファイル「rpc-method.dtd」には、さらにいくつかの解説が含まれています
実際の仕様に合わせて。

ファイルは (今のところ) XNUMX つの定義に制限されています。 これはオープニングのやつから始まります
タグ「 "、" " または " "。この後には XNUMX つだけ続きます
」 " メソッド名、オプションのバージョンスタンプ、オプションの
イントロスペクションから隠すフラグ、XNUMX つ以上の " " 署名を指定するコンテナー、
オプションの「 " コンテナにヘルプ テキストが含まれ、次に " " container with the
実際のプログラムコード。 すべてのテキストでは、シンボルのエンティティ エンコーディングを使用する必要があります。

&C<&> (アンパサンド)
E C<<> (未満)
E C<>> (より大きい)

サーバー クラス内の解析プロセスによってエンティティがデコードされます。 物を作ること
より簡単に、このツールはすべてのテキスト要素をスキャンし、上記のエンティティをエンコードしてから、
ファイルにソフトウェアを指定する必要があります。

  製品仕様 of Code
これではありません "プログラミング 101 "、それもありません 「パール for   幾分 薄暗い」。 というコード
「*.xpl」ファイルのいずれかを介して渡されたファイルは、ほとんど変更されずに「eval」に渡されます。
(以下を参照してください)。 したがって、不適切に書かれたコードや悪意のあるコードは、コンピュータに大損害を与える可能性があります。
サーバ。 これはサーバー コードのせいではありません。 このシステムの柔軟性の代償
コードが確実に提供されることを保証するのは開発者の側の責任です。
テスト済みで安全です。

コード自体は可能な限りそのまま扱われます。 サーバー側で一部の編集が行われる場合がありますが、
コードが匿名サブルーチンの作成に適したものになるためです。 の メイクメソッド
ツールは「CDATA」セクションを使用して XML ドキュメント内にコードを埋め込もうとするため、
エンティティなどをエンコードする必要がないこと。 これにより、結果として次のことが可能になります *.xpl
ファイルは「perl -cx」で構文テスト可能になります。 コードを次のようにすることでこれを支援できます。
次の XNUMX つの文字シーケンスのいずれも含まれていません。

]]>

__データ__

XNUMX つ目は「CDATA」ターミネータです。 コード内で自然に発生した場合は、トリガーされます
パーサーのセクションの終わり。 XNUMX 番目はおなじみの Perl トークンで、挿入されます。
XML ドキュメントの残りの部分が Perl パーサーを混乱させないようにします。


  RPC::XML ディストリビューションには、 というサブディレクトリにいくつかのデフォルトのメソッドが含まれています。
(不可解ですが)「メソッド」。 これらはそれぞれ ("*.base",
"*.code"、"*.help") ファイル。 Makefile.PL ファイルは、結果として得られる Makefile を次のように構成します。
これらは、このツールを使用して「*.xpl」ファイルを作成し、インストールするために使用されることを確認します。

診断


ほとんどの問題は、エラー メッセージの後に突然終了する形で表示されます。

EXIT ステータス


ツールは、成功するとステータス 0 で終了し、成功しない場合はステータス 255 で終了します。

警告


私はメソッドを指定するこのアプローチはあまり好きではありませんが、他のアイデアも気に入りました
もっと少なく。

onworks.net サービスを使用してオンラインで make_methodp を使用する


無料のサーバーとワークステーション

Windows と Linux のアプリをダウンロード

Linuxコマンド

Ad