EngelsFransSpaans

Ad


OnWorks-favicon

genxs - Online in de cloud

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

Dit is de opdracht genxs 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


genxs - Mono's XML-serialisatiegenerator

KORTE INHOUD


genxs configuratiebestand [bestemmingsmap]

PRODUCTBESCHRIJVING


genxs is een tool voor het genereren van aangepaste XML-serialisatieschrijvers en -lezers voor klassen.

configuratiebestand is een configuratiebestand dat verschillende informatie specificeert, zoals de
klasse waarvoor de lezer en schrijver worden gegenereerd, de naam en naamruimte van de klassen
om te genereren, en een verzameling hooks om toe te passen. Door gebruik te maken van haken is dit mogelijk
pas het gedrag van de serializer aan zonder het gegenereerde bestand te hoeven wijzigen, dus
u kunt het veilig opnieuw genereren als de bronklasse wordt gewijzigd.

doelmap specificeert de map waar de bestanden zullen worden gegenereerd.

NOTITIE: Deze tool draait alleen in de Mono-runtime, omdat het sommige interne klassen niet gebruikt
beschikbaar in andere looptijden.

CONFIGURATIE FILE FORMAT


Het configuratiebestand is een xml-document gebaseerd op de volgende grammatica ("?" betekent
optioneel, "*" 0 of meer):


*
naam ?
naam ?
naam ?
naam ?
?
*

?
*




Een configuratiebestand kan meerdere "serializer"-elementen bevatten, die elk de
klasse waarvoor een serializer moet worden gegenereerd, samen met verschillende generatie-opties. De
bronklasse wordt gespecificeerd in de volgende attributen:

* klasse : naam van de klasse (inclusief naamruimte).

* bijeenkomst : montage naam. Het kan het volledige pad bevatten.

Generatie-opties worden gespecificeerd in onderliggende elementen:

* lezer : naam van de lezersklasse.

* geenReader : indien "waar", genereert het geen lezersklasse.

* schrijver : naam van de schrijversklasse.

* baseSerializer : naam van de basis XML-serialisatieklasse. Dit item is alleen 2.0.

* uitvoering : naam van de serializer-implementatieklasse. Dit item is alleen 2.0.

* geenSchrijver : indien "waar", genereert het geen schrijversklasse.

* namespace : naamruimte van de reader- en writer-klassen.

* genereerAsInternal : indien "waar", genereert het klassen als intern.

* outBestandsnaam : naam van het gegenereerde bestand.

* lezerHooks : een lijst met haken die op de lezer kunnen worden toegepast.

* schrijverHooks : een lijst met hooks die op de schrijver kunnen worden toegepast.

SPECIFICEREN: HOOKS


Met hooks kun je het gedrag van lezers en schrijvers aanpassen. Een haakspecificatie
volgt deze grammatica:


?
naam ?
naam *
naam ?

broncode ?
broncode ?
broncode ?


Het "type" attribuut specificeert de context waarin de hook wordt toegepast. Het kan er een zijn
het volgende:

* attributen : hook wordt toegepast waar attributen geserialiseerd/gedeserialiseerd zijn.

* geeft je de mogelijkheid : hook wordt toegepast waar elementen worden geserialiseerd/gedeserialiseerd.

* onbekend kenmerk : hook wordt toegepast waar onbekende attributen worden verwerkt.

* onbekendElement : hook wordt toegepast waar onbekende elementen worden verwerkt.

* lid : hook wordt toegepast waar een lid is geserialiseerd/gedeserialiseerd.

* type dan: : haak wordt toegepast voor het hele type.

Het "select" element specificeert de klassen en leden waaraan de hook moet worden toegevoegd.
Het kan de volgende elementen bevatten:

* typeNaam : de klasse met die naam wordt geselecteerd (moet naamruimte bevatten)

* typeAttribuut : alle klassen waarop dat attribuut is toegepast, worden geselecteerd
(geef de volledige naam van de attribuutklasse op, inclusief de naamruimte). Verschillende attribuutnamen
kan worden opgegeven.

* typeLid : naam van het klaslid waarvoor de hook moet worden toegevoegd.

De hook-broncode kan worden gespecificeerd met behulp van een van de volgende elementen:

* vervangen : de verstrekte broncode zal alle serialisatie/deserialisatie vervangen
bewerkingen in de hook-context.

* invoegenVóór : de broncode wordt toegevoegd vóór de hook-context.

* invoegenNa : de broncode wordt toegevoegd na de hook-context.

Bij het schrijven van de code voor een hook kun je een aantal speciale variabelen gebruiken die zijn gedefinieerd
tijdens het codegeneratieproces. De variabelen zijn de volgende:

* $TYPE: naam van de klasse die wordt gegenereerd, zonder naamruimte.

* $FULLTYPE: volledige naam van de klasse die wordt gegenereerd, inclusief naamruimte.

* $OBJECT: het object wordt geserialiseerd of gedeserialiseerd. Bij gebruik van een vervangende lezer
hook van het type "type", de hookcode moet hier het gedeserialiseerde object aan toewijzen
variabel.

* -I $ELEMENT: naam van het element van het object dat wordt geserialiseerd/gedeserialiseerd.

* $NAMESPACE: naamruimte van het element van het object dat wordt geserialiseerd/gedeserialiseerd.

* $LID: naam van het lid dat wordt geserialiseerd/gedeserialiseerd. Alleen geldig in de "member"
context.

HOOK Voorbeelden


In het volgende voorbeeld wordt een aanroep toegevoegd aan een Validate-methode na de deserialisatie van any
voorwerp:



Systeem.Xml.Schema.XmlSchema.Validate$TYPE ($OBJECT);



In dit voorbeeld wordt de code gespecificeerd die moet worden gebruikt om de XmlSchema-klasse te deserialiseren:



Systeem.Xml.Schema.XmlSchema


$OBJECT = System.Xml.Schema.XmlSchema.Read (lezer, null);



Die specificeert de code die moet worden gebruikt om XmlSchema-instanties te lezen:



Systeem.Xml.Schema.XmlSchema

$OBJECT.Write (Schrijver);


Met deze twee haken zal de serializer wat informatie afdrukken bij het serialiseren van de klasse
"Mijn klas":



MijnNaamruimte.MijnKlasse

Console.WriteLine ("Serialisering van mijn klas");
Console.WriteLine ("MyClass geserialiseerd");



MijnNaamruimte.MijnKlasse


Console.WriteLine ("Geserialiseerd lid $MEMBER");



Deze hook schrijft een extra element voor alle types die het custom attribuut hebben
"Mijnkenmerk":



MijnNaamruimte.MijnAttribuut


Writer.WriteStartElement ("privateData");
Writer.WriteString ($OBJECT.PrivateData);
Schrijver.WriteEndElement ();



CONFIGURATIE FILE VOORBEELD


Dit is het configuratiebestand dat wordt gebruikt om de serializer voor ServiceDescription te genereren:



ServiceBeschrijvingReaderBase
ServiceBeschrijvingWriterBase
Systeem.Web.Services.Beschrijving
ServiceBeschrijvingSerializerBase.cs



System.Web.Services.Configuration.XmlFormatExtensionPointAttribute

ServiceDescription.ReadExtension (Reader, $OBJECT);



Systeem.Xml.Schema.XmlSchema

$OBJECT = System.Xml.Schema.XmlSchema.Read (lezer, null);





System.Web.Services.Configuration.XmlFormatExtensionPointAttribute

ServiceDescription.WriteExtensions (Writer, $OBJECT);



Systeem.Xml.Schema.XmlSchema

$OBJECT.Write (Schrijver);





AUTEURS


Lluis Sánchez Gual ([e-mail beveiligd])

Gebruik genxs online met behulp van onworks.net-services


Gratis servers en werkstations

Windows- en Linux-apps downloaden

  • 1
    AstrOrzPlayer
    AstrOrzPlayer
    AstrOrz Player is een gratis mediaspeler
    software, deels gebaseerd op WMP en VLC. De
    speler is in een minimalistische stijl, met
    meer dan tien themakleuren, en kan ook
    b ...
    AstrOrzPlayer downloaden
  • 2
    movistartv
    movistartv
    Kodi Movistar+ TV is een ADDON voor XBMC/
    Het is mogelijk dat u een
    decodificator van de IPTV-services
    Movistar is geïntegreerd in één van de los
    mediacentra ma...
    Movistartv downloaden
  • 3
    Code :: Blocks
    Code :: Blocks
    Code::Blocks is een gratis, open-source,
    platformonafhankelijke C, C++ en Fortran IDE
    gebouwd om aan de meest veeleisende behoeften te voldoen
    van zijn gebruikers. Het is ontworpen om zeer te zijn
    strekt zich uit...
    Code::Blokken downloaden
  • 4
    Te midden van
    Te midden van
    Midden of geavanceerde Minecraft-interface
    en Data/Structure Tracking is een hulpmiddel om
    een overzicht van een Minecraft weergeven
    wereld, zonder deze daadwerkelijk te creëren. Het
    kan ...
    Midden downloaden
  • 5
    MSYS2
    MSYS2
    MSYS2 is een verzameling tools en
    bibliotheken die u voorzien van een
    gebruiksvriendelijke omgeving om te bouwen,
    native Windows installeren en uitvoeren
    software. Het gaat om...
    MSYS2 downloaden
  • 6
    libjpeg-turbo
    libjpeg-turbo
    libjpeg-turbo is een JPEG-afbeeldingscodec
    die SIMD-instructies gebruikt (MMX, SSE2,
    NEON, AltiVec) om de basislijn te versnellen
    JPEG-compressie en -decompressie aan
    x86, x8...
    Libjpeg-turbo downloaden
  • Meer "

Linux-commando's

  • 1
    abi-tracker
    abi-tracker
    abi-tracker - visualiseer ABI-veranderingen
    tijdlijn van een C/C++ softwarebibliotheek.
    BESCHRIJVING: NAAM: ABI Tracker
    (abi-tracker) Visualiseer ABI-veranderingen
    tijdlijn van een C/C+...
    Voer abi-tracker uit
  • 2
    abicheck
    abicheck
    abicheck - binaire bestanden van toepassingen controleren
    voor oproepen naar privé- of evoluerende symbolen
    in bibliotheken en voor statische koppeling van
    enkele systeembibliotheken. ...
    Voer abicheck uit
  • 3
    koeriermlm
    koeriermlm
    koeriermlm - De koeriersmailinglijst
    beheerder ...
    Voer koeriermlm uit
  • 4
    koeriercpd
    koeriercpd
    couriertcpd - de Courier mailserver
    TCP-serverdaemon ...
    Voer couriertcpd uit
  • 5
    gbklatex
    gbklatex
    bg5latex - Gebruik LaTeX rechtstreeks op een Big5
    gecodeerdtex-bestand bg5pdflatex - Gebruik
    pdfLaTeX rechtstreeks op een Big5-gecodeerde tex
    bestand bg5+latex - Gebruik LaTeX rechtstreeks op een
    Grote 5+...
    Voer gbklatex uit
  • 6
    nlkpdflatex
    nlkpdflatex
    bg5latex - Gebruik LaTeX rechtstreeks op een Big5
    gecodeerdtex-bestand bg5pdflatex - Gebruik
    pdfLaTeX rechtstreeks op een Big5-gecodeerde tex
    bestand bg5+latex - Gebruik LaTeX rechtstreeks op een
    Grote 5+...
    Voer gbkpdflatex uit
  • Meer "

Ad