IngleseFranceseSpagnolo

Ad


Favicon di OnWorks

make_methodp - Online nel cloud

Esegui make_methodp nel provider di hosting gratuito OnWorks su Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

Questo è il comando make_methodp che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

PROGRAMMA:

NOME


make_method - Trasforma il codice Perl in una descrizione XML per RPC::XML::Server

SINOSSI


make_method --name=system.identification --helptext='Stringa ID sistema'
--signature=stringa --code=ident.pl --output=ident.xpl

make_method --base=metodi/identificazione

DESCRIZIONE


Questo è uno strumento semplice per creare i file descrittivi XML per specificare i metodi da essere
pubblicato da an RPC::XML::Serverbasato su server.

Se un server è scritto in modo tale che i metodi che esporta (o pubblica) fanno parte di
codice in esecuzione, non è necessario questo strumento. Tuttavia, nei casi in cui il server potrebbe
essere separato e distinto dal codice (come un server RPC basato su Apache), specificando
le routine e la compilazione delle informazioni di supporto possono essere ingombranti.

Una soluzione che il RPC::XML::Server le offerte del pacchetto sono il mezzo per caricare pubblicabili
codice da un file esterno. Il file è in un semplice dialetto XML che delinea chiaramente il
nome visibile esternamente, le firme del metodo, il testo della guida e il codice stesso. Queste
i file possono essere creati manualmente o questo strumento può essere utilizzato come ausilio.

OBBLIGATORIO ARGOMENTI


Non ci sono argomenti obbligatori, ma se non ci sono opzioni sufficienti, lo farai
essere detto da un messaggio di errore.

VERSIONI


Lo strumento riconosce le seguenti opzioni:

--Aiuto
Stampa un breve riepilogo delle opzioni.

--name=STRINGA
Specifica il nome pubblicato del metodo da codificare. Questo è il nome con cui
sarà visibile ai client del server.

--namespace=STRINGA
Specifica uno spazio dei nomi in cui verrà valutato il codice del metodo, quando l'XPL
il file viene caricato da un'istanza del server.

--type=STRINGA
Specificare il tipo per il file risultante. "Tipo" qui si riferisce al fatto che il contenitore
tag utilizzato nell'XML risultante specificherà a procedura o metodo. L'impostazione predefinita è
metodo. La stringa viene trattata indipendentemente dalle maiuscole e solo il primo carattere ("m" o
"p") è effettivamente considerato.

--version=STRINGA
Specificare un timbro di versione per la routine di codice.

--nascosto
Se questo è passato, il file risultante includerà un tag che dice al demone del server
per non rendere visibile la routine attraverso alcuna interfaccia di introspezione.

--signature=STRINGA [ --signature=STRINGA ... ]
Specificare una o più firme per il metodo. Le firme dovrebbero essere i nomi dei tipi come
disposto nella documentazione in RPC::XML, con gli elementi separati da due punti. Voi
può anche separarli con spazi, se si cita l'argomento. Questa opzione potrebbe essere
specificato più di una volta, poiché alcuni metodi possono avere diverse firme.

--helptext=STRINGA
Specificare il testo della guida per il metodo come una semplice stringa sulla riga di comando. Non
adatto per stringhe di aiuto terribilmente lunghe.

--helpfile=FILE
Leggere il testo della guida per il metodo dal file specificato.

--codice=FILE
Leggere il codice effettivo per la routine dal file specificato. Se questa opzione non lo è
dato, il codice viene letto dal descrittore di file di input standard.

--output=FILE
Scrivere la rappresentazione XML risultante nel file specificato. Se questa opzione non lo è
dato, allora l'output va al descrittore di file di output standard.

--base=NOME
Questa è un'opzione speciale "tutto in uno". Se superato, tutte le altre opzioni vengono ignorate.

Il valore viene utilizzato come elemento base per leggere le informazioni da un file denominato
BASE.base. Questo file conterrà la specifica del nome, della versione, dello stato nascosto,
firme e altre informazioni sul metodo. Ogni riga del file dovrebbe apparire come una di
il seguente:

Nome e Cognome: STRING
Specificare il nome della routine da pubblicare. Se questa riga non compare,
quindi il valore di --base argomento con tutti gli elementi della directory rimossi sarà
Usato.

Versione: STRING
Fornire un timbro di versione per la funzione. Se nessuna linea corrisponde a questo modello è
presente, non verrà scritto alcun tag di versione.

Nascosto: STRING
Se presente, STRING dovrebbe essere "sì" o "no" (caso non importante). Se è
"sì", il metodo è contrassegnato per essere nascosto da qualsiasi API di introspezione.

Firma: STRING
Questa riga può apparire più di una volta e viene trattata cumulativamente. Altre opzioni
sovrascrive i valori precedenti se vengono visualizzati più di una volta. La parte che segue il
La parte "Firma:" è considerata una firma pubblicata per il metodo, con
elementi separati da spazi. Ogni metodo deve avere almeno una firma, quindi
una mancanza di qualsiasi causerà un errore.

File di aiuto: STRING
Specifica il file da cui leggere il testo della guida. Non è un errore se nessun aiuto
testo è specificato.

File di codice: STRING
Specifica il file da cui leggere il codice. Si presume che il codice sia Perl e
verrà contrassegnato come tale nel file risultante.

File di codice[lingua]: stringa
Specifica il file da cui leggere il codice, identificando anche la lingua
in cui si trova il codice. Ciò consente la creazione di a XPL file che include
implementazioni in più lingue del metodo o della procedura specificati.

Eventuali linee diverse dai modelli precedenti vengono ignorate.

Se non è stato letto alcun codice, lo strumento uscirà con un messaggio di errore.

L'output è scritto in BASE.xpl, preservando le informazioni sul percorso in modo che
il file risultante è proprio accanto ai file di origine. Ciò consente costrutti come:

make_method --base=metodi/introspezione

RISORSE FORMATO E DTD


Il formato del file per queste routine pubblicate è un dialetto XML molto semplice. Questo è meno
a causa del fatto che XML è un formato ideale rispetto alla disponibilità del parser, dato che il
RPC::XML::Server class avrà già il codice del parser in core. Scrivere un completamente nuovo
formato non avrebbe guadagnato nulla.

La Dichiarazione del tipo di documento per il formato può essere riassunta da:

<!ELEMENT proceduredef (name, namespace?, version?, hidden?,
firma+, aiuto?, codice)>
<!ELEMENT methoddef (name, namespace?, version?, hidden?,
firma+, aiuto?, codice)>
<!ELEMENT functiondef (name, namespace?, version?, hidden?,
firma+, aiuto?, codice)>









Il file "rpc-method.dtd" che viene fornito con la distribuzione ha alcuni commenti in aggiunta
alla specifica effettiva.

Un file è (per ora) limitato a una definizione. Questo è iniziato da quello dell'apertura
tag " ", " " o " ". Questo è seguito da esattamente uno
" " contenitore che specifica il nome del metodo, un timbro di versione opzionale, un facoltativo
flag hide-from-introspection, uno o più " " contenitori che specificano le firme,
un optional" " contenitore con il testo di aiuto, quindi il " container with the " " container with the
codice del programma effettivo. Tutto il testo deve utilizzare la codifica dell'entità per i simboli:

& C<&> (e commerciale)
E C<<> (minore di)
E C<>> (maggiore di)

Il processo di analisi all'interno della classe server decodificherà le entità. Per fare le cose
più semplice, lo strumento esegue la scansione di tutti gli elementi di testo e codifica le entità di cui sopra prima di scrivere il
file.

I Specificazione of Code
Questo non è "Programmazione 101 ", né lo è "Perla per , il piuttosto scuro". Il codice che è
passato tramite uno dei file "*.xpl" viene passato a "eval" senza quasi nessuna modifica
(vedi sotto). Pertanto, un codice mal scritto o dannoso può benissimo provocare il caos sul tuo
server. Non è colpa del codice del server. Il prezzo della flessibilità di questo sistema
offerte è responsabilità da parte dello sviluppatore garantire che il codice sia
testato e sicuro.

Il codice stesso viene trattato nel modo più letterale possibile. Alcune modifiche possono verificarsi sul lato server,
in quanto rende il codice adatto alla creazione di una subroutine anonima da. Il make_metodo
lo strumento tenterà di utilizzare una sezione "CDATA" per incorporare il codice all'interno del documento XML, quindi
che non è necessario codificare entità o simili. Ciò consente la risultante *.xpl
i file devono essere verificabili dalla sintassi con "perl -cx". Puoi aiutarlo assicurandoti che il codice
non contiene nessuna delle due seguenti sequenze di caratteri:

]]>

__DATA__

Il primo è il terminatore "CDATA". Se si verifica naturalmente nel codice, si innescherà
la fine della sezione nel parser. Il secondo è il familiare token Perl, che viene inserito
in modo che il resto del documento XML non ingombra il parser Perl.

ESEMPI


I RPC::XML distribuzione viene fornita con un numero di metodi predefiniti in una sottodirectory chiamata
(abbastanza criptico) "metodi". Ognuno di questi è espresso come un insieme di ("*.base",
File "*.code", "*.help"). Il file Makefile.PL configura il Makefile risultante come
che questi vengono utilizzati per creare file "*.xpl" utilizzando questo strumento e quindi installarli.

DIAGNOSTICA


La maggior parte dei problemi si presenta sotto forma di messaggi di errore seguiti da un'uscita improvvisa.

EXIT STATUS


Lo strumento esce con uno stato di 0 in caso di successo e 255 in caso contrario.

AVVERTENZE


Non mi piace molto questo approccio per specificare i metodi, ma mi sono piaciute anche le altre mie idee
Di meno.

Usa make_methodp online usando i servizi onworks.net


Server e workstation gratuiti

Scarica app per Windows e Linux

Comandi Linux

Ad