====== 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;
}
}