英语法语西班牙语

Ad


OnWorks 网站图标

make_methodp - 云端在线

在 OnWorks 免费托管服务提供商中通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器运行 make_methodp

这是命令 make_methodp,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


make_method - 将 Perl 代码转换为 RPC::XML::Server 的 XML 描述

概要


make_method --name=system.identification --helptext='系统 ID 字符串'
--signature=string --code=ident.pl --output=ident.xpl

make_method --base=方法/标识

商品描述


这是一个创建 XML 描述文件的简单工具,用于指定要执行的方法
发表于 RPC::XML::服务器- 基于服务器。

如果服务器的编写方式使其导出的方法(或 出版) 是其中的一部分
运行代码,那么就不需要这个工具了。 但是,如果服务器可能
独立于代码(例如基于 Apache 的 RPC 服务器),指定
例程和填写支持信息可能很麻烦。

一种解决方案 RPC::XML::服务器 包提供是加载可发布的手段
来自外部文件的代码。 该文件采用简单的 XML 方言,清楚地描述了
外部可见的名称、方法签名、帮助文本和代码本身。 这些
可以手动创建文件,也可以将此工具用作助手。

所需 争论


没有必需的参数,但如果没有足够的选项传递,你会
被错误消息告知。

配置


该工具可识别以下选项:

- 帮帮我
打印选项的简短摘要。

--name=字符串
指定正在编码的方法的发布名称。 这是它的名字
将对服务器的客户端可见。

--命名空间=字符串
指定将在其中评估方法代码的名称空间,当 XPL
文件由服务器实例加载。

--type=字符串
指定结果文件的类型。 这里的“类型”是指容器是否
结果 XML 中使用的标记将指定一个 程序 或者 方法。 默认是
方法. 该字符串不区分大小写,并且只有第一个字符(“m”或
“p”)实际上被视为。

--版本=字符串
指定代码例程的版本标记。

- 隐
如果通过,生成的文件将包含一个标签,告诉服务器守护进程
不通过任何内省界面使例程可见。

--signature=STRING [--signature=STRING ...]
为方法指定一个或多个签名。 签名应该是类型名称
在 RPC::XML 的文档中布局,元素用冒号分隔。 你
如果引用参数,也可以用空格分隔它们。 这个选项可能是
多次指定,因为某些方法可能有多个签名。

--helptext=字符串
将方法的帮助文本指定为命令行上的简单字符串。 不是
适用于非常长的帮助字符串。

--helpfile=文件
从指定的文件中阅读该方法的帮助文本。

--code=文件
从指定的文件中读取例程的实际代码。 如果没有这个选项
给定,代码是从标准输入文件描述符中读取的。

--输出=文件
将生成的 XML 表示形式写入指定的文件。 如果没有这个选项
给定,然后输出到标准输出文件描述符。

--base=名称
这是一个特殊的“多合一”选项。 如果通过,则忽略所有其他选项。

该值用作从名为的文件中读取信息的基本元素
BASE。根据。 该文件将包含名称、版本、隐藏状态的规范,
签名和其他方法信息。 文件的每一行都应该看起来像
执行以下操作:

名称: STRING
指定正在发布的例程的名称。 如果没有出现这一行,
然后的价值 - 根据 删除所有目录元素的参数将是
用过的。

版本: STRING
为函数提供版本戳。 如果没有匹配此模式的行是
目前,不会写入版本标签。

隐: STRING
如果有的话 STRING 应该是“是”或“否”(大小写不重要)。 如果是
“是”,则该方法被标记为对任何内省 API 隐藏。

签名: STRING
此行可能出现多次,并累积处理。 其他选项
如果它们出现多次,则覆盖以前的值。 后面的部分
“签名:”部分被视为该方法的已发布签名,其中
由空格分隔的元素。 每个方法必须至少有一个签​​名,所以
缺少任何都会导致错误。

帮助文件: STRING
指定从中读取帮助文本的文件。 如果没有帮助,这不是错误
文本被指定。

代码文件: STRING
指定要从中读取代码的文件。 假定代码是 Perl,并且
将在生成的文件中被标记为这样。

代码文件[语言]: 绳子
指定从中读取代码的文件,同时还标识语言
代码所在。这允许创建一个 XPL 包含的文件
给定方法或过程的多种语言实现。

除上述模式之外的任何其他行都将被忽略。

如果未读取任何代码,则该工具将退出并显示错误消息。

输出写入 BASE.xpl,保留路径信息,以便
结果文件就在源文件旁边。 这允许构造,例如:

make_method --base=方法/内省

文件 FORMAT AND DTD


这些已发布例程的文件格式是一种非常简单的 XML 方言。 这是少
由于 XML 是一种理想的格式,而不是解析器的可用性,鉴于
RPC::XML::服务器 类将已经在核心中有解析器代码。 写一个全新的
格式不会有任何收获。

该格式的文档类型声明可以总结为:

<!ELEMENT proceduredef(名称、命名空间?、版本?、隐藏?,
签名+,帮助?,代码)>
<!ELEMENT methoddef(名称、命名空间?、版本?、隐藏?,
签名+,帮助?,代码)>
<!ELEMENT functiondef(名称、命名空间?、版本?、隐藏?,
签名+,帮助?,代码)>









发行版附带的文件“rpc-method.dtd”另外还有一些注释
以实际规格为准。

一个文件(目前)仅限于一个定义。 这是由开幕式之一开始的
标签” "、" “ 或者 ” ”。紧随其后的是一
” " 指定方法名称的容器、可选的版本戳、可选的
隐藏自省标志,一个或多个“ " 指定签名的容器,
一个可选的“ " 带有帮助文本的容器,然后是带有帮助文本的 " " container with the
实际程序代码。 所有文本都应为符号使用实体编码:

& C<&>(与号)
乙C<<>(小于)
乙C<>>(大于)

服务器类中的解析过程将对实体进行解码。 做东西
更容易的是,该工具会扫描所有文本元素并在编写之前对上述实体进行编码
文件中。

规格 of 代码
这是不 《编程 101“,也不是 “珀尔 有些 暗淡”. 代码是
通过“*.xpl”文件之一传入的“eval”几乎没有修改
(见下文)。 因此,编写不当或恶意的代码很可能会对您的系统造成严重破坏。
服务器。 这不是服务器代码的错。 这个系统的灵活性的代价
提供是开发人员的责任,以确保代码是
经过测试且安全。

代码本身被尽可能地逐字处理。 服务器端可能会发生一些编辑,
因为它使代码适合从中创建匿名子例程。 这 制作方法
工具将尝试使用“CDATA”部分将代码嵌入到 XML 文档中,因此
不需要对实体等进行编码。 这允许结果 *.xpl
文件可以使用“perl -cx”进行语法测试。 您可以通过确保代码
不包含以下两个字符序列中的任何一个:

]]>

__DATA__

第一个是“CDATA”终止符。 如果它在代码中自然发生,它会触发
解析器中的结尾部分。 第二个是熟悉的Perl令牌,插入
这样 XML 文档的其余部分就不会弄乱 Perl 解析器。

示例


远程过程调用::XML 分发在一个名为的子目录中带有许多默认方法
(足够神秘)“方法”。 每一个都表示为一组 ("*.base",
"*.code", "*.help") 文件。 Makefile.PL 文件配置生成的 Makefile,例如
这些用于使用此工具创建“*.xpl”文件,然后安装它们。

诊断


大多数问题都以错误消息的形式出现,然后是突然退出。

退出 状态


该工具在成功时退出,状态为 0,否则为 255。

洞穴


我不太喜欢这种指定方法的方法,但我甚至喜欢我的其他想法
减。

使用 onworks.net 服务在线使用 make_methodp


免费服务器和工作站

下载 Windows 和 Linux 应用程序

Linux 命令

Ad