InglêsFrancêsEspanhol

Ad


favicon do OnWorks

make_methodp - Online na nuvem

Execute make_methodp no provedor de hospedagem gratuita OnWorks no Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS

Este é o comando make_methodp que pode ser executado no provedor de hospedagem gratuita OnWorks usando uma de nossas várias estações de trabalho online gratuitas, como Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS

PROGRAMA:

NOME


make_method - Transforme o código Perl em uma descrição XML para RPC :: XML :: Server

SINOPSE


make_method --name = system.identification --helptext = 'Cadeia de ID do sistema'
--signature = string --code = ident.pl --output = ident.xpl

make_method --base = métodos / identificação

DESCRIÇÃO


Esta é uma ferramenta simples para criar os arquivos descritivos XML para especificar métodos a serem
publicado por um RPC :: XML :: Serverbaseado em servidor.

Se um servidor for escrito de forma que os métodos que ele exporta (ou publica) fazem parte do
executando o código, então não há necessidade desta ferramenta. No entanto, nos casos em que o servidor pode
ser separado e distinto do código (como um servidor RPC baseado em Apache), especificando
as rotinas e o preenchimento das informações de apoio podem ser complicados.

Uma solução que o RPC :: XML :: Server ofertas de pacotes são o meio para carregar publicáveis
código de um arquivo externo. O arquivo está em um dialeto XML simples que delineia claramente o
o nome visível externamente, as assinaturas do método, o texto de ajuda e o próprio código. Esses
os arquivos podem ser criados manualmente ou esta ferramenta pode ser usada como um auxiliar.

É REQUERIDO ARGUMENTOS


Não há argumentos necessários, mas se não houver opções suficientes passadas, você irá
ser informado por uma mensagem de erro.

OPÇÕES


A ferramenta reconhece as seguintes opções:

--Socorro
Imprime um breve resumo das opções.

--name = STRING
Especifica o nome publicado do método que está sendo codificado. Este é o nome pelo qual
ficará visível para os clientes do servidor.

--namespace = STRING
Especifica um namespace em que o código do método será avaliado, quando o XPL
o arquivo é carregado por uma instância do servidor.

--type = STRING
Especifique o tipo do arquivo resultante. "Tipo" aqui se refere a se o contêiner
tag usada no XML resultante irá especificar um procedimentos ou um método. O padrão é
método. A string é tratada independentemente de maiúsculas e minúsculas, e apenas o primeiro caractere ("m" ou
"p") é realmente considerado.

--version = STRING
Especifique um carimbo de versão para a rotina de código.

--escondido
Se estiver fora de moda, o arquivo resultante incluirá uma tag que informa ao daemon do servidor
para não tornar a rotina visível por meio de nenhuma interface de introspecção.

--signature = STRING [--signature = STRING ...]
Especifique uma ou mais assinaturas para o método. As assinaturas devem ser os nomes de tipo como
dispostas na documentação em RPC :: XML, com os elementos separados por dois pontos. Vocês
também pode separá-los com espaços, se você citar o argumento. Esta opção pode ser
especificado mais de uma vez, pois alguns métodos podem ter várias assinaturas.

--helptext = STRING
Especifique o texto de ajuda para o método como uma string simples na linha de comando. Não
adequado para strings de ajuda terrivelmente longas.

--helpfile = FILE
Leia o texto de ajuda para o método do arquivo especificado.

--code = FILE
Leia o código real da rotina do arquivo especificado. Se esta opção não for
dado, o código é lido a partir do descritor de arquivo de entrada padrão.

--output = FILE
Grave a representação XML resultante no arquivo especificado. Se esta opção não for
fornecido, a saída vai para o descritor de arquivo de saída padrão.

--base = NOME
Esta é uma opção especial "tudo em um". Se aprovado, todas as outras opções são ignoradas.

O valor é usado como o elemento base para ler informações de um arquivo chamado
BASE.base. Este arquivo conterá a especificação do nome, versão, status oculto,
assinaturas e outras informações de método. Cada linha do arquivo deve ser semelhante a uma
o seguinte:

Nome: STRING
Especifique o nome da rotina que está sendo publicada. Se esta linha não aparecer,
então o valor do --base argumento com todos os elementos do diretório removidos será
usava.

Versão: STRING
Fornece um carimbo de versão para a função. Se nenhuma linha correspondente a este padrão for
presente, nenhuma tag de versão será gravada.

Escondido: STRING
Se presente, STRING deve ser "sim" ou "não" (caso não seja importante). Se for
"sim", então o método está marcado para ser oculto de qualquer API de introspecção.

Assinatura: STRING
Esta linha pode aparecer mais de uma vez e é tratada cumulativamente. Outras opções
sobrescrever os valores anteriores se eles aparecerem mais de uma vez. A parte após o
"Assinatura:" parte é considerada uma assinatura publicada para o método, com
elementos separados por espaços em branco. Cada método deve ter pelo menos uma assinatura, então
a falta de algum causará um erro.

Arquivo de ajuda: STRING
Especifica o arquivo do qual ler o texto de ajuda. Não é um erro se não houver ajuda
o texto é especificado.

Arquivo de código: STRING
Especifica o arquivo do qual ler o código. O código é considerado Perl, e
será marcado como tal no arquivo resultante.

Codefile [lang]: corda
Especifica o arquivo do qual ler o código, ao mesmo tempo que identifica o idioma
em que o código está. Isso permite a criação de um XPL arquivo que inclui
múltiplas implementações de linguagem do método ou procedimento fornecido.

Quaisquer outras linhas além dos padrões acima são ignoradas.

Se nenhum código for lido, a ferramenta será encerrada com uma mensagem de erro.

A saída é escrita para BASE.xpl, preservando as informações do caminho para que o
o arquivo resultante está ao lado dos arquivos de origem. Isso permite construções como:

make_method --base = methods / introspection

ARQUIVO FORMATO E DTD


O formato de arquivo para essas rotinas publicadas é um dialeto XML muito simples. Isso é menos
devido ao XML ser um formato ideal do que a disponibilidade do analisador, visto que o
RPC :: XML :: Server classe já terá o código do analisador no núcleo. Escrevendo um completamente novo
formato não teria ganho nada.

A Declaração de Tipo de Documento para o formato pode ser resumida por:

<!ELEMENT proceduredef (name, namespace?, version?, hidden?,
assinatura +, ajuda ?, código)>
<!ELEMENT methoddef (name, namespace?, version?, hidden?,
assinatura +, ajuda ?, código)>
<!ELEMENT functiondef (name, namespace?, version?, hidden?,
assinatura +, ajuda ?, código)>









O arquivo "rpc-method.dtd" que vem com a distribuição tem alguns comentários adicionais
de acordo com a especificação real.

Um arquivo é (por enquanto) limitado a uma definição. Isso é iniciado pelo da abertura
Tag " "," " ou " ". Isso é seguido por exatamente um
" "container especificando o nome do método, um carimbo de versão opcional, um opcional
sinalizador ocultar-de-introspecção, um ou mais " "contêineres especificando assinaturas,
um opcional " "container com o texto de ajuda, então o " container with the " " container with the
código real do programa. Todo o texto deve usar codificação de entidade para os símbolos:

& C <&> (e comercial)
E C <<> (menor que)
E C <>> (maior que)

O processo de análise dentro da classe do servidor decodificará as entidades. Para fazer coisas
mais fácil, a ferramenta verifica todos os elementos de texto e codifica as entidades acima antes de escrever o
arquivo.

A Especificação of Code
Isto não é "Programação 101 ", nem é "Perl para que o Um pouco Dim ". O código que é
passado por um dos arquivos "* .xpl" é passado para "eval" quase sem modificação
(Veja abaixo). Assim, códigos mal escritos ou maliciosos podem muito bem causar estragos em seu
servidor. Isso não é culpa do código do servidor. O preço da flexibilidade deste sistema
ofertas é responsabilidade do desenvolvedor para garantir que o código seja
testado e seguro.

O próprio código é tratado o mais literalmente possível. Algumas edições podem ocorrer no lado do servidor,
pois torna o código adequado para a criação de uma sub-rotina anônima a partir de. o método_make
ferramenta tentará usar uma seção "CDATA" para incorporar o código dentro do documento XML, então
que não há necessidade de codificar entidades ou algo semelhante. Isso permite o resultado * .xpl
arquivos para serem testados por sintaxe com "perl -cx". Você pode ajudar nisso garantindo que o código
não contém nenhuma das duas seguintes sequências de caracteres:

]]>

__DATA__

O primeiro é o terminador "CDATA". Se ocorrer naturalmente no código, ele acionará
o fim da seção no analisador. O segundo é o token Perl familiar, que é inserido
para que o restante do documento XML não atrapalhe o analisador Perl.

EXEMPLOS


A RPC :: XML distribuição vem com uma série de métodos padrão em um subdiretório chamado
(enigmaticamente) "métodos". Cada um deles é expresso como um conjunto de ("* .base",
arquivos "* .code", "* .help"). O arquivo Makefile.PL configura o Makefile resultante como
que eles são usados ​​para criar arquivos "* .xpl" usando esta ferramenta e, em seguida, instalá-los.

DIAGNÓSTICO


A maioria dos problemas surge na forma de mensagens de erro seguidas por uma saída abrupta.

SAIR STATUS


A ferramenta sai com um status de 0 em caso de sucesso e 255 em caso contrário.

RESSALVAS


Não gosto muito dessa abordagem para especificar os métodos, mas gostei de minhas outras ideias até
Menos.

Use make_methodp online usando serviços onworks.net


Servidores e estações de trabalho gratuitos

Baixar aplicativos Windows e Linux

Comandos Linux

Ad