Inhaltsverzeichnis

Mapping Objekte generieren

Der Mapping Designer bietet die generische Erzeugung von C#-Klassen aus XML-Datei oder XMLSchema-Datei an. Dies können dann z.Bsp. mit Microsoft Visual Studio in eine DLL-Assembly kompiliert werden, welche dann als neue Objektklasse in eBiss verwendet werden kann.

Hinweis: Das eBiss Modul Typ-Editor bietet hierfür die geeigneten Werkzeuge an.

Assembly aus XML generieren

Legen Sie eine neues, temporäres Mapping an gem. Mappings anlegen. Im Mapping Editor klicken Sie die Schaltfläche Quellobjekt1) und dann im Untermenü Assembly aus XML generieren um dann via Dateiauswahldialog die Beispiel XML-Datei zu öffnen.
Nachdem die Datei ausgewählt und zum laden bestätigt wurde erscheint der Dialog zum Umgang mit doppelten Typdeklarationen:

Hier kann man entscheiden ob doppelt vorhandene Typdeklarationen zusammengefasst werden sollen oder nicht.
Standardmäßig sollte hierbei „Ja“ also die Zusammenfassung der Typdeklarationen ausgewählt werden.

Wenn die XML-Datei valides XML enthielt sollte die Generierung erfolgreich mit dieser Infobox bestätigt werden:

Im Mapping Editor erscheint nun im linken Bereich die Objektdefinition, welche im Prinzip auch gleich bereitsteht um mit Testdaten instanziert zu werden.

Hinweis: Das DLL-Assembly wurde im Verzeichnis ..\eBiss 3\temp als NewSourceObject_12).dll angelegt und kann theoretisch als Plugin verwendet werden. Dies wird aber nicht empfohlen, da der generische Namespace nicht zweckmässig ist und i.d.R. weitere Anpassungen am Quellcode vorgenommen werden müssen um das Objekt an die spezifischen Bedürfnisse in eBiss anzupassen.

Quellcode generieren

Nun kann auch der Quellcode als CS3)-Datei gespeichert werden.
Im Mapping Editor klicken Sie die Schaltfläche Quellobjekt4) und dann im Untermenü Quellcode generieren und anschließend via Dateiauswahldialog die CS-Datei benennen und speichern.

Assembly aus XSD generieren

Die Generierung von Mapping Objekten aus XSD-Schemata ist die bevorzugte Variante, da eine XSD-Datei die vollständige Datenelement-Spezifikationen als Schema-Beschreibung enthält.
Das Verfahren bleibt aber analog der Generierung via XML-Datei.

Beispiel:

Als Beispiel wird die books.xml verwendet. Diese XML Datei hat folgenden Inhalt:

<?xml version="1.0"?>
<catalog>
   <book id="bk101">
      <author>Gambardella, Matthew</author>
      <title>XML Developer's Guide</title>
      <genre>Computer</genre>
      <price>44.95</price>
      <publish_date>2000-10-01</publish_date>
      <description>An in-depth look at creating applications 
      with XML.</description>
   </book>
   <book id="bk102">
      <author>Ralls, Kim</author>
      <title>Midnight Rain</title>
      <genre>Fantasy</genre>
      <price>5.95</price>
      <publish_date>2000-12-16</publish_date>
      <description>A former architect battles corporate zombies, 
      an evil sorceress, and her own childhood to become queen 
      of the world.</description>
   </book>
   <book id="bk103">
      <author>Corets, Eva</author>
      <title>Maeve Ascendant</title>
      <genre>Fantasy</genre>
      <price>5.95</price>
      <publish_date>2000-11-17</publish_date>
      <description>After the collapse of a nanotechnology 
      society in England, the young survivors lay the 
      foundation for a new society.</description>
   </book>
   <book id="bk104">
      <author>Corets, Eva</author>
      <title>Oberon's Legacy</title>
      <genre>Fantasy</genre>
      <price>5.95</price>
      <publish_date>2001-03-10</publish_date>
      <description>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.</description>
   </book>
   <book id="bk105">
      <author>Corets, Eva</author>
      <title>The Sundered Grail</title>
      <genre>Fantasy</genre>
      <price>5.95</price>
      <publish_date>2001-09-10</publish_date>
      <description>The two daughters of Maeve, half-sisters, 
      battle one another for control of England. Sequel to 
      Oberon's Legacy.</description>
   </book>
   <book id="bk106">
      <author>Randall, Cynthia</author>
      <title>Lover Birds</title>
      <genre>Romance</genre>
      <price>4.95</price>
      <publish_date>2000-09-02</publish_date>
      <description>When Carla meets Paul at an ornithology 
      conference, tempers fly as feathers get ruffled.</description>
   </book>
   <book id="bk107">
      <author>Thurman, Paula</author>
      <title>Splish Splash</title>
      <genre>Romance</genre>
      <price>4.95</price>
      <publish_date>2000-11-02</publish_date>
      <description>A deep sea diver finds true love twenty 
      thousand leagues beneath the sea.</description>
   </book>
   <book id="bk108">
      <author>Knorr, Stefan</author>
      <title>Creepy Crawlies</title>
      <genre>Horror</genre>
      <price>4.95</price>
      <publish_date>2000-12-06</publish_date>
      <description>An anthology of horror stories about roaches,
      centipedes, scorpions  and other insects.</description>
   </book>
   <book id="bk109">
      <author>Kress, Peter</author>
      <title>Paradox Lost</title>
      <genre>Science Fiction</genre>
      <price>6.95</price>
      <publish_date>2000-11-02</publish_date>
      <description>After an inadvertant trip through a Heisenberg
      Uncertainty Device, James Salway discovers the problems 
      of being quantum.</description>
   </book>
   <book id="bk110">
      <author>O'Brien, Tim</author>
      <title>Microsoft .NET: The Programming Bible</title>
      <genre>Computer</genre>
      <price>36.95</price>
      <publish_date>2000-12-09</publish_date>
      <description>Microsoft's .NET initiative is explored in 
      detail in this deep programmer's reference.</description>
   </book>
   <book id="bk111">
      <author>O'Brien, Tim</author>
      <title>MSXML3: A Comprehensive Guide</title>
      <genre>Computer</genre>
      <price>36.95</price>
      <publish_date>2000-12-01</publish_date>
      <description>The Microsoft MSXML3 parser is covered in 
      detail, with attention to XML DOM interfaces, XSLT processing, 
      SAX and more.</description>
   </book>
   <book id="bk112">
      <author>Galos, Mike</author>
      <title>Visual Studio 7: A Comprehensive Guide</title>
      <genre>Computer</genre>
      <price>49.95</price>
      <publish_date>2001-04-16</publish_date>
      <description>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.</description>
   </book>
</catalog>

Assembly aus XML generieren

Nach dem generieren erscheint diese als Objekt im Tab Objektdefinition

Quellcode generieren

Der automatisch generierte Quellcode sieht dann wie folgt aus und kann in Microsoft Visual Studio weiter bearbeitet werden, bzw. mit anderen Objektdefinitionen innerhalb eines Projekts und Namespace vereinigt werden.

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;
	}
 
 
}
1) , 4)
Im linken Bereich des Tab Definition.
2)
Bzw.: mit einer fortlaufenden Nummer.
3)
C# -Quelldatei