====== Generate mapping objects ====== The Mapping Designer provides generic generation of C# classes from XML file or XML schema file. This can then be done, for example with Microsoft Visual Studio into a DLL assembly, which can then be used as a new object class in eBiss. {{:images:sign_warning.png?nolink|}}**Note:** The eBiss module [[programmierung:typbibliotheken:typeditor|]] provides the appropriate tools for this. ===== Generate Assembly from XML ===== Create a new temporary mapping according to [[en:transformation:mappings:anlegen:start|]]. In the mapping editor, click the button {{:images:box_into.png|}} **source object**((In the left part of the tab **Definition**.)) and then in the submenu {{images:gearwheel.png?nolink}} **Generate Assembly from XML** to open the example XML file via file selection dialog. \\ After the file has been selected and confirmed for loading, the dialog for handling double type declarations appears: {{images:assembly_aus_xml_generieren_doppelte_typdeklarationen.png?nolink}} Here you can decide whether to combine duplicate type declarations or not. \\ By default, you should select "Yes", i. e. the summary of the type declarations. \\ \\ If the XML file contained valid XML, the generation should be successfully confirmed with this infobox: {{images:assembly_aus_xml_generieren_erfolgreich.png?nolink}} In the Mapping Editor, the **Object definition** appears on the left-hand side of the screen, which in principle is also available immediately to be instantiated with test data. \ {{:images:sign_warning.png?nolink|}}**Note:** The DLL assembly was created in the directory... \eBiss 3\temp as NewSourceObject_1 ((or: with a sequential number.)). dll and can theoretically be used as a plugin. This is not recommended, however, as the generic[[wpde>Namespace]] is not useful and is usually You need to make further adjustments to the source code in order to adapt the object to the specific needs of eBiss. ===== Generate source code ===== Now the source code can also be saved as CS ((C# -source file)) file.\\ In the mapping editor, click the button {{:images:box_into.png|}} **Source object**((In the left part of the tab **Definition**.)) and then in the submenu {{images:gearwheel.png?nolink}} **Generate source code** and then name and save the CS file via file selection dialog. ===== Generate Assembly from XSD ===== The generation of mapping objects from[[wpde>XSD]] schemas is the preferred variant, since an XSD file contains the complete data element specifications as a schema description. \\ However, the procedure remains the same as for generation via XML file. ===== Sample: ===== As an example, the [[https://msdn.microsoft.com/de-de/library/ms762271(v=vs.85).aspx|books.xml]] is used. This XML file has the following content: Gambardella, Matthew XML Developer's Guide Computer 44.95 2000-10-01 An in-depth look at creating applications with XML. Ralls, Kim Midnight Rain Fantasy 5.95 2000-12-16 A former architect battles corporate zombies, an evil sorceress, and her own childhood to become queen of the world. Corets, Eva Maeve Ascendant Fantasy 5.95 2000-11-17 After the collapse of a nanotechnology society in England, the young survivors lay the foundation for a new society. Corets, Eva Oberon's Legacy Fantasy 5.95 2001-03-10 In post-apocalypse England, the mysterious agent known only as Oberon helps to create a new life for the inhabitants of London. Sequel to Maeve Ascendant. Corets, Eva The Sundered Grail Fantasy 5.95 2001-09-10 The two daughters of Maeve, half-sisters, battle one another for control of England. Sequel to Oberon's Legacy. Randall, Cynthia Lover Birds Romance 4.95 2000-09-02 When Carla meets Paul at an ornithology conference, tempers fly as feathers get ruffled. Thurman, Paula Splish Splash Romance 4.95 2000-11-02 A deep sea diver finds true love twenty thousand leagues beneath the sea. Knorr, Stefan Creepy Crawlies Horror 4.95 2000-12-06 An anthology of horror stories about roaches, centipedes, scorpions and other insects. Kress, Peter Paradox Lost Science Fiction 6.95 2000-11-02 After an inadvertant trip through a Heisenberg Uncertainty Device, James Salway discovers the problems of being quantum. O'Brien, Tim Microsoft .NET: The Programming Bible Computer 36.95 2000-12-09 Microsoft's .NET initiative is explored in detail in this deep programmer's reference. O'Brien, Tim MSXML3: A Comprehensive Guide Computer 36.95 2000-12-01 The Microsoft MSXML3 parser is covered in detail, with attention to XML DOM interfaces, XSLT processing, SAX and more. Galos, Mike Visual Studio 7: A Comprehensive Guide Computer 49.95 2001-04-16 Microsoft Visual Studio 7 is explored in depth, looking at how Visual Basic, Visual C++, C#, and ASP+ are integrated into a comprehensive development environment. ==== Generate Assembly from XML ==== After the generation, this appears as an object in the tab **Object definition**. {{images:books_objekt_definition.png?nolink}} ==== Generate source code ==== The automatically generated source code then looks like this and can be further edited in Microsoft Visual Studio or combined with other object definitions within a project and namespace. using System; using System.Text; using System.ComponentModel; using System.Collections; using eBiss.Api; namespace eBiss.20170117_110757.Messages.catalog { public class catalog: IMapObjectRoot { [MapListType(typeof(book)),Description("book")] public ArrayList book; } public class book: IMapObjectItem { [Description("author")] public String author; [Description("title")] public String title; [Description("genre")] public String genre; [Description("price")] public String price; [Description("publish_date")] public String publish_date; [Description("description")] public String description; } }