EngelsFransSpaans

Ad


OnWorks-favicon

make_methodp - Online in de cloud

Voer make_methodp uit in de gratis hostingprovider van OnWorks via Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator

Dit is de opdracht make_methodp die kan worden uitgevoerd in de gratis hostingprovider van OnWorks met behulp van een van onze meerdere gratis online werkstations zoals Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator

PROGRAMMA:

NAAM


make_method - Zet Perl-code om in een XML-beschrijving voor RPC::XML::Server

KORTE INHOUD


make_method --name=systeem.identificatie --helptext='Systeem-ID-reeks'
--signature=string --code=ident.pl --output=ident.xpl

make_method --base=methoden/identificatie

PRODUCTBESCHRIJVING


Dit is een eenvoudig hulpmiddel om beschrijvende XML-bestanden te maken voor het specificeren van de te gebruiken methoden
gepubliceerd door een RPC::XML::Servergebaseerde server.

Als een server zo is geschreven dat de methoden die hij exporteert (of publiceert) maken deel uit van de
code uitvoert, dan is deze tool niet nodig. In gevallen waarin de server dit wel kan doen
gescheiden en verschillend zijn van de code (zoals een op Apache gebaseerde RPC-server), met specificatie
de routines en het invullen van de ondersteunende informatie kunnen omslachtig zijn.

Eén oplossing die de RPC::XML::Server pakketaanbiedingen is het middel om publiceerbaar te laden
code uit een extern bestand. Het bestand is in een eenvoudig XML-dialect dat duidelijk de
extern zichtbare naam, de handtekeningen van de methode, de helptekst en de code zelf. Deze
bestanden kunnen handmatig worden gemaakt, of deze tool kan als hulpmiddel worden gebruikt.

VERPLICHT ARGUMENTEN


Er zijn geen vereiste argumenten, maar als er niet voldoende opties zijn doorgegeven, dan wel
worden verteld door een foutmelding.

OPTIES


De tool herkent de volgende opties:

--help
Drukt een korte samenvatting van de opties af.

--naam=STRING
Specificeert de gepubliceerde naam van de methode die wordt gecodeerd. Dit is de naam waaronder het
zal zichtbaar zijn voor clients van de server.

--naamruimte=STRING
Specificeert een naamruimte waarin de code van de methode zal worden geëvalueerd, wanneer de XPL
bestand wordt geladen door een serverinstantie.

--type=STRING
Geef het type op voor het resulterende bestand. "Type" verwijst hier naar de vraag of de container
tag die in de resulterende XML wordt gebruikt, specificeert a procedures of methode. De standaardwaarde is
methode. De tekenreeks wordt hoofdletteronafhankelijk behandeld en alleen het eerste teken ("m" of
"p") wordt feitelijk beschouwd.

--versie=STRING
Geef een versiestempel op voor de coderoutine.

--verborgen
Als dit goed is, zal het resulterende bestand een tag bevatten die de server-daemon vertelt
om de routine niet zichtbaar te maken via introspectie-interfaces.

--handtekening=STRING [ --handtekening=STRING ... ]
Geef een of meer handtekeningen op voor de methode. Handtekeningen moeten de typenamen zijn als
vastgelegd in de documentatie in RPC::XML, waarbij de elementen gescheiden zijn door een dubbele punt. Jij
Je kunt ze ook scheiden met spaties, als je het argument citeert. Deze optie kan dat zijn
meer dan eens gespecificeerd, omdat sommige methoden meerdere handtekeningen kunnen hebben.

--helptekst=STRING
Geef de helptekst voor de methode op als een eenvoudige tekenreeks op de opdrachtregel. Niet
geschikt voor verschrikkelijk lange hulpsnaren.

--helpbestand=BESTAND
Lees de helptekst voor de methode uit het opgegeven bestand.

--code=BESTAND
Lees de daadwerkelijke code voor de routine uit het opgegeven bestand. Als deze optie dat niet is
gegeven, wordt de code gelezen uit de standaardinvoerbestandsdescriptor.

--output=BESTAND
Schrijf de resulterende XML-representatie naar het opgegeven bestand. Als deze optie dat niet is
gegeven, dan gaat de uitvoer naar de standaard uitvoerbestandsdescriptor.

--basis=NAAM
Dit is een speciale, "alles-in-één" optie. Indien aangenomen, worden alle andere opties genegeerd.

De waarde wordt gebruikt als basiselement voor het lezen van informatie uit een bestand met de naam
BASE.baseren. Dit bestand bevat de specificatie van de naam, versie, verborgen status,
handtekeningen en andere methode-informatie. Elke regel van het bestand moet er uitzien als een van
het volgende:

Naam: STRING
Geef de naam op van de routine die wordt gepubliceerd. Als deze regel niet verschijnt,
dan de waarde van de --baseren argument waarbij alle directory-elementen zijn verwijderd, zal zijn
gebruikt.

Versie: STRING
Geef een versiestempel op voor de functie. Als er geen lijn is die overeenkomt met dit patroon
aanwezig is, wordt er geen versietag geschreven.

Verborgen: STRING
Indien aanwezig, STRING moet 'ja' of 'nee' zijn (hoofdlettergebruik niet belangrijk). Als het is
"ja", dan wordt de methode gemarkeerd als verborgen voor elke introspectie-API.

Signature: STRING
Deze lijn kan meerdere keren voorkomen en wordt cumulatief behandeld. Andere opties
overschrijf eerdere waarden als deze meer dan één keer voorkomen. Het gedeelte dat volgt op de
Het gedeelte "Handtekening:" wordt beschouwd als een gepubliceerde handtekening voor de methode, met
elementen gescheiden door witruimte. Elke methode moet minimaal één handtekening hebben, dus
het ontbreken daarvan zal een fout veroorzaken.

Helpbestand: STRING
Specificeert het bestand waaruit de helptekst moet worden gelezen. Het is geen fout als er geen hulp is
tekst is opgegeven.

Codebestand: STRING
Specificeert het bestand waaruit de code moet worden gelezen. Er wordt aangenomen dat de code Perl is, en
wordt als zodanig getagd in het resulterende bestand.

Codebestand[lang]: snaar
Specificeert het bestand waaruit de code moet worden gelezen, terwijl ook de taal wordt geïdentificeerd
waarin de code zich bevindt. Hierdoor kan een XPL bestand dat bevat:
implementaties in meerdere talen van de gegeven methode of procedure.

Alle andere lijnen dan de bovenstaande patronen worden genegeerd.

Als er geen code is gelezen, wordt de tool afgesloten met een foutmelding.

Er wordt naar de uitvoer geschreven BASE.xpl, waarbij de padinformatie behouden blijft, zodat de
het resulterende bestand staat vlak naast de bronbestanden. Dit maakt constructies mogelijk zoals:

make_method --base=methoden/introspectie

FILE FORMAT EN DTD


Het bestandsformaat voor deze gepubliceerde routines is een heel eenvoudig XML-dialect. Dit is minder
Omdat XML een ideaal formaat is, is het de beschikbaarheid van de parser, aangezien de
RPC::XML::Server class zal de parsercode al in de kern hebben. Het schrijven van een geheel nieuw
formaat zou niets gewonnen hebben.

De Document Type Declaration voor het formaat kan worden samengevat als:

<!ELEMENT proceduredef (name, namespace?, version?, hidden?,
handtekening+, help?, code)>
<!ELEMENT methoddef (name, namespace?, version?, hidden?,
handtekening+, help?, code)>
<!ELEMENT functiondef (name, namespace?, version?, hidden?,
handtekening+, help?, code)>









Het bestand "rpc-method.dtd" dat bij de distributie wordt geleverd, bevat bovendien wat commentaar
aan de daadwerkelijke specificatie.

Een bestand is (voorlopig) beperkt tot één definitie. Dit begint bij die van de opening
tags " ", " " of " ". Dit wordt gevolgd door precies één
" " container die de naam van de methode specificeert, een optionele versiestempel, een optioneel
vlag voor verstoppertje, een of meer " "containers die handtekeningen specificeren,
een optionele " " container met de helptekst en vervolgens de " " container with the
werkelijke programmacode. Alle tekst moet entiteitscodering gebruiken voor de symbolen:

& C<&> (en-teken)
E C<<> (kleiner dan)
E C<>> (groter dan)

Het parseerproces binnen de serverklasse zal de entiteiten decoderen. Om dingen te maken
eenvoudiger, de tool scant alle tekstelementen en codeert de bovenstaande entiteiten voordat de
bestand.

De Specificaties of Code
Dit is niet "Programmeren 101 ", ook niet "Perl For de Enigszins Dim". De code dus
doorgegeven via een van de "*.xpl"-bestanden wordt vrijwel zonder wijziging doorgegeven aan "eval".
(zie hieronder). Slecht geschreven of kwaadaardige code kan dus grote schade aanrichten aan uw computer
server. Dit is niet de fout van de servercode. De prijs van de flexibiliteit van dit systeem
aanbiedingen is de verantwoordelijkheid van de ontwikkelaar om ervoor te zorgen dat de code is
getest en veilig.

De code zelf wordt zo woordelijk mogelijk behandeld. Sommige bewerkingen kunnen plaatsvinden aan de serverzijde,
omdat het de code geschikt maakt voor het maken van een anonieme subroutine. De maak_methode
tool zal proberen een "CDATA"-sectie te gebruiken om de code in het XML-document in te sluiten, dus
dat het niet nodig is om entiteiten of dergelijke te coderen. Dit maakt het resultaat mogelijk *.xpl
bestanden syntaxistestbaar zijn met "perl -cx". U kunt dit helpen door ervoor te zorgen dat de code
bevat geen van de twee volgende tekenreeksen:

]]>

__GEGEVENS__

De eerste is de "CDATA"-terminator. Als het van nature in de code voorkomt, wordt het geactiveerd
het einde van de sectie in de parser. De tweede is het bekende Perl-token, dat wordt ingevoegd
zodat de rest van het XML-document de Perl-parser niet rommelig maakt.

Voorbeelden


De RPC::XML distributie wordt geleverd met een aantal standaardmethoden in een submap genaamd
(cryptisch genoeg) "methoden". Elk hiervan wordt uitgedrukt als een set ("*.base",
"*.code", "*.help") bestanden. Het Makefile.PL-bestand configureert de resulterende Makefile als zodanig
dat deze worden gebruikt om "*.xpl"-bestanden te maken met behulp van deze tool, en deze vervolgens te installeren.

DIAGNOSE


De meeste problemen komen naar voren in de vorm van foutmeldingen, gevolgd door een abrupte afsluiting.

EXIT STATUS


Het hulpprogramma wordt afgesloten met de status 0 als het succesvol is, en anders 255.

WAARSCHUWINGEN


Ik hou niet zo van deze benadering van het specificeren van de methoden, maar mijn andere ideeën waren zelfs leuk
minder.

Gebruik make_methodp online met behulp van onworks.net-services


Gratis servers en werkstations

Windows- en Linux-apps downloaden

Linux-commando's

Ad