InggrisPerancisSpanyol

Ad


favorit OnWorks

make_methodp - Online di Cloud

Jalankan make_methodp di penyedia hosting gratis OnWorks melalui Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS

Ini adalah perintah make_methodp yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS

PROGRAM:

NAMA


make_method - Ubah kode Perl menjadi deskripsi XML untuk RPC::XML::Server

RINGKASAN


make_method --name=system.identification --helptext='String ID Sistem'
--tanda tangan=string --code=ident.pl --output=ident.xpl

make_method --base=metode/identifikasi

DESKRIPSI


Ini adalah alat sederhana untuk membuat file deskriptif XML untuk menentukan metode yang akan
diterbitkan oleh an RPC::XML::Server-server berbasis

Jika server ditulis sedemikian rupa sehingga metode yang diekspor (atau menerbitkan) adalah bagian dari
menjalankan kode, maka alat ini tidak diperlukan. Namun, dalam kasus di mana server mungkin
terpisah dan berbeda dari kode (seperti server RPC berbasis Apache), dengan menentukan
rutinitas dan mengisi informasi pendukung dapat menjadi rumit.

Salah satu solusi yang RPC::XML::Server penawaran paket adalah sarana untuk memuat yang dapat diterbitkan
kode dari file eksternal. File dalam dialek XML sederhana yang dengan jelas menggambarkan
nama yang terlihat secara eksternal, tanda tangan metode, teks bantuan dan kode itu sendiri. Ini
file dapat dibuat secara manual, atau alat ini dapat digunakan sebagai pembantu.

DIBUTUHKAN ARGUMEN


Tidak ada argumen yang diperlukan, tetapi jika tidak ada opsi yang cukup, Anda akan melakukannya
diberitahu oleh pesan kesalahan.

PILIHAN


Alat ini mengenali opsi berikut:

--membantu
Mencetak ringkasan singkat dari opsi.

--nama=STRING
Menentukan nama yang diterbitkan dari metode yang dikodekan. Ini adalah nama yang digunakannya
akan terlihat oleh klien dari server.

--namespace=STRING
Menentukan namespace tempat kode metode akan dievaluasi, ketika XPL
file dimuat oleh instance server.

--tipe=STRING
Tentukan jenis file yang dihasilkan. "Jenis" di sini mengacu pada apakah wadah
tag yang digunakan dalam XML yang dihasilkan akan menentukan a Prosedur atau metode. Standarnya adalah
metode. String diperlakukan case-independen, dan hanya karakter pertama ("m" atau
"p") sebenarnya dianggap.

--versi=STRING
Tentukan cap versi untuk rutinitas kode.

--tersembunyi
Jika ini lolos, file yang dihasilkan akan menyertakan tag yang memberi tahu daemon server
untuk tidak membuat rutinitas terlihat melalui antarmuka introspeksi apa pun.

--tanda tangan=STRING [ --tanda tangan=STRING ... ]
Tentukan satu atau lebih tanda tangan untuk metode tersebut. Tanda tangan harus berupa nama jenis sebagai
ditata dalam dokumentasi di RPC::XML, dengan elemen yang dipisahkan oleh titik dua. Anda
juga dapat memisahkannya dengan spasi, jika Anda mengutip argumennya. Opsi ini mungkin
ditentukan lebih dari sekali, karena beberapa metode mungkin memiliki beberapa tanda tangan.

--teks bantuan=STRING
Tentukan teks bantuan untuk metode ini sebagai string sederhana pada baris perintah. Bukan
cocok untuk string bantuan yang sangat panjang.

--file bantuan=FILE
Baca teks bantuan untuk metode dari file yang ditentukan.

--kode=FILE
Baca kode aktual untuk rutinitas dari file yang ditentukan. Jika opsi ini tidak
diberikan, kode dibaca dari deskriptor file input standar.

--keluaran=FILE
Tulis representasi XML yang dihasilkan ke file yang ditentukan. Jika opsi ini tidak
diberikan, maka output masuk ke deskriptor file output standar.

--basis=NAMA
Ini adalah opsi khusus, "all-in-one". Jika lulus, semua opsi lain akan diabaikan.

Nilai digunakan sebagai elemen dasar untuk membaca informasi dari file bernama
DASAR.basis. File ini akan berisi spesifikasi nama, versi, status tersembunyi,
tanda tangan dan informasi metode lainnya. Setiap baris file akan terlihat seperti salah satu dari
berikut:

Nama: STRING
Tentukan nama rutin yang diterbitkan. Jika baris ini tidak muncul,
maka nilai --basis argumen dengan semua elemen direktori dihapus akan menjadi
bekas.

Versi: STRING
Berikan stempel versi untuk fungsi tersebut. Jika tidak ada garis yang cocok dengan pola ini adalah
sekarang, tidak ada tag versi yang akan ditulis.

Tersembunyi: STRING
Jika ada, STRING harus berupa "ya" atau "tidak" (kasus tidak penting). Jika memang
"ya", maka metode tersebut ditandai untuk disembunyikan dari API introspeksi apa pun.

Tanda tangan: STRING
Baris ini mungkin muncul lebih dari sekali, dan diperlakukan secara kumulatif. Pilihan lain
menimpa nilai sebelumnya jika muncul lebih dari sekali. Bagian setelah
"Tanda tangan:" bagian dianggap sebagai tanda tangan yang diterbitkan untuk metode ini, dengan
elemen dipisahkan oleh spasi. Setiap metode harus memiliki setidaknya satu tanda tangan, jadi
kekurangan apapun akan menyebabkan kesalahan.

File bantuan: STRING
Menentukan file dari mana untuk membaca teks bantuan. Bukan kesalahan jika tidak ada bantuan
teks ditentukan.

File kode: STRING
Menentukan file dari mana untuk membaca kode. Kode diasumsikan Perl, dan
akan ditandai seperti itu di file yang dihasilkan.

File kode[lang]: tali
Menentukan file dari mana untuk membaca kode, sementara juga mengidentifikasi bahasa
di mana kode tersebut masuk. Ini memungkinkan pembuatan a XPL file yang termasuk
implementasi beberapa bahasa dari metode atau prosedur yang diberikan.

Garis selain pola di atas diabaikan.

Jika tidak ada kode yang terbaca, maka alat akan keluar dengan pesan kesalahan.

Outputnya ditulis ke DASAR.xpl, melestarikan informasi jalur sehingga
file yang dihasilkan tepat di samping file sumber. Ini memungkinkan konstruksi seperti:

make_method --base=metode/introspeksi

FILE FORMAT DAN DTD


Format file untuk rutinitas yang diterbitkan ini adalah dialek XML yang sangat sederhana. Ini kurang
karena XML menjadi format yang ideal daripada ketersediaan parser, mengingat bahwa
RPC::XML::Server kelas sudah memiliki kode parser di inti. Menulis yang benar-benar baru
Format tidak akan mendapatkan apa-apa.

Deklarasi Jenis Dokumen untuk format dapat diringkas dengan:

<!ELEMENT proceduredef (nama, namespace?, versi?, tersembunyi?,
tanda tangan+, bantuan?, kode)>
<!ELEMENT methoddef (nama, namespace?, versi?, tersembunyi?,
tanda tangan+, bantuan?, kode)>
<!ELEMENT functiondef (nama, namespace?, versi?, tersembunyi?,
tanda tangan+, bantuan?, kode)>









File "rpc-method.dtd" yang disertakan dengan distribusi memiliki beberapa komentar sebagai tambahan
dengan spesifikasi sebenarnya.

Sebuah file (untuk saat ini) terbatas pada satu definisi. Ini dimulai dengan salah satu pembukaan
tag " "," " atau " ". Ini diikuti oleh tepat satu
" " wadah yang menentukan nama metode, stempel versi opsional, opsional
bendera sembunyikan-dari-introspeksi, satu atau lebih " " wadah yang menentukan tanda tangan,
opsional" " wadah dengan teks bantuan, lalu " container with the " " container with the
kode program yang sebenarnya. Semua teks harus menggunakan penyandian entitas untuk simbol:

& C<&> (ampersand)
E C<<> (kurang dari)
E C<>> (lebih besar dari)

Proses parsing dalam kelas server akan memecahkan kode entitas. Untuk membuat sesuatu
lebih mudah, alat ini memindai semua elemen teks dan mengkodekan entitas di atas sebelum menulis
file.

Grafik Spesifikasi of Kode
Hal ini tidak Pemrograman 101 ", juga bukan "Perl untuk itu Agak Redup". Kode itu adalah
diteruskan melalui salah satu file "*.xpl" diteruskan ke "eval" tanpa modifikasi
(Lihat di bawah). Dengan demikian, kode yang ditulis dengan buruk atau berbahaya dapat mendatangkan malapetaka pada Anda
server. Ini bukan kesalahan kode server. Harga fleksibilitas sistem ini
penawaran adalah tanggung jawab pengembang untuk memastikan bahwa kode tersebut
teruji dan aman.

Kode itu sendiri diperlakukan sebagai kata demi kata mungkin. Beberapa pengeditan mungkin terjadi di sisi server,
karena membuat kode cocok untuk membuat subrutin anonim dari. NS metode_buat
alat akan mencoba menggunakan bagian "CDATA" untuk menyematkan kode di dalam dokumen XML, jadi
bahwa tidak perlu mengkodekan entitas atau semacamnya. Hal ini memungkinkan untuk hasil *.xpl
file menjadi sintaks-testable dengan "perl -cx". Anda dapat membantu ini dengan memastikan bahwa kode
tidak mengandung salah satu dari dua urutan karakter berikut:

]]>

__DATA__

Yang pertama adalah terminator "CDATA". Jika itu terjadi secara alami dalam kode, itu akan memicu
akhir bagian dalam parser. Yang kedua adalah token Perl yang sudah dikenal, yang dimasukkan
sehingga sisa dokumen XML tidak mengacaukan parser Perl.

CONTOH


Grafik RPC::XML distribusi dilengkapi dengan sejumlah metode default dalam subdirektori yang disebut
(cukup samar) "metode". Masing-masing dinyatakan sebagai himpunan ("*.base",
file "*.code", "*.help"). File Makefile.PL mengonfigurasi Makefile yang dihasilkan seperti:
bahwa ini digunakan untuk membuat file "*.xpl" menggunakan alat ini, dan kemudian menginstalnya.

DIAGNOSTIK


Sebagian besar masalah muncul dalam bentuk pesan kesalahan diikuti dengan keluar tiba-tiba.

EXIT STATUS


Alat keluar dengan status 0 setelah berhasil, dan 255 sebaliknya.

PERINGATAN


Saya tidak terlalu menyukai pendekatan ini untuk menentukan metode, tetapi saya bahkan menyukai ide saya yang lain
kurang.

Gunakan make_methodp online menggunakan layanan onworks.net


Server & Workstation Gratis

Unduh aplikasi Windows & Linux

Perintah Linux

Ad