SOA Guidelines. XML Schema Design. Matthias Furrer Principal Consultant. SOA Guidelines XML Schema Design

Größe: px
Ab Seite anzeigen:

Download "SOA Guidelines. XML Schema Design. Matthias Furrer Principal Consultant. SOA Guidelines XML Schema Design"

Transkript

1 SOA Guidelines XML Schema Design Matthias Furrer Principal Consultant Version 1.0 Seite 1/46

2 Dokument Information Status * Projektname Autor Initiale Bearbeitende Prüfende Abgeschlossen SOA Guidelines Matthias Furrer mfu Matthias Furrer Michel Hautle, Guido Schmutz, Markus Zehnder Genehmigende Verteiler * In Arbeit, In Prüfung, Abgeschlossen Änderungskontrolle, Prüfung, Genehmigung Version Datum Beschreibung, Bemerkung Name oder Rolle Draft Version Matthias Furrer Finale Version Matthias Furrer Version 1.0 Seite 2/46

3 Inhaltsverzeichnis 1 Einführung XML Version Generelle Konventionen die in diesem Dokument verwendet werden Formatierungsarten für zusammengesetzte Wörter bzw. Sätze Ziele Anforderungen Leitsätze Generelle XML Design Regeln Aufbau von XML Dokumenten XML Schema XML Dokumentinstanz Schemaweit gültige Standards Sprache von Typen, Elementen und Attributen XML Deklarationen Schema Attribute Kommentare und Dokumentation Verwendung von Namensräumen (Namespaces) Schema Namespace Element Namespace Attribut Namespace Logische und physische Strukturierung von XML Dokumenten Logische Strukturierung No Namespace Single Namespace Multiple Namespace Versionierung von XML Dokumenten Einschränkungen für den Schema-Entwurf Typen- und Struktur Definitionen im Schema Element-Definitionen im Schema Attributs-Definitionen im Schema Attribute für die Verwendung in Dokumentinstanzen Lokale Typendefinition Schema ohne Namensräume Empty Elements Erweiterte Regeln zum Design 26 Version 1.0 Seite 3/46

4 5.1 Lokale vs. Globale Deklaration Design Patterns Design Richtlinien Elemente vs. Typen Referenzierung von Komponenten aus anderen Namensräumen Attribute vs. Elemente Namenskonventionen Namens-Segmente in der Namensgebung von Elementen, Typen und Attributen Suffixe zur Bezeichnung des Datentyps Terminologie der Benennung von Businessobjekten Links XML-Spezifikationen Referenzen Anhang A Schema Beispiel 44 Version 1.0 Seite 4/46

5 Abbildungsverzeichnis Abbildung 1: Die XML Deklaration Abbildung 2: Deklaration der Schema-Attribute Abbildung 3: Definition der Strukturen und Elemente Abbildung 4: XML Dokumentinstanz Abbildung 5: Lokale Deklaration Russian Doll Abbildung 6: Globale Deklaration Salami Slice Abbildung 7: Globale Deklaration mit Typen Venetian Blind Abbildung 8: Globale Deklaration der Elemente und Typen Garden of Eden Version 1.0 Seite 5/46

6 1 Einführung Extensible Markup Language (XML) ist eine Sprache zur Beschreibung des Inhaltes eines Dokumentformates und dient zur strukturierten Darstellung von Daten in einem maschinell bearbeitbaren Format. XML ist definiert vom in den XML 1.0 Spezifikationen vom World Wide Web Consortium (W3C Die XML Spezifikationen definiert ein XML als wohlgeformt (oder englisch well-formed ) wenn es die definierten Syntax-Regeln einhält. Wird XML zum Datenaustausch verwendet, empfiehlt es sich darüber hinaus Regeln zu definieren, welche die formale Grammatik eines Dokumentes beschreibt und damit die syntaktische Struktur von XML Dokumentinstanzen definiert. Dies geschieht heute am meisten verbreitet mit Hilfe von XML Schema weitere gebräuchliche in diesem Dokument jedoch nicht behandelte - Schemasprachen sind Schematron oder RELAX NG. Der Standard definiert ein XML-Dokument als gültig (oder englisch valid), wenn es wohlgeformt ist, den Verweis auf eine Grammatik enthält und das durch die Grammatik beschriebene Format einhält. 1.1 XML Version 1.1 Die Zweite Version von XML 1.1. wurde 2004 veröffentlicht und enthält einige spezifische Erweiterungen: Unterstützung von Version 4.0 von Unicode Zusätzliche Zeichen in Namen sind erlaubt Zusätzliche Zeilenende-Zeichen (für EBCDIC Plattformen sind erlaubt) XML 1.1 ist nicht sehr weit verbreitet und wird nur zur Benutzung empfohlen wenn die spezifischen Erweiterungen benötigt werden. Erschwerend kommt dazu, dass die Spezifikationen für XML 1.1 noch nicht definitiv verabschiedet sind ( - Stand Juli 2011 Candiate Recommendation ) und noch nicht alle XML-Verarbeitungsprogramme Version 1.1 korrekt verarbeiten. Daher wird hier generell empfohlen die Version 1.0 einzusetzen. Version 1.0 Seite 6/46

7 1.2 Generelle Konventionen die in diesem Dokument verwendet werden Sämtliche Richtlinien werden in diesem Dokument zusätzlich in tabellarischer Form beschrieben, wie nachfolgend dargestellt. <Identifikations-Code> <Beschreibung der Regel> < Regel-Gruppe> Identifikations-Code Jede Regel, die in dem Dokument beschrieben wird, wird durch einen, innerhalb des Dokumentes eindeutigen Identifikationscode gekennzeichnet. Der Identifikationscode besteht aus einem dreistelligen Präfix und einer vierstelligen Regelnummer im folgenden Format: <präfix>- <regel-nummer> Folgende Präfixe werden zurzeit verwendet : Präfix GEN NMR BEP Beschreibung Generelle Entwurfsrichtlinie Namenskonvention (File, Tag, Namespace, usw.) Best Practice Version 1.0 Seite 7/46

8 Die Regelnummern werden übergreifend vergeben (ausser IBP) und sind nicht geordnet. Die nächste freie Regelnummer ist: 092. Beschreibung der Regel Eine möglichst kurze und prägnante Beschreibung der Regel, mit der Verwendung der unterschiedlichen Regeltypen im Text Regel Gruppe Die Regeln werden nach den Konventionen, die vom Request for Comment 2119 [REQ_COMM_2119] definiert wurden, in verschiedene, nachfolgend aufgelisteten Gruppen aufgeteilt. NOT NOT MAY Bedeutet eine absolute Anforderung, die zwingend eingehalten werden muss. Bedeutet ein absolutes Verbot, d.h. es darf auf keinen Fall verwendet werden. Bedeutet, dass es gute Gründe geben kann, die entsprechende Regel zu ignorieren. Die Auswirkungen müssen klar sein und gewichtet werden, bevor ein alternativer Weg beschritten wird. Bedeutet, dass es gute Gründe geben kann, dass das von der Regel beschrieben Verhalten akzeptabel oder sogar hilfreich ist. Die Auswirkungen müssen klar sein und gewichtet werden, bevor das entsprechende Verhalten implementiert wird. Bedeutet, dass der durch die Regel beschriebene Begriff wirklich optional ist. Es ist Sache des Anwenders, ob er die Regel anwendet oder nicht. Version 1.0 Seite 8/46

9 1.2.1 Formatierungsarten für zusammengesetzte Wörter bzw. Sätze Folgende Formatierungsarten werden in diesem Dokument verwendet: o o o UpperCamelCase (UCC) Upper Camel Case ist eine Art der Repräsentation von zusammengesetzten Wörtern oder Sätzen, bei der die einzelnen Wörter ohne Zwischenraum zusammengefügt werden, wobei jeweils der erste Buchstabe eines Wortes in Grossbuchstaben geschrieben werden: CreditCardExpirationDate LowerCamelCase (LCC) Lower Camel Case ist eine Art der Repräsentation von zusammengesetzten Wörtern oder Sätzen, bei der die einzelnen Wörter ohne Zwischenraum zusammengefügt werden, wobei ausser beim ersten Wort jeweils der erste Buchstaben eines Wortes in Grossbuchstaben geschrieben werden: creditcardexpirationdate LowerDashed (LD) Lower Dashed ist eine Art der Repräsentation von zusammengesetzten Wörtern oder Sätzen, bei der die einzelnen Wörter mit einem Bindestrich-Buchstaben getrennt zusammengefügt werden, wobei alles in Kleinbuchstaben geschrieben wird: credit-card-expiration-date Version 1.0 Seite 9/46

10 2 Ziele 2.1 Anforderungen Dieses Dokument bezieht sich insbesondere auf den Einsatz von XML und XML Schema im Zusammenhang mit dem Einsatz in Webservices und Service Orientierten Architekturen. Daher wird auf die Nutzung gewisser im XML-Standard vorhandener Funktionalitäten zur Ableitbarkeit und Erweiterbarkeit von Typendefinitionen bewusst verzichtet diese umfassen bspw. die Strukturelemente in XML Schema wie: xsd:any, xsd:extension, xsd:redefine. Obwohl diese zusätzliche Flexibilität in manchen Fällen nützlich sein kann, widersprechen sich diese teilweise mit der Idee von einem verbindlichen und möglichst transparenten kanonischen Schema, welches bei umfangreicheren Integrationslösungen dringend empfohlen wird. Darüber hinaus unterstützen weiterhin nicht alle XML Sprachen wie XSLT, XQUERY die komplette typbasierende Verarbeitung. 2.2 Leitsätze Die in diesem Dokument beschriebenen Leitsätze lehnen sich an den Design-Rules Standard von United Nations Centre for Trade Facilitation and Electronic Business [UN/CEFACT] an, welche u. a. verantwortlich für den internationalen Datenstandard EDIFACT und einer der Initiatoren von ebxml ist. Insbesondere sind die folgenden Design Principles als Basis für die in diesem Dokument aufgeführten Richtlinien berücksichtigt: XML Schema Erzeugung Die Design Richtlinien unterstützen sowohl die manuelle als auch die automatisierte Erzeugung von Schema Definitionen. Austausch und Nutzung in Anwendungen Die XML Schema und daraus erzeugte XML Dokumentinstanzen sind für eine Vielfalt von Datenaustausch- und Integrationsprozessen verwendbar. Tool Verwendung und Support Das Design von XML Schema ist nicht abhängig von verwendeten Werkzeugen für die Erstellung, Verwaltung oder Verarbeitung von XML Artefakten. Lesbarkeit XML Dokumentinstanzen sind intuitiv lesbar und möglichst klar im Kontext des Verwendungszwecks. Schema Features Das Design von XML Schema sollte die am häufigsten unterstützten Features der W3C XML Schema Definition Language Empfehlung verwenden. Technische Spezifikationen Namenskonventionen und Design Richtlinien basieren auf technischen Spezifikationen mit dem entsprechenden W3C Empfehlungsstatus. XML Schema Spezifikationen Namenskonventionen und Design Richtlinien sind vollkommen konform mit der W3C XML Schema Definition Language Empfehlung. Interoperability Die Anzahl von Möglichkeiten die gleiche Information in einem XML Schema oder Dokumentinstanz darzustellen soll möglichst niedrig gehalten werden. Version 1.0 Seite 10/46

11 Maintenance Das Design von XML Schema unterstützt und erleichtert die Wartbarkeit. Bezug auf andere Namensräume - Abhängigkeit zu anderen Namensräumen werden mit Vorsicht verwendet. Version 1.0 Seite 11/46

12 3 Generelle XML Design Regeln GEN-0001 Das XML Schema MUSS der Standardstruktur folgen, wie sie in Anhang A diese Dokumentes definiert ist. 3.1 Aufbau von XML Dokumenten Im Folgenden ist exemplarisch der Aufbau von XML Schema Dokumenten sowie XML Dokumentinstanzen gemäss den Spezifikationen vom World Wide Web Consortium beschrieben. Dies soll zum besseren Verständnis dienen, da die nachfolgenden Kapitel jeweils auf die einzelnen hier beschriebenen Namen und Definitionen referenzieren XML Schema XML Schema, häufig als XSD abgekürzt, bezeichnet ein XML Vokabular, welches es ermöglicht andere XML Dokumente so zu beschreiben, dass mittels standardisierter Programme getestet werden kann, ob ein gegebenes Dokument den im zugeordneten Vokabular definierten Regeln entspricht. XML Schema bestehen aus einer XML-Deklaration, der Definition der Schema-Attribute sowie einer nachfolgenden Beschreibung der in referenzierenden XML Dokumentinstanzen zugelassenen Strukturen, Typen und Attributen XML Deklaration: Die XML Deklaration besteht normalerweise aus der Definition der verwendeten XML- Version, Angaben zur Zeichencodierung sowie allenfalls weiterer Deklarationen. <?xml version= 1.0 encoding= UTF-8?> Abbildung 1: Die XML Deklaration Deklaration der Schema-Attribute: In den Schema Attributen werden die zu verwendenden Namensräume deklariert sowie weitere Attribute festgelegt, die als Voreinstellung für die im Schema deklarierten Datentypen und Elemente angewendet werden sollen. <xsd:schema targetnamespace= xmlns:tns= xmlns:xsd= xmlns:soabp-ct= elementformdefault= qualified attributeformdefault= unqualified version= 1.0 > </xsd:schema> Abbildung 2: Deklaration der Schema-Attribute Version 1.0 Seite 12/46

13 Definition der Strukturen und Elemente: Die Schemakomponenten sind im xsd:schema Containerelement eingeschlossen und beschreiben im Wesentlichen die gültigen Strukturen, Typen und Attribute für eine referenzierende Dokumentinstanz. Ebenfalls im Gültigkeitsbereich des Schemas befinden sich Instanzierungen zur Nachverwendung vorhandener Typen-Definitionen sowie Einbindungen von Deklarationen anderer Schemas und/oder Namensräumen. <xsd:schema > <xsd:import namespace= schemalocation= UnqualifiedDataType-v1.0.xsd /> <xsd:element name= CreditCard type= tns:creditcardtype /> <xsd:complextype name= CreditCardType > <xsd:sequence> <xsd:element name= CardNumber type= xsd:string minoccurs= 1 /> <xsd:element name= CardholderFirstName type= xsd:string minoccurs= 1 /> <xsd:element name= CardholderLastName type= xsd:string minoccurs= 1 /> <xsd:element name= ExpirationMonth type= soabp-ct:monthtype minoccurs= 1 /> <xsd:element name= ExpirationYear type= soabp-ct:monthtype minoccurs= 1 /> </xsd:sequence> </xsd:complextype> </xsd:schema> Abbildung 3: Definition der Strukturen und Elemente XML Dokumentinstanz Ein XML Dokumentinstanz besteht im Wesentlichen wiederum aus einer XML-Deklaration und beinhaltend nachfolgend die eigentlichen Nutzdaten, welche im Falle einer gewünschten Abhängigkeit von einem XML Vokabular auf das verwendete Schema und den dazugehörigen Namensraum referenzieren. <?xml version= 1.0 encoding= UTF-8?> <CreditCard xmlns:xsi= xsi:schemalocation= xmlns= > <CardNumber> </CardNumber> <CardholderFirstName>Hans</CardholderFirstName> <CardholderLastName>Muster</CardholderLastName> <ExpirationMonth>09</ExpirationMonth> <ExpirationYear>14</ExpirationYear> </CreditCard> Abbildung 4: XML Dokumentinstanz Version 1.0 Seite 13/46

14 3.2 Schemaweit gültige Standards Sprache von Typen, Elementen und Attributen Grundsätzlich ist XML in der Namensgebung von Typen, Elementen und Attributen offen. Aus Gründen der Wiederverwendbarkeit und zum breiteren Verständnis sollten die Elementund Attributnamen in englischer Sprache vergeben werden. Namensgebung in jeweiliger Landessprache sollten nur auf expliziten Wunsch verwendet werden. GEN-002 Alle Typen, Elements- und Attributsnamen SOLLTEN in englischer Sprache im XML Schema definiert werden XML Deklarationen GEN-003 Die XML Deklarationen für Dokumentinstanzen MUSS zwingend vorhanden sein. Beispiel: <?xml version= 1.0 encoding= UTF-8?> XML Version GEN-004 Jedes XML Schema MUSS die XML Version 1.0 verwenden Character Set GEN-005 Jedes XML Schema MUSS für die Zeichencodierung mindestens UTF-8 verwenden. GEN-006 Falls zwingende Gründe vorhanden sind KANN UTF-16 verwendet werden. MAY Schema Attribute Allgemein GEN-007 GEN-008 GEN-009 Der xsd Präfix MUSS zwingend definiert werden und auf den folgenden Namespace verweisen: Jedes XML Schema Dokument MUSS einen Target-Namespace über das xsd:targetnamespace Attribut definieren. Jede xsd:schemalocation Attribut-Deklaration innerhalb eines XML-Schemafiles MUSS eine URL enthalten, die über einen relativen Pfad aufgelöst werden kann. Version 1.0 Seite 14/46

15 Voreinstellungen BEP-010 BEP-011 BEP-012 BEP-013 Das xsd:elementformdefault Attribut MUSS deklariert sein und der Wert immer auf qualified gesetzt werden. Das xsd:attributeformdefault MUSS deklariert sein und der Wert immer auf unqualified gesetzt werden. Das xsd:finaldefault Attribut SOLLTE auf #all gesetzt werden als Voreinstellung des final Attributes für Elemente und komplexe Typen, um die Erweiterung oder Einschränkung von Typen im Schema selber zu verhindern Beispiel: finaldefault= #all Das xsd:blockdefault Attribut SOLLTE auf #all gesetzt werden als Voreinstellung des block Attributes für Elemente und komplexe Typen, von Typen um die Erweiterung oder Einschränkung in instanzierten Dokumenten durch Erweiterung, Ersetzung oder Einschränkung zu verhindern Beispiel: blockdefault= #all Schema-Version BEP-014 Das xsd:schema Versionsattribut MUSS immer deklariert werden. Beispiel: version= Kommentare und Dokumentation GEN-015 Jedes XML Schemafile MUSS einen Kommentar enthalten, welche dem folgenden Format entspricht : <!-- ===================================================--> <!-- ===== Element Declarations ===== --> <!-- ===================================================--> Im Anhang A befindet sich ein komplettes Beispiel der zu verwendeten Kommentare. Version 1.0 Seite 15/46

16 GEN-016 Jedes XML Schemafile SOLLTE einen Kommentar enthalten, welche dem folgenden Format entspricht. <xsd:annotation> <xsd:documentation lang= EN > This Schema will be used to process Credit Cards </xsd:documentation> </xsd:annotation> Optional kann das source= Attribut verwendet werden, beispielsweise mit einer Referenz auf die Ablage einer Dokumentation. source= > BEP-017 Bei der Verwendung des documentation Elementes SOLLTE die Sprache immer über das lang Attribut Qualifiziert werden. 3.3 Verwendung von Namensräumen (Namespaces) Namensräume in XML werden dazu verwendet um Elemente, Typen und Attribute in XML Dokumenten eindeutig adressieren zu können. Das heisst, Namespaces schaffen die Grundlage um das Vokabular eines XML-Dokumentes eindeutig zu identifizieren - und um in einem einzelnen Dokument mehrere dieser Vokabulare zu mischen oder zu vereinigen. Version 1.0 Seite 16/46

17 3.3.1 Schema Namespace BEP-018 Schema ohne Namensräume DUERFEN NICHT verwendet werden. NOT BEP-019 BEP-020 Die Möglichkeit des Default-Namespace DARF NICHT verwendet werden. Sowohl der XML Schema wie auch der Target-Namespace müssen explizit qualifiziert werden. Beispiel: <xsd:schema targetnamespace= xmlns:tns= </xsd:schema> Als einzige Ausnahme zur Regel BEP-019 KANN zur Vereinfachung der Default- Namespace auf den Namespace der XML Schema Definition gesetzt werden.. Beispiel: <xsd:schema targetnamespace= xmlns= </xsd:schema> MAY NMR-021 Der Target-Namespace im Schema MUSS immer die Major-Versionsnummer beinhalten Beispiel: targetnamespace= NMR-022 Die folgenden Namespace-Präfixe MUESSEN bei der Deklaration der W3C Namensräume verwendet werden: xsd= xsi= xsl= NMR-023 Für die Deklaration des Targetnamespace MUSS immer das Prefix tns verwendet werden Element Namespace BEP-024 Alle Elemente MUESSEN über einen Namespace qualifiziert sein. Dies wird per Default über das Schema Attribut elementformdefault= qualified eingestellt. Version 1.0 Seite 17/46

18 3.3.3 Attribut Namespace BEP-025 Global definierte Attribute (Attribute die auf der obersten Ebene im Schema deklariert worden sind und damit wiederverwendbar sind) MUESSEN über einen Namespace qualifiziert sein. BEP-026 Nicht global definierte Attribute DUERFEN NICHT über einen Namespace qualifiziert sein. Dies wird per Default über das Schema Attribut attributeform- Default= unqualified eingestellt. Aufgrund dieser Voreinstellung führt folgende Definition in der importierten Schema Definition: <xsd:element name= AttributeTestElement type= AttributeTestType /> <xsd:attribute name= globalattribute /> <xsd:complextype name= AttributeTestType > <xsd:sequence> <xsd:element name= String1 type= xsd:string /> <xsd:element name= String2 type= xsd:string /> </xsd:sequence> <xsd:attribute name = localattribute type= xsd:string /> </xsd:complextype> MAY NOT zu diesem XML Instanzdokument: <p:attributequalifying p:globalattribute= v1 xmlns:p= xmlns:p1= > <p1:attributetestelement localattribute= local > <p1:string1>string1</p1:string1> <p1:string2>string2</p1:string2> </p1:attributetestelement> </p:attributequalifying> Version 1.0 Seite 18/46

19 3.4 Logische und physische Strukturierung von XML Dokumenten Die XML Spezifikationen erlauben es, die Definition eines Schemas in mehreren physischen Dateien zu verwalten und diese zu einem logischen Dokument im gleichen oder unterschiedlichen Namensräumen zusammenzuführen. Nicht nur, aber insbesondere bei der Umsetzung eines kanonischen Schema (Canonical Schema) in einer SOA können diese Konzepte zur Modularisierung besonders hilfreich eingesetzt werden, um ein wiederverwendbares und gemeinsam nutzbares Vokabular von Entitäts- und Datendefinitionen zur Verfügung zu stellen Logische Strukturierung Grundsätzlich wird empfohlen, Kern-Entitäten für die oberste Hierarchie-Ebene zu definieren. Diese können beispielsweise sein: Customer, Order, Invoice. Für die nächste Ebene können dann wiederverwendbare Elemente wie Address, AccountInfo, PaymentInfo definiert werden - welche wiederum Definitionen von allgemeineren Elementen beziehen können welche dann in den Kern-Entitäten referenziert werden. BEP-027 Ein Schemafile SOLLTE für jede Kernentität erzeugt werden. BEP-028 BEP-029 Ein XML-Schemafile für eine Kernentität DARF NICHT wiederverwendbare Konstrukte definieren, die über ein separates XML Schemafile mittels einem xsd:include oder xsd:import referenziert werden können. Dies bedeutet, in diesem speziellen Fall darf nur genau ein globales Element definiert werden und das Schema muss nach dem Russian Doll Design Pattern implementiert werden. Referenzierung von Elementen aus anderen Namespace sind jedoch erlaubt. <xsd:element name= CreditCardEntity > <xsd:complextype> <xsd:sequence> <xsd:element name= id type= xsd:long /> <xsd:element name= descriptiontext minoccurs= 0 > <xsd:simpletype> <xsd:restriction base= xsd:string > <xsd:maxlength value= 50 /> </xsd:restriction> </xsd:simpletype> <xsd:element ref= cre:creditcard /> </xsd:sequence> </xsd:complextype> Deklaration von Listenelementen (Collections) MUESSEN immer im gleichen Schemafile erfolgen, wie die Haupt-Elemente (bspw. Entitäten) welche diese beinhalten. NOT Version 1.0 Seite 19/46

20 Dabei sollte berücksichtigt werden, dass eine feinere Granularität in der Aufteilung zwar die Wiederverwendbarkeit erhöht, auf der anderen Seite dadurch jedoch auch die gegenseitigen Abhängigkeiten steigen und damit Änderungen an einem Objekt unter Umständen grössere Auswirkungen auf mehrere Anwendungen haben. BEP-030 Die Abhängigkeiten und Referenzierungen der Schema untereinander SOLLTEN möglichst gering gehalten werden. Ein Schemafile sollte idealerweise nicht Abhängigkeiten über mehr als 3 oder 4 Hierarchiestufen haben. Beispiel: Customer referenziert auf Address ; Address referenziert auf Common. Im Schema für Common werden jedoch keine weiteren Elemente von weiteren Schemas mehr eingebunden. NOT Common Schema Zur vereinfachten Wiederverwendung wird für allgemein verwendete Datentypen ein eigenes Schema entweder pro Anwendungsdomäne oder übergreifend erstellt. BEP-031 Ein eigenes Schemafile MUSS definiert werden, für die Definition von Typen, welche Kandiaten zur häufigen Wiederverwendung als einzelne Elemente sind. Dabei muss je ein Schema für Qualifizierte und Unqualifizierte Typen erstellt werden. Qualifizierte Typen Types mit Restriktionen wie bspw. Address, SocialSecurityNumber Unqualifizierte Typen Types ohne Restriktionen, die jedoch voraussichtlich zu einem späteren Zeitpunkt erweitert werden. Bei grösseren Projekten, sollte dabei ein eigenes Common Schema pro Anwendungsdomäne z.b. Accounting, Orders, Master Data - erstellt werden Enumerations Um die Auswirkungen auf referenzierende Schema oder Anwendungen bei allfälligen Änderungen an erlaubten, bzw. eingeschränkten Feldinhalten zu minimieren, werden Typen mit Enumerations in einem eigenen Schema definiert. BEP-032 Ein eigenes Code-List XML Schemafile SOLLTE definiert werden, für die Definition von Typen, die Enumerations beinhalten. Jeder Typ muss dabei in einem eigenen Schema definiert sein Speicherort der XML Schema Das Deployment von XML Schema sollte immer in einen physischen Pfad erfolgen, welcher den logischen Aufbau sowie die Anwendungsdomäne repräsentiert. Diese Struktur sollte auch aus dem verwendeten Namensraum ersichtlich sein und sollte so aufgebaut werden, dass sie möglichst einfach über einen relativen Pfad aufgelöst werden kann. Version 1.0 Seite 20/46

21 BEP-033 Der physische Speicherort der Schemadefinition SOLLTE dem folgenden Pattern gehorchen: URI scheme://<hostname>/[:<port>]/<domain>/<schema type> scheme Bezeichnung des Zugriffsprotokolls: http file port Angabe der Portnummer falls nicht Default des verwendeten Protokolls hostname Qualifizierter Hostname unter dem der angegebene Pfad erreichbar ist. domain ein Bezeichner der Geschäftseinheit oder definierten SOA Domäne zu der die Schemadefinition logisch zugeordnet wird. schema type ein Token, welcher den Typ des XML Schema Dokumentes indentifiziert: schema codelist common wsdl Beispiele: No Namespace Schema-Definitionen müssen immer über einen Namespace qualifiziert sein. BEP-034 Jedes Schema MUSS zwingend einen Targetnamespace deklarieren. Siehe auch GE-018. Das Weglassen von Namespaces um diese dann auf der obersten Referenzierungsebene bspw. Schemadefinition der Kern-Entität oder WSDL unter einem globalen Namespace wie zusammenzuführen ist nicht erlaubt Single Namespace Das xsd:include Element wird verwendet wenn ein grosses Schema in mehrere kleine - und möglicherweise wiederverwendbare - Teile aufgebrochen werden soll. Dabei müssen alle Deklarationen der eingelesenen Dateien den gleichen Targetnamespace wie das einlesende Dokument verwenden. BEP-035 Ein Objekt das mittels xsd:include in den gleichen Namensraum eingebunden wird, DARF NICHT in noch weiteren Objekten verwendet werden. Single Namespace sollte nur in Ausnahmefällen verwendet werden, um grössere Schema zur besseren Übersicht in mehrere physische Dateien aufzuteilen. Definitionen von Typen die mehrfach bspw. in verschiedenen Entitäten - verwendet werden, müssen immer in einem eigenen Namensraum deklariert werden. NOT Version 1.0 Seite 21/46

22 3.4.4 Multiple Namespace Das xsd:import Element erlaubt die Referenz auf Schemas, die in einem anderen Namensraum deklariert sind. Damit werden in einem einlesenden Dokument die Deklarationen anderer Schemas eingelesen, sodass deren Inhalte referenziert werden können. BEP-036 Mehrfach verwendete Objekte, die von mehreren Namensräumen referenziert werden wie z.b. Address - MUESSEN immer in einem eigenen Namensraum deklariert und mit xsd:import eingebunden werden. Die Definition von Elementen und Typen die mehrfach verwendet werden, müssen immer in eigenem Namensraum deklariert werden. 3.5 Versionierung von XML Dokumenten Der Versionsname von XML Dokumenten setzt sich immer aus einer Major-Release Nummer und einer Minor-Release Nummer zusammen. major Major-Versionsnummer minor Minor Versionsnummer Dabei gilt zwingend immer der Grundsatz: Neue Releases innerhalb einer Minor-Versionsnummer sind immer abwärtskompatibel das heisst diese dürfen keine Modifikationen enthalten, welche die Validierung innerhalb der gleichen Major-Versionsnummer beeinträchtigen. Konkret heiss dies, dass XML Dokumentinstanzen, welche aufgrund eines früheren Schemas des gleichen Major-Release erstellt wurden nach wie vor gültig sein müssen. BEP-037 Der Wert der XML-Schema Major-Versionsnummer MUSS ein Wert > 0 sein. BEP-038 BEP-039 BEP-040 BEP-041 Eine Minor-Versionsänderung MUSS sich darauf beschränken, neuen optionalen XML Inhalt zu definieren, bestehenden XML Inhalt zu erweitern oder optionale Refinements. Eine Minor-Versionsänderung DARF NICHT einen existierenden XML Schema Artefakt umbenennen. Änderungen in Minor-Versionen DUERFEN NICHT die semantische Kompatibilität mit Vorgängerversion verletzten, die die gleiche Major-Version aufweisen. Ein XML Schema MUSS seine eigene Version anpassen, wenn ein referenziertes, externes XML Schema auf eine neue Version geändert wird. NOT NOT Version 1.0 Seite 22/46

23 4 Einschränkungen für den Schema-Entwurf Um eine maximale Interoperabilität von XML Dokumenten zu gewährleisten, sind zusätzlich zur generellen Struktur eines XML Schema einige zusätzliche Einschränkungen notwendig,. 4.1 Typen- und Struktur Definitionen im Schema Gemischter Inhalt BEP-042 Mixed Content DARF NICHT verwendet werden. Dies ist nicht zugelassen: <wrapper> <element>value</element> other content </wrapper> NOT BEP-043 Das Attribut xsd:mixed DARF NICHT verwendet werden. NOT Überschreiben von Definitionen im Schema BEP-044 Das xsd:redefine Element DARF NICHT verwendet werden. NOT BEP-045 Das xsd:extension Element DARF NICHT verwendet werden. NOT Externe Programm oder Verarbeitungs-Instruktionen BEP-046 Das xsd:notation Element DARF NICHT verwendet werden. NOT Kompositoren in Modellgruppen BEP-047 Der Kompositor <all> in Model Groups SOLLTE NICHT verwendet werden. NOT 4.2 Element-Definitionen im Schema Empty Elements Um Laufzeitfehler bei Transformationen und Zuordnungen zu vermeiden, bzw. zusätzliche Errorhandling Blöcke zu minimieren, werden leere Elemente nicht zugelassen. BEP-048 Empty Elements DUERFEN NICHT verwendet werden. NOT BEP-049 Das xsd:nillable Attribut DARF NICHT verwendet werden. NOT Version 1.0 Seite 23/46

24 Deklaration Vorkommnisse von Elementen BEP-050 BEP-051 Elemente SOLLTEN mit Occurance-Indikatoren deklariert werden. Beispiel: <element name= firstname minoccurs= 1 maxoccurs= 1 /> Elemente vom DatenTyp xsd:string mit einer optionalen Verwendung im Schema (minoccurs= 0 ) SOLLTEN immer mit einer Längenrestriktion deklariert werden Nicht typisierte Elemente BEP-052 BEP-053 BEP-054 Das xsd:any Element SOLLTE NICHT verwendet werden. In Schemadeklaration welche gegen aussen publiziert werden (nicht ausschliesslich von der eigenen Anwendung verwendet), dürfen diese nicht verwendet werden. Der DatenTyp xsd:anysimpletype für Elementsdefinitionen Elementdefinitionen DARF NICHT verwendet werden. Bei Elementsdeklarationen mit Referenzierung auf einen Typ MUSS das type= Attribut immer angegeben und definiert werden. NOT NOT Default Werte Im Sinne der Nachvollziehbarkeit von Tests sollten durch Validierungsfunktionen keine Werte im XML Instanzdokument ersetzt werden. BEP-055 Das xsd:default Attribut für Elementdefinitionen SOLLTE NICHT verwendet werden NOT Ersetzungsgruppen BEP-056 Das xsd:substitutiongroup Attribut für Elementdefinitionen DARF NICHT verwendet werden NOT Datentypen BEP-057 Der xsd:id/xsd:idref/xsd:idrefs Datentyp DARF NICHT verwendet werden. NOT 4.3 Attributs-Definitionen im Schema Nicht typisierte Attribute BEP-058 Das xsd:anyattribute Attribut DARF NICHT verwendet werden. NOT Default Werte Im Sinne der Nachvollziehbarkeit von Tests sollten durch Validierungsfunktionen keine Werte im XML Instanzdokument ersetzt werden. Version 1.0 Seite 24/46

25 BEP-059 Das xsd:default Attribut für Attributsdefinitionen SOLLTE NICHT verwendet werden NOT 4.4 Attribute für die Verwendung in Dokumentinstanzen Lokale Typendefinition BEP-060 Lokale Typendefinitionen im XML-Dokument DUERFEN NICHT verwendet werden. NOT BEP-061 Das xsi:type Attribut DARF NICHT verwendet werden. NOT Schema ohne Namensräume BEP-062 Das xsi:nonamespaceschemalocation Attribut DARF NICHT verwendet werden. NOT Empty Elements BEP-063 Das xsi:nil= true Attribut SOLLTE NICHT verwendet werden. NOT Version 1.0 Seite 25/46

26 5 Erweiterte Regeln zum Design 5.1 Lokale vs. Globale Deklaration Die Sprachelemente von XML Schema erlauben sowohl die Deklaration von globalen als auch lokalen Elementen und Typen. Eine Komponente eines XML Schemas wird als global bezeichnet, wenn diese als unmittelbares Child von <schema> definiert ist, wohingegen lokale Komponenten verschachtelt in einer anderen Komponente deklariert sind (z.b. innerhalb eines Elementes als <complextype>) Design Patterns Lokale Deklaration - Russian Doll Design Bei diesem Pattern wird nur ein globales Element definiert, alle anderen Elemente sind lokal definiert, das Schema bündelt alle Elemente zu einer gültigen Deklaration <xsd:element name= CreditCard > <xsd:complextype> <xsd:sequence> <xsd:element name= CardNumber type= xsd:string minoccurs= 1 /> <xsd:element name= CardholderFirstName type= xsd:string minoccurs= 1 /> </xsd:sequence> </xsd:complextype> Abbildung 5: Lokale Deklaration Russian Doll Charakteristik Beinhaltet nur ein globales Element, alle anderen Elemente sind lokal definiert Wiederverwendbarkeit nur für das Root Element gegeben Erlaubt die Steuerung der Namespacesichtbarkeit auf globaler Ebene durch entsprechende Definition von elementformdefault Namespaces können gegen aussen verborgen werden Schema muss in einem File definiert werden Version 1.0 Seite 26/46

27 Globale Deklaration - Salami Slice Design In diesem Design Pattern werden alle Elemente als globales Element definiert. Da es keine verschachtelten Element-Deklarationen gibt, können alle Elemente über das gesamte Schema wiederverwendet werden. <xsd:element name= cardnumber type= xsd:string /> <xsd:element name= cardholderfirstname type= xsd:string /> <xsd:element name= CreditCardType > <xsd:complextype> <xsd:sequence> <xsd:element ref= cardnumber minoccurs= 1 /> <xsd:element ref= cardholderfirstname minoccurs= 1 /> </xsd:sequence> </xsd:complextype> Abbildung 6: Globale Deklaration Salami Slice Charakteristik Alle Elemente werden global deklariert Erlaubt die Wiederverwendbarkeit von Elemente auch in anderen Dokumenten Kein hidden Namespace gegen aussen möglich Namespace ist in Dokumentinstanzen immer sichtbar. Version 1.0 Seite 27/46

28 Globale Deklaration durch Typen - Venetian Blind Design Wie beim Salami Slice Design werden in diesem Pattern Definitionen global deklariert, im Unterschied dazu existiert aber nur ein globales Element. Für die globalen Deklarationen werden hier Typen anstelle von Elementen verwendet. <xsd:simpletype name= CardNumberType > <xsd:restriction base= xsd:string > </xsd:restriction> </xsd:simpletype> <xsd:simpletype name= CardholderFirstNameType > <xsd:restriction base= xsd:string > <xsd:minlength value= 1 /> </xsd:restriction> </xsd:simpletype> <xsd:element name= CreditCard > <xsd:complextype> <xsd:sequence> <xsd:element name= CardNumber type= CardNumberType minoccurs= 1 /> <xsd:element name= CardholderFirstName type= CardholderFirstNameType minoccurs= 1 /> </xsd:sequence> </xsd:complextype> Abbildung 7: Globale Deklaration mit Typen Venetian Blind Charakteristik Beinhaltet nur ein globales Element Individuelle Komponenten werden als Typen definiert Erlaubt die Wiederverwendbarkeit aller Typen und des globalen Root Elements Erlaubt die Aufteilung der Definitionen in mehrere Files Sichtbarkeit des Namespace kann auf Schemaebene über elementformdefault Switch gesteuert werden Limitierte Kapselung durch Exponierung der Typen Version 1.0 Seite 28/46

29 Globale Deklaration der Elemente und Typen - Garden of Eden Hierbei handelt es sich um eine Kombination des Venetian Blind und des Salami Slice Patterns. Alle Elemente und Typen werden global definiert. <xsd:element name= CardNumber type= CardNumberType /> <xsd:element name= CardholderFirstName type= CardholderFirstNameType /> <xsd:element name= CreditCard type= CreditCardType /> <xsd:simpletype name= CardNumberType > <xsd:restriction base= xsd:string /> </xsd:simpletype> <xsd:simpletype name= CardholderFirstNameType > <xsd:restriction base= xsd:string > <xsd:minlength value= 1 /> </xsd:restriction> </xsd:simpletype> <xsd:complextype name= CreditCardType > <xsd:sequence> <xsd:element ref= CardNumber minoccurs= 1 /> <xsd:element ref= CardholderFirstName minoccurs= 1 /> </xsd:sequence> </xsd:complextype> Abbildung 8: Globale Deklaration der Elemente und Typen Garden of Eden Charakteristik Alle Elemente und Typen werden global deklariert Erlaubt die Wiederverwendbarkeit von Typen und Elementen Erlaubt die Aufteilung der Definitionen in mehrere Files Limitierte Kapselung durch Exponierung der Typen Version 1.0 Seite 29/46

30 5.1.2 Design Richtlinien In der Literatur finden sich teilweise unterschiedliche Interpretationen der oben beschriebenen Patterns. In einigen Quellen wird das Venetian Blind Pattern beschrieben mit der Restriktion so wie oben wiedergegeben - nur ein einziges globales Element zu deklarieren. In anderen Beschreibungen existiert diese Restriktion nicht und es wird dabei empohlen, zusätzlich die voraussichtlich wiederzuverwendenden Komponenten selektiv als Elemente zu definieren. In anderen Quellen wird dieses Design Modell auch als Hybrid bezeichnet. Um eine möglichst hohe Wiederverwendbarkeit gewährleisten zu können und da gemäss vorliegenden Richtlinien zwingend die Qualifizierung von Elementen vorgegeben ist, sollten im Design von XML Schema das Hybrid Design Modell implementiert werden. BEP-064 BEP-065 BEP-066 BEP-067 BEP-068 Das XML Schema Design SOLLTE dem Hybrid-Ansatz zwischen Venetian Blind und Garden of Eden Pattern folgen. Typen werden global deklariert, Elemente welche voraussichtlich wiederverwendet werden, sind dabei ebenfalls im globalen Namensraum definiert. Es müssen dabei jedoch nicht zwingend alle Elemente global deklariert werden. Komplexe Typen SOLLTEN immer benannt werden und nie inline (innerhalb eines Elementes) definiert werden. Globale Elemente und Attribute SOLLTEN immer die type= Form verwenden und keine anonymen Typen enthalten. Elemente innerhalb von Model Groups (choice oder sequence) SOLLTEN immer die ref= Form und nie die type= Form verwenden. Die Definition von einfachen Typen (xsd:simpletype) KANN anonyme einfache Typendefinitionen beinhalten. Die Definition des einfachen Typen selber jedoch, SOLLTE NICHT anonym in einem Attribut oder Element erfolgen. MAY / NOT Version 1.0 Seite 30/46

31 5.2 Elemente vs. Typen Grundsätzlich können globale Komponenten sowohl als Types wie auch als Elemente im Schema definiert werden. Allgemein gilt als Best Practice im Zweifelsfall einen Typen zu definieren, da diese flexibler definiert werden können und Elemente nachträglich auf einfache Weise noch ergänzt werden können. Es ist weitgehend etabliert, Komponenten welche nicht vorgesehen sind als Elemente in XML Dokumentinstanzen zu erscheinen, ebenfalls als komplexe Type zu implementieren. Sowohl Oracle Service Bus (OSB) wie auch BPEL 2.0 unterstützen die Definition von Variablen basierend auf globalen Elementen und Typen, während hingegen BPEL 1.1 nur Variablen von globalen Elementen zulässt. GEN-069 Jedes XML Schema Dokument, welches direkt von einer WSDL Definition eingebunden wird, MUSS auf oberster Ebene die Deklaration eines Root Elements enthalten, auf welches in der Message-Definition des Services referenziert werden kann Referenzierung von Komponenten aus anderen Namensräumen Falls Komponenten aus anderen Namensräumen verwendet warden, soll dessen Namensraum immer auf der Elementebene ersichtlich bleiben. Dies wird erreicht indem solche importierten Objekte in der ref= und nicht der type= Form eingebunden werden. Version 1.0 Seite 31/46

32 BEP-070 Wenn Komponenten von anderen Namensräumen wiederverwendet werden, MUESSEN diese immer als Element und nicht als Typen - referenziert und im Herkunftsdokument entsprechend definiert werden. Andernfalls erhält das übergeordnete Element den Namespace des referenzierenden Schemas. Beispiel: <xsd:sequence> <xsd:element name= id type= xsd:long /> <xsd:element ref= cca:creditcard /> </xsd:sequence> BEP-071 Führt zu folgender Qualifizierung des Namensraums im XML Instanzdokument: <?xml version= 1.0 encoding= UTF-8?> <mas:creditcardentity xmlns:mas= xmlns:cre= xmlns:xsi= xsi:schemalocation= Master.xsd > <mas:id>789</mas:id> <cre:creditcard> <cre:cardnumber>1234</cre:cardnumber> <cre:cardholderfirstname>hans</cre:cardholderfirstname> </cre:creditcard> </mas:creditcardentity> Falls das gleiche Element eines anderen Namensraums innerhalb von Model Groups mehrfach verwendet wird, MUSS dieses innerhalb eines Types, welcher wiederum einen eindeutigen Namen hat, definiert werden. Beispiel: <xsd:element name= CreditCardInfo > <xsd:complextype> <xsd:sequence> <xsd:element name= id type= xsd:long /> <xsd:element name= MainCreditCard minoccurs= 1 > <xsd:complextype> <xsd:sequence> <xsd:element ref= cre:creditcard /> </xsd:sequence> </xsd:complextype> <xsd:element name= AltCreditCard minoccurs= 0 > <xsd:complextype> <xsd:sequence> <xsd:element ref= cre:creditcard /> </xsd:sequence> </xsd:complextype> <xsd:element name= OldCreditCards minoccurs= 0 maxoccurs= unbounded > <xsd:complextype> <xsd:sequence> <xsd:element cre= cre:creditcard /> </xsd:sequence> </xsd:complextype> </xsd:sequence> </xsd:complextype> Version 1.0 Seite 32/46

33 BEP-072 Wenn Komponenten des gleichen Namensraumes wiederverwendet werden, SOLLTEN diese immer mit der Type= Form referenziert werden. Version 1.0 Seite 33/46

34 5.3 Attribute vs. Elemente Aus Gründen der Klarheit und Abgrenzung sowie der leichteren Erweiterbarkeit wird hier empfohlen, Attribute generell nur für Metadaten zu verwenden. Als Metadaten gelten dabei Informationen über die im Dokument enthaltenen Daten oder das Dokument selber so wie beispielsweise die Versionsnummer des Schemas oder alternative Feldbeschreibungen. BEP-073 Für die Repräsentation von Daten MUESSEN Elemente verwendet werden - und nicht Attribute. BEP-074 Attribute SOLLTEN nur für Metadaten verwendet werden Version 1.0 Seite 34/46

35 6 Namenskonventionen NMR-075 Die Namen der Elemente, Attribute und Typen SOLLTEN aus Wörtern gebildet werden, die im definierten Wörterbuch zu finden sind. SOLLTE NMR-076 Für den Namen von Attributen MUSS LowerCamelCase (LCC) verwendet werden. NMR-077 NMR-078 NMR-079 Für den Namen der Elementen und Typen MUSS UpperCamelCase (UCC) verwendet werden. Dem Namen eines ComplexType und eines SimpleType MUSS der Suffix Type angehängt werden. Bespiel: AddressType Dem Namen von Elementen oder Typen, welche wiederum Iterationen mit dem Attribut maxoccurs> 1 von Elementen beinhalten, SOLLTE der Suffix Collection angehängt werden. Beispiel: <xsd:complextype name= PersonsCollection > <xsd:sequence> <xsd:element maxoccurs=unbounded ref=person /> <xsd:sequence> </xsd:complextype> Alternativ kann der Plural des im Listenelement definierten Element verwendet werden z.b. Persons. Allerdings sollt dies innerhalb einer Domäne konsistent gehandhabt werden. NMR-080 Sämtliche Namen SOLLTEN eine Maximallänge von 35 Zeichen nicht überschreiten. NMR-081 NMR-082 NMR-083 NMR-084 NMR-085 NMR-086 NMR-087 Element-, Attribut- und Typ-Namen MUESSEN innerhalb eines Namensraums eindeutig sein. Underscore (_), Punkte (.) und Bindestrich (-) Zeichen SOLLTEN NICHT verwendet werden oder SOLLTEN für spezielle Anforderungen reserviert sein. Elemente, Attribute und Typen MUESSEN in Singularform definiert werden, ausser das Konzept selbst existiert nur Pluralform (z.b. GoodsQuantity). Die Namen der XML Elemente, Attribute und Typen MUESSEN aus Kleinbuchstaben [az], Grossbuchstaben [A-Z], Zahlen [0-9] und Underscore-Zeichen [_] gebildet werden. Die Namen der XML Elemente, Attribute und Typen DUERFEN NICHT Akronyme, Abkürzungen und andere Wortkürzungen verwenden, ausser sie sind in der projektspezifisch zu erstellenden Liste der erlaubten Abkürzungen und Akronyme vorhanden. Akronyme und Abkürzungen, die aufgelistet werden, MUESSEN immer anstelle der ausgeschriebenen Wörter verwendet werden. Akronyme MUESSEN immer komplett in Grossbuchstaben vorkommen, ausser das Akronym steht am Anfang eines Attributnamen. In diesem Fall MUSS das Akronym in Kleinbuchstaben geschrieben sein. NOT Version 1.0 Seite 35/46

36 NMR-088 Ein XML Schema Namespace MUSS dem folgenden Pattern gehorchen: URN urn:<organization>:<organization hierarchy>[:<organization hierarchy level>]*:<schema type>[:<package>]+[:<status>]:v<major-version> URL hierarchy>[/<organization hierarchy level>]*/<schema type>[/<package>]+[/<status>]/v<major-version> wobei: organization ein Identifier der Organisation, welche die Schemadefinition zur Verfügung stellt organization hierarchy die erste Stufe einer Hierarchie innerhalb der Organisation, welche die Schemadefinition zur Verfügung stellt organization hierarchy level 0 oder mehrere Hierarchiestufen der Organisation, welche die Schemadefinition zur Verfügung stellt schema type ein Token, welcher den Typ des XML Schema Dokumentes indentifiziert: schema codelist documentation package - eine oder mehrere Stufen von Packages getrennt durch ein / Zeichen status der optionale Status des WSDL-Dokumentes: draft standard major die Major Versionsnummer Beispiele: ylist/v1 Version 1.0 Seite 36/46

37 NMR-089 Die Filenamen von XML Schemas MUESSEN dem folgenden Pattern gehorchen: <schema-module-name>_<major>.<minor>.xsd sämtliche Punkten, Leerzeichen und andere Trennzeichen müssen entfernt werden. wobei: Schema-module-name Name des Schemamoduls major Major-Versionsnummer minor Minor Versionsummer NMR-090 Das xsd:schema Versionsattribut MUSS dem folgenden Pattern gehorchen: <xsd:schema... version= <major>.<minor>[.<revision>] wobei: <major> - sequentielle Nummer mit der Major-Version <minor> - sequentielle Nummer mit der Minor-Version <revision> - optionale, sequentielle Nummer mit der Revision-Nummer 6.1 Namens-Segmente in der Namensgebung von Elementen, Typen und Attributen Die Namen von Elementen, Attributen und Typen in einer Schemadefinition sollten sich wo möglich und sinnvoll aus einem projektspezifisch zu erstellenden Vokabular von standardisierten Begriffen zusammenzusetzen. Falls vorhanden und möglich empfiehlt sich auch eine nahe Anlehnung von Komponentennamen an die Namensgebung des zugrundeliegenden Objekt- oder Datenmodells Suffixe zur Bezeichnung des Datentyps In der folgenden Tabelle sind im Sinne eines Beispiels und nicht abschliessend einige essentielle Begriffe aufgeführt, welche als Suffix in Komponentennamen verwendet werden sollten. Bezeichner Beschreibung Primitive Datentypen Amount Binary Ein numerischer Wert, der einen monetären Wert darstellt. Die Währungseinheit kann dabei explizit oder implizit definiert sein. Beispiele: UnitCostAmount, UnitPriceAmount, PartnerFeeAmount Eine Sequenz von binären Ziffern um beispielsweise Dokumente wie Word oder PDF einzubinden. Beispiele: DocumentationBinary, AttachmentBinary xsd:decimal xsd:double xsd:float xsd:integer xsd:base64binary xsd:hexbinary Version 1.0 Seite 37/46

38 Code Date DateTime Duration Identifier Indicator Measure Ein Character String (Buchstaben, Zahlen oder Symbole) kann verwendet werden, um einen kürzeren oder sprach-unabhängiges Token zu haben, der einen Wert oder Text repräsentiert oder ersetzt. Codes werden normalerweise in Codelisten für jeden Attributtyp verwaltet. Beispiele: CountryCode, CurrencyCode Ein Tag in einem bestimmten Kalenderjahr (ISO ) als Darstellung im gregorianischen Kalender. Beispiele: ExpirationDate, ShipmentDate Eine Kombination aus Datumsangeben des gregorianischen Kalenders und Zeitangaben Beispiele: CreationDateTime, ReceiptDateTime Eine Darstellung eines Zeitraumes in Jahren, Monaten, Wochen, Tagen, Stunden, Minuten, Sekunden und Sekundenbruchteilen im ISO 8601 Format. Beispiele: ActivityDuration, WorkTimeDuration Ein Charakter String (Buchstaben, Zahlen oder Symbole) als eindeutiger Bezeichner einer Instanz eines Objektes. Beispiele: CustomerIdentifier, OrderIdentifier Ein Bezeichner aus einer Liste von 2 sich gegenseitig ausschliessenden Werten, welche den einzigen möglichen Zustand einer bestimmten Eigenschaft wiedergeben. Beispiele: ActivationStatusIndicator, EligibilityIndicator Ein numerischer Wert um physische Dimensionen eines Objektes zu beschreiben. Wird typischerweise immer im Kontext einer Masseinheit verwendet. Beispiele: WeightMeasure, LengthMeasure xsd:normalizedstring xsd:string xsd:token xsd:date xsd:datetime xsd:duration xsd:normalizedstring xsd:string xsd:token xsd:boolean xsd:decimal xsd:double xsd:float xsd:integer Name Die Benennung als Unterscheidungsmerkmal xsd:normalizedstring Version 1.0 Seite 38/46

39 eines bestimmten Objektes wie Person, Sache, Ort oder Konzept. xsd:string xsd:token Ordinal Percent Quantity Rate Ratio Text Beispiele: FirstName, LocationName Eine Zahl die einen mathematischen Wert darstellt, welche für Aufzählungen, Reihenfolgen und Sortierungen verwendet wird. Beispiele: RankingOrdinal, OrderOrdinal Ein Wert der eine Fraktion von hundert als Quotient ausdrückt. Beispiele: DiscountPercent, TaxPercent Ein numerischer Wert mit welchem eine Einheit von nicht monetären Werten ausgedrückt wird. Üblicherweise wird dieser Wert immer im Kontext einer Masseinheit ausgedrückt. Beispiele: OrderQuantity, AvailableQuantity Eine Menge, Betrag, Häufigkeit oder Faktor, der gegen eine Basiseinheit gemessen und als Quotient ausgedückt wird. Beispiele: InterestRate, ConversionRate Eine Beziehung von zwei unabhängigen Mengen, welche die gleiche Masseinheit oder Währung verwenden. Ratio kann als Quotient oder Proportion ausgedrückt werden. Beispiele: CompletionRatio, NetIncomeRatio Eine Charakter Zeichenkette in der Form einer Sprache welche zur unstrukturierten Beschreibung eines Objektes verwendet wird. Beispiele: InvoiceText, RemarksText xsd:integer xsd:positiveinteger xsd:nonnegativeinteger xsd:unsignedint xsd:unsignedlong xsd:decimal xsd:double xsd:float xsd:integer xsd:decimal xsd:double xsd:float xsd:integer xsd:decimal xsd:double xsd:float xsd:integer xsd:decimal xsd:double xsd:float xsd:integer xsd:normalizedstring xsd:string xsd:token Time Die Angabe einer Tageszeit im ISO Format mit oder ohne Zeitzonenangabe, welche in Stunden, Minuten, Sekunden und Bruchteilen davon aufgelöst werden kann. xsd:time Beispiele: DeliveryTime, StartTime Value Ein numerischer Wert zur Darstellung von quantifi- xsd:decimal Version 1.0 Seite 39/46

XML Schema vs. Relax NG

XML Schema vs. Relax NG XML Schema vs. Relax NG p. 1/2 XML Schema vs. Relax NG Semistrukturierten Daten 1 Präsentation der Gruppe 2 XML Schema vs. Relax NG p. 2/2 Wozu XML Schema? W3C Empfehlung zur Definition von XML-Dokumentstrukturen

Mehr

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche etutor Benutzerhandbuch Benutzerhandbuch XQuery Georg Nitsche Version 1.0 Stand März 2006 Versionsverlauf: Version Autor Datum Änderungen 1.0 gn 06.03.2006 Fertigstellung der ersten Version Inhaltsverzeichnis:

Mehr

Klaus Schild, XML Clearinghouse 2003. Namensräume

Klaus Schild, XML Clearinghouse 2003. Namensräume Namensräume Lernziele Namenskonflikte Warum lösen im World Wide Web einfache Präfixe dieses Problem nicht? Wie lösen globale Namensräume das Problem? Wie werden sie in XML-Dokumenten benutzt? Was sind

Mehr

2. XML 2.1 XML 1.0 und XML Schema. Jörg Schwenk Lehrstuhl für Netz- und Datensicherheit

2. XML 2.1 XML 1.0 und XML Schema. Jörg Schwenk Lehrstuhl für Netz- und Datensicherheit XML- und Webservice- Sicherheit 2. XML 2.1 XML 1.0 und XML Schema Gliederung 1. XML 1.0 2. XML Namespaces: URI, URL und URN 3. XML Schema Literatur: A. Tanenbaum, Computer Networks. E. R. Harold and W.

Mehr

Norm 240 Versionierung

Norm 240 Versionierung 1 Norm 240 Versionierung 2 3 Release und Version Release 1, Version 2.0, vom 19. Juni 2007 4 5 Status Offizielle Norm 6 7 Editor Sascha Klose, VHV Versicherung 8 9 10 11 12 13 14 15 16 Autoren Markus Heussen,

Mehr

Vorgaben und Erläuterungen zu den XML-Schemata im Bahnstromnetz

Vorgaben und Erläuterungen zu den XML-Schemata im Bahnstromnetz Anwendungshandbuch Vorgaben und Erläuterungen zu den XML-Schemata im Bahnstromnetz Version: 1.0 Herausgabedatum: 31.07.2015 Ausgabedatum: 01.11.2015 Autor: DB Energie http://www.dbenergie.de Seite: 1 1.

Mehr

Dokumentation Data Dictionary (SIP)

Dokumentation Data Dictionary (SIP) Eidgenössisches Departement des Innern EDI Schweizerisches Bundesarchiv BAR Ressort Innovation und Erhaltung Dienst Digitale Archivierung (DDA) Dokumentation Data Dictionary (SIP) Datum: September 2009

Mehr

Die Excel Schnittstelle - Pro Pack

Die Excel Schnittstelle - Pro Pack Die Excel Schnittstelle - Pro Pack Die Excel Pro Pack ist eine Erweiterung der normalen Excel Schnittstelle, die in der Vollversion von POSWare Bestandteil der normalen Lizenz und somit für alle Lizenznehmer

Mehr

XSL Templates. Mit Templates arbeiten. XSL Templates

XSL Templates. Mit Templates arbeiten. XSL Templates XSL Templates Mit Templates arbeiten Innerhalb von XSLT werden Templates verwendet. Ein Template ist eine Vorlage für die Transformation bestimmter Knoten. Diese Knoten können Elemente, Attribute oder

Mehr

Containerformat Spezifikation

Containerformat Spezifikation Containerformat Spezifikation Version 1.0-09.05.2011 Inhaltsverzeichnis 0 Einführung... 4 0.1 Referenzierte Dokumente... 4 0.2 Abkürzungen... 4 1 Containerformat... 5 1.1 Aufbau des Container-Headers...

Mehr

XML-Austauschformat für Sicherheitsdatenblätter

XML-Austauschformat für Sicherheitsdatenblätter XML-Austauschformat für Sicherheitsdatenblätter Version 2.0 / 15. Dezember 2008 www.edas.org 1 XML-Austauschformat für Sicherheitsdatenblätter Der Austausch der Sicherheitsdatenblätter erfolgt als XML-Datei.

Mehr

Containerformat Spezifikation

Containerformat Spezifikation Containerformat Spezifikation Version 1.1-21.02.2014 Inhaltsverzeichnis 0 Einführung... 4 0.1 Referenzierte Dokumente... 4 0.2 Abkürzungen... 4 1 Containerformat... 5 1.1 Aufbau des Container-Headers...

Mehr

Vgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert https://www.sws.bfh.ch/studium/cas/swe-fs13/protected/re/re_buch.

Vgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert https://www.sws.bfh.ch/studium/cas/swe-fs13/protected/re/re_buch. Vgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert https://www.sws.bfh.ch/studium/cas/swe-fs13/protected/re/re_buch.pdf Nachdem die Projekt-Vision und die Stakeholder bekannt sind,

Mehr

Barrierefreie Webseiten erstellen mit TYPO3

Barrierefreie Webseiten erstellen mit TYPO3 Barrierefreie Webseiten erstellen mit TYPO3 Alternativtexte Für jedes Nicht-Text-Element ist ein äquivalenter Text bereitzustellen. Dies gilt insbesondere für Bilder. In der Liste der HTML 4-Attribute

Mehr

http://train-the-trainer.fh-joanneum.at IINFO Storyboard

http://train-the-trainer.fh-joanneum.at IINFO Storyboard IINFO Storyboard Allgemeine Bemerkungen und Richtlinien zur Handhabung. Das Storyboard besteht aus einem Web, d.h. einer vernetzten Struktur von HTML-Seiten welche später von den Programmieren direkt als

Mehr

... MathML XHTML RDF

... MathML XHTML RDF RDF in wissenschaftlichen Bibliotheken (LQI KUXQJLQ;0/ Die extensible Markup Language [XML] ist eine Metasprache für die Definition von Markup Sprachen. Sie unterscheidet sich durch ihre Fähigkeit, Markup

Mehr

Workflow, Business Process Management, 4.Teil

Workflow, Business Process Management, 4.Teil Workflow, Business Process Management, 4.Teil 24. Januar 2004 Der vorliegende Text darf für Zwecke der Vorlesung Workflow, Business Process Management des Autors vervielfältigt werden. Eine weitere Nutzung

Mehr

How to do? Projekte - Zeiterfassung

How to do? Projekte - Zeiterfassung How to do? Projekte - Zeiterfassung Stand: Version 4.0.1, 18.03.2009 1. EINLEITUNG...3 2. PROJEKTE UND STAMMDATEN...4 2.1 Projekte... 4 2.2 Projektmitarbeiter... 5 2.3 Tätigkeiten... 6 2.4 Unterprojekte...

Mehr

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter 2 Inhaltsverzeichnis 1 Web-Kürzel 4 1.1 Einführung.......................................... 4 1.2 Web-Kürzel.........................................

Mehr

BUILDNOTES TOPAL FINANZBUCHHALTUNG

BUILDNOTES TOPAL FINANZBUCHHALTUNG BUILDNOTES TOPAL FINANZBUCHHALTUNG VERSION 7.5.11.0 Inhaltsverzeichnis 1. EINFÜHRUNG... 2 1.1. Zweck... 2 1.2. Neuerungen... 2 1.2.1. Import... 2 1.2.2. Importvorlagen... 3 1.2.3. Sicherheitseinstellungen...

Mehr

Task: Nmap Skripte ausführen

Task: Nmap Skripte ausführen Task: Nmap Skripte ausführen Inhalt Einfache Netzwerkscans mit NSE Ausführen des Scans Anpassung der Parameter Einleitung Copyright 2009-2015 Greenbone Networks GmbH Herkunft und aktuellste Version dieses

Mehr

XML-Namensräume. Marc Monecke monecke@informatik.uni-siegen.de

XML-Namensräume. Marc Monecke monecke@informatik.uni-siegen.de XML-Namensräume Marc Monecke monecke@informatik.uni-siegen.de Praktische Informatik Fachbereich Elektrotechnik und Informatik Universität Siegen, D-57068 Siegen 19. Mai 2003 Inhaltsverzeichnis 1 Motivation

Mehr

Abschluss Version 1.0

Abschluss Version 1.0 Beschreibung Der Abschluss wird normalerweise nur einmal jährlich durchgeführt. Dieses Tech-Note soll helfen, diesen doch seltenen aber periodisch notwendigen Vorgang problemlos durchzuführen. Abschlussvarianten

Mehr

Plugins. Stefan Salich (sallo@gmx.de) Stand 2008-11-21

Plugins. Stefan Salich (sallo@gmx.de) Stand 2008-11-21 Plugins Stefan Salich (sallo@gmx.de) Stand 2008-11-21 Inhaltsverzeichnis 0 Einleitung...3 0.1 Sinn und Zweck...3 0.2 Änderungsübersicht...3 0.3 Abkürzungsverzeichnis...3 1 Einfügen eines Plugins...4 1.1

Mehr

Verteilte Systeme: Übung 4

Verteilte Systeme: Übung 4 Verteilte Systeme: Übung 4 WSDL und SOAP Oliver Kleine Institut für Telematik https://www.itm.uni-luebeck.de/people/kleine SOAP Nachrichten Serialisierung in XML Root-Element einer SOAP Nachricht ist

Mehr

RDF und RDF Schema. Einführung in die Problematik Von HTML über XML zu RDF

RDF und RDF Schema. Einführung in die Problematik Von HTML über XML zu RDF RDF und RDF Schema Einführung in die Problematik Von HTML über XML zu RDF Kirsten Albrecht Roland Illig Probleme des HTML-basierten

Mehr

Departement Bau, Verkehr und Umwelt Abteilung Tiefbau

Departement Bau, Verkehr und Umwelt Abteilung Tiefbau Departement Bau, Verkehr und Umwelt Abteilung Tiefbau Anleitung "Neue IMS-Version 2012" Dokumenttyp: Anleitung Autor: ZD/sf, Version: 1.2 Gültig ab: 08.03.2012 Änderungskontrolle Version Datum Erstellt

Mehr

Softwareentwicklungspraktikum Sommersemester 2007. Feinentwurf

Softwareentwicklungspraktikum Sommersemester 2007. Feinentwurf Softwareentwicklungspraktikum Sommersemester 2007 Feinentwurf Auftraggeber Technische Universität Braunschweig

Mehr

visionapp Base Installation Packages (vbip) Update

visionapp Base Installation Packages (vbip) Update visionapp Base Installation Packages (vbip) Update Juli 2005 Beschreibung der Installationspakete und Installationspaketschablonen Copyright visionapp GmbH, 2005. Alle Rechte vorbehalten. Die in diesem

Mehr

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java Objektorientierte Programmierung mit Java Eine praxisnahe Einführung mit BlueJ Klassenentwurf Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? 1.0 Zentrale Konzepte

Mehr

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Einleitung Wenn in einem Unternehmen FMEA eingeführt wird, fangen die meisten sofort damit an,

Mehr

White Paper. Fabasoft Folio Zugriffsdefinitionen. 2013 Winter Release

White Paper. Fabasoft Folio Zugriffsdefinitionen. 2013 Winter Release White Paper Fabasoft Folio Zugriffsdefinitionen 2013 Winter Release Copyright Fabasoft R&D GmbH, A-4020 Linz, 2012. Alle Rechte vorbehalten. Alle verwendeten Hard- und Softwarenamen sind Handelsnamen und/oder

Mehr

HTML5. Wie funktioniert HTML5? Tags: Attribute:

HTML5. Wie funktioniert HTML5? Tags: Attribute: HTML5 HTML bedeutet Hypertext Markup Language und liegt aktuell in der fünften Fassung, also HTML5 vor. HTML5 ist eine Auszeichnungssprache mit der Webseiten geschrieben werden. In HTML5 wird festgelegt,

Mehr

PowerPoint 2010 Mit Folienmastern arbeiten

PowerPoint 2010 Mit Folienmastern arbeiten PP.002, Version 1.1 07.04.2015 Kurzanleitung PowerPoint 2010 Mit Folienmastern arbeiten Der Folienmaster ist die Vorlage für sämtliche Folien einer Präsentation. Er bestimmt das Design, die Farben, die

Mehr

4 Aufzählungen und Listen erstellen

4 Aufzählungen und Listen erstellen 4 4 Aufzählungen und Listen erstellen Beim Strukturieren von Dokumenten und Inhalten stellen Listen und Aufzählungen wichtige Werkzeuge dar. Mit ihnen lässt sich so ziemlich alles sortieren, was auf einer

Mehr

SEPA Lastschriften. Ergänzung zur Dokumentation vom 27.01.2014. Workshop Software GmbH Siemensstr. 21 47533 Kleve 02821 / 731 20 02821 / 731 299

SEPA Lastschriften. Ergänzung zur Dokumentation vom 27.01.2014. Workshop Software GmbH Siemensstr. 21 47533 Kleve 02821 / 731 20 02821 / 731 299 SEPA Lastschriften Ergänzung zur Dokumentation vom 27.01.2014 Workshop Software GmbH Siemensstr. 21 47533 Kleve 02821 / 731 20 02821 / 731 299 www.workshop-software.de Verfasser: SK info@workshop-software.de

Mehr

In S-Firm wird nur angeboten die Datei auf Diskette zu exportieren; die Einstellung für HBCI ist ausgegraut.

In S-Firm wird nur angeboten die Datei auf Diskette zu exportieren; die Einstellung für HBCI ist ausgegraut. S-Firm/StarMoney/StarMoney Business mehrere Stapel über HBCI Problembeschreibung: Die oben genannten Produkte der Star Finanz GmbH, Hamburg nachfolgend Banking Software genannt, erlauben in der aktuellen

Mehr

ipin CSV-Datenimport (Mac OS X)

ipin CSV-Datenimport (Mac OS X) ipin CSV-Datenimport (Mac OS X) ipin bietet Ihnen die Möglichkeit, Daten aus anderen Programmen oder Datenquellen zu importieren. Dies ist vor allem dann sehr hilfreich, wenn große Datenmengen in ipin

Mehr

Fragment Identifiers, Template Handles

Fragment Identifiers, Template Handles Fragment Identifiers, Tibor Kálmán Gesellschaft für wissenschaftliche Datenverarbeitung mbh Göttingen (GWDG) Tibor [dot] Kalman [at] gwdg [dot] de 1 Übersicht Problematik der Referenzierung Technische

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

trivum Multiroom System Konfigurations- Anleitung Erstellen eines RS232 Protokolls am Bespiel eines Marantz SR7005

trivum Multiroom System Konfigurations- Anleitung Erstellen eines RS232 Protokolls am Bespiel eines Marantz SR7005 trivum Multiroom System Konfigurations- Anleitung Erstellen eines RS232 Protokolls am Bespiel eines Marantz SR7005 2 Inhalt 1. Anleitung zum Einbinden eines über RS232 zu steuernden Devices...3 1.2 Konfiguration

Mehr

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren: 4. AUSSAGENLOGIK: SYNTAX 4.1 Objektsprache und Metasprache 4.2 Gebrauch und Erwähnung 4.3 Metavariablen: Verallgemeinerndes Sprechen über Ausdrücke von AL 4.4 Die Sprache der Aussagenlogik 4.5 Terminologie

Mehr

Hilfe Bearbeitung von Rahmenleistungsverzeichnissen

Hilfe Bearbeitung von Rahmenleistungsverzeichnissen Hilfe Bearbeitung von Rahmenleistungsverzeichnissen Allgemeine Hinweise Inhaltsverzeichnis 1 Allgemeine Hinweise... 3 1.1 Grundlagen...3 1.2 Erstellen und Bearbeiten eines Rahmen-Leistungsverzeichnisses...

Mehr

Proxy. Krishna Tateneni Übersetzer: Stefan Winter

Proxy. Krishna Tateneni Übersetzer: Stefan Winter Krishna Tateneni Übersetzer: Stefan Winter 2 Inhaltsverzeichnis 1 Proxy-Server 4 1.1 Einführung.......................................... 4 1.2 Benutzung.......................................... 4 3 1

Mehr

Informationen zu den regionalen Startseiten

Informationen zu den regionalen Startseiten Informationen zu den regionalen Startseiten Inhaltsverzeichnis Informationen zu den regionalen Startseiten 1 1. Grundlegende Regeln 2 1.1. Was wird angezeigt? 2 1.2. Generelle Anzeigeregeln 2 2. Anpassbare

Mehr

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

Mehr

Um ein solches Dokument zu erzeugen, muss eine Serienbriefvorlage in Word erstellt werden, das auf die von BüroWARE erstellte Datei zugreift.

Um ein solches Dokument zu erzeugen, muss eine Serienbriefvorlage in Word erstellt werden, das auf die von BüroWARE erstellte Datei zugreift. Briefe Schreiben - Arbeiten mit Word-Steuerformaten Ab der Version 5.1 stellt die BüroWARE über die Word-Steuerformate eine einfache Methode dar, Briefe sowie Serienbriefe mit Hilfe der Korrespondenzverwaltung

Mehr

Zustandsgebundene Webservices

Zustandsgebundene Webservices Zustandsgebundene Webservices Präsentation ausgewählter Problemstellungen der Informatik Markus Oertel oer@uni-paderborn.de Universität Paderborn 25. September 2005 Zustandsgebundene Webservices Seite

Mehr

Q-DAS ASCII Transferformat setzt sich durch

Q-DAS ASCII Transferformat setzt sich durch Q-DAS ASCII Transferformat setzt sich durch Das Q-DAS ASCII Transferformat wurde 1996 gemeinsam mit der Firma Ford entwickelt. Dabei standen von Anfang an folgende Ziele im Vordergrund: einfacher und transparenter

Mehr

Informationsblatt zu den Seminaren am Lehrstuhl. für Transportsysteme und -logistik

Informationsblatt zu den Seminaren am Lehrstuhl. für Transportsysteme und -logistik Informationsblatt zu den Seminaren am Lehrstuhl für Transportsysteme und -logistik Inhaltsverzeichnis ORGANISATORISCHES... 2 GROBER ABLAUF... 3 PRÄSENTATIONEN... 6 TEST... 7 1 Organisatorisches Jeder Student

Mehr

Berechtigungen im Kalender Anleitung für die Rechtevergabe im Outlook Kalender 2010. FHNW, Services, ICT

Berechtigungen im Kalender Anleitung für die Rechtevergabe im Outlook Kalender 2010. FHNW, Services, ICT Berechtigungen im Kalender Anleitung für die Rechtevergabe im Outlook Kalender 2010 FHNW, Services, ICT Windisch, März 2013 Berechtigungen im Kalender 1 1 Gruppen 3 1.1 Die Gruppe/der Benutzer Standard

Mehr

Sehr geehrte Faktor-IPS Anwender,

Sehr geehrte Faktor-IPS Anwender, März 2014 Faktor-IPS 3.11 Das neue Release Faktor-IPS 3.11 steht Ihnen zum Download zur Verfügung. Wir informieren Sie über die neusten Feautres. Lesen Sie mehr Sehr geehrte Faktor-IPS Anwender, Auf faktorzehn.org

Mehr

OP-LOG www.op-log.de

OP-LOG www.op-log.de Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server

Mehr

Programmiersprachen und Übersetzer

Programmiersprachen und Übersetzer Programmiersprachen und Übersetzer Sommersemester 2010 19. April 2010 Theoretische Grundlagen Problem Wie kann man eine unendliche Menge von (syntaktisch) korrekten Programmen definieren? Lösung Wie auch

Mehr

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen 9 3 Web Services 3.1 Überblick Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen mit Hilfe von XML über das Internet ermöglicht (siehe Abb.

Mehr

Installation & Konfiguration AddOn Excel Export Restriction

Installation & Konfiguration AddOn Excel Export Restriction Installation & Konfiguration AddOn Excel Export Restriction Spezifische Vergabe von Excel-Export Rechten Version 7.1.0 für Microsoft Dynamics CRM 2013 & 2015 Datum 25. März 2015 Inhalt 1. Ausgangslage...

Mehr

Dokumentation von Ük Modul 302

Dokumentation von Ük Modul 302 Dokumentation von Ük Modul 302 Von Nicolas Kull Seite 1/ Inhaltsverzeichnis Dokumentation von Ük Modul 302... 1 Inhaltsverzeichnis... 2 Abbildungsverzeichnis... 3 Typographie (Layout)... 4 Schrift... 4

Mehr

Standard-Kontaktformular

Standard-Kontaktformular Online-Tutorials Referat VI.5 Internetdienste Standard-Kontaktformular Legen Sie ein neues Dokument an Klicken Sie die Datei an, unter der Sie das Kontaktformular anlegen möchten Legen Sie über Datei >

Mehr

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen Open Source professionell einsetzen 1 Mein Background Ich bin überzeugt von Open Source. Ich verwende fast nur Open Source privat und beruflich. Ich arbeite seit mehr als 10 Jahren mit Linux und Open Source.

Mehr

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Seite erstellen Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Es öffnet sich die Eingabe Seite um eine neue Seite zu erstellen. Seiten Titel festlegen Den neuen

Mehr

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Klassendiagramme Ein Klassendiagramm dient in der objektorientierten Softwareentwicklung zur Darstellung von Klassen und den Beziehungen,

Mehr

Use Cases. Use Cases

Use Cases. Use Cases Use Cases Eigenschaften: Ein Use Case beschreibt einen Teil des Verhaltens eines Systems aus externer Sicht (Formuliert in der der Fachsprache der Anwendung) Dies geschieht, indem ein Systemdialog beschrieben

Mehr

Urlaubsregel in David

Urlaubsregel in David Urlaubsregel in David Inhaltsverzeichnis KlickDown Beitrag von Tobit...3 Präambel...3 Benachrichtigung externer Absender...3 Erstellen oder Anpassen des Anworttextes...3 Erstellen oder Anpassen der Auto-Reply-Regel...5

Mehr

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos in Verbindung mit der Webshopanbindung wurde speziell auf die Shop-Software shop to date von DATA BECKER abgestimmt. Mit

Mehr

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert:

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert: Firewall für Lexware professional konfigurieren Inhaltsverzeichnis: 1. Allgemein... 1 2. Einstellungen... 1 3. Windows XP SP2 und Windows 2003 Server SP1 Firewall...1 4. Bitdefender 9... 5 5. Norton Personal

Mehr

IT-Zertifikat: Daten- und Metadatenstandards

IT-Zertifikat: Daten- und Metadatenstandards IT-Zertifikat: Daten- und Metadatenstandards DTD - Document Type Definition / Dokumenttypdefinition Das (bislang) Wichtigste auf einen Blick Externe DTD einbinden:

Mehr

MSDE 2000 mit Service Pack 3a

MSDE 2000 mit Service Pack 3a MSDE 2000 mit Service Pack 3a Neues MSDE im WINLine-Setup: Seit der WINLine 8.2 Build 972 wird auf der WINLine-CD ein neues Setup der Microsoft MSDE mit ausgeliefert. Mit dieser neuen Version MSDE 2000

Mehr

10.3.1.8 Übung - Konfigurieren einer Windows 7-Firewall

10.3.1.8 Übung - Konfigurieren einer Windows 7-Firewall 5.0 10.3.1.8 Übung - Konfigurieren einer Windows 7-Firewall Drucken Sie diese Übung aus und führen Sie sie durch. In dieser Übung werden Sie erfahren, wie man die Windows 7-Firewall konfiguriert und einige

Mehr

Word 2010 Schnellbausteine

Word 2010 Schnellbausteine WO.001, Version 1.0 02.04.2013 Kurzanleitung Word 2010 Schnellbausteine Word 2010 enthält eine umfangreiche Sammlung vordefinierter Bausteine, die sogenannten "Schnellbausteine". Neben den aus den früheren

Mehr

teamsync Kurzanleitung

teamsync Kurzanleitung 1 teamsync Kurzanleitung Version 4.0-19. November 2012 2 1 Einleitung Mit teamsync können Sie die Produkte teamspace und projectfacts mit Microsoft Outlook synchronisieren.laden Sie sich teamsync hier

Mehr

Skript Pilotphase em@w für Arbeitsgelegenheiten

Skript Pilotphase em@w für Arbeitsgelegenheiten Die Pilotphase erstreckte sich über sechs Meilensteine im Zeitraum August 2011 bis zur EMAW- Folgeversion 2.06 im August 2013. Zunächst einmal musste ein grundsätzliches Verständnis für das Verfahren geschaffen

Mehr

Nach der Anmeldung im Backend Bereich landen Sie im Kontrollzentrum, welches so aussieht:

Nach der Anmeldung im Backend Bereich landen Sie im Kontrollzentrum, welches so aussieht: Beiträge erstellen in Joomla Nach der Anmeldung im Backend Bereich landen Sie im Kontrollzentrum, welches so aussieht: Abbildung 1 - Kontrollzentrum Von hier aus kann man zu verschiedene Einstellungen

Mehr

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage .htaccess HOWTO zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage Stand: 21.06.2015 Inhaltsverzeichnis 1. Vorwort...3 2. Verwendung...4 2.1 Allgemeines...4 2.1 Das Aussehen der.htaccess

Mehr

Qualifikationsbereich: Application Engineering Zeit:

Qualifikationsbereich: Application Engineering Zeit: Höhere Fachprüfung ICT-Manager Musterprüfung 2015 Höhere Fachprüfung ICT-Manager Muster KAF Zeit: Die Lösungen sind auf diese Arbeitsblätter zu schreiben. Es werden nur die Lösungen auf den Arbeitsblättern

Mehr

Installation & Konfiguration AddOn Excel Export Restriction

Installation & Konfiguration AddOn Excel Export Restriction Installation & Konfiguration AddOn Excel Export Restriction Spezifische Vergabe von Excel-Export Rechten Version 5.1.0 für Microsoft Dynamics CRM 2011 Datum 11. November 2014 Inhalt 1. Ausgangslage...

Mehr

Acceptor-Connector. Acceptor-Connector

Acceptor-Connector. Acceptor-Connector Acceptor-Connector Das Acceptor-Connector Pattern trennt den Verbindungsaufbau zwischen zwei Peer-Services und der Verarbeitung, welche bei bestehender Verbindung durchgeführt wird. Kontext Ein Netzwerksystem

Mehr

Sonstige Marktregeln Gas

Sonstige Marktregeln Gas Sonstige Marktregeln Gas Kapitel 7 Elektronischer Austausch von Netzabrechnungsdaten Marktregeln Gas 2013 Version 1.0 Dokument-Historie Version Release Veröffentlichung Inkrafttreten Anmerkungen 1 0 20.09.2013

Mehr

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden. In einer Website haben Seiten oft das gleiche Layout. Speziell beim Einsatz von Tabellen, in denen die Navigation auf der linken oder rechten Seite, oben oder unten eingesetzt wird. Diese Anteile der Website

Mehr

Installationsanleitung Maschinenkonfiguration und PP s. Release: VISI 21 Autor: Anja Gerlach Datum: 18. Dezember 2012 Update: 18.

Installationsanleitung Maschinenkonfiguration und PP s. Release: VISI 21 Autor: Anja Gerlach Datum: 18. Dezember 2012 Update: 18. Installationsanleitung Maschinenkonfiguration und PP s Release: VISI 21 Autor: Anja Gerlach Datum: 18. Dezember 2012 Update: 18.Februar 2015 Inhaltsverzeichnis 1 Einbinden der Postprozessoren... 3 1.1

Mehr

Gemeinsam mit Book Industry Study Group, New York, und Book Industry Communication, London. ONIX for Books Supply Update Nachricht Überblick

Gemeinsam mit Book Industry Study Group, New York, und Book Industry Communication, London. ONIX for Books Supply Update Nachricht Überblick Gemeinsam mit Book Industry Study Group, New York, und Book Industry Communication, London ONIX for Books Supply Update Nachricht Überblick Version 1.0 August 2006 Copyright 2006 EDItEUR Limited. Alle

Mehr

teischl.com Software Design & Services e.u. office@teischl.com www.teischl.com/booknkeep www.facebook.com/booknkeep

teischl.com Software Design & Services e.u. office@teischl.com www.teischl.com/booknkeep www.facebook.com/booknkeep teischl.com Software Design & Services e.u. office@teischl.com www.teischl.com/booknkeep www.facebook.com/booknkeep 1. Erstellen Sie ein neues Rechnungsformular Mit book n keep können Sie nun Ihre eigenen

Mehr

SharePoint Demonstration

SharePoint Demonstration SharePoint Demonstration Was zeigt die Demonstration? Diese Demonstration soll den modernen Zugriff auf Daten und Informationen veranschaulichen und zeigen welche Vorteile sich dadurch in der Zusammenarbeit

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

Anwendungsbeispiele Sign Live! Secure Mail Gateway

Anwendungsbeispiele Sign Live! Secure Mail Gateway Anwendungsbeispiele Sign Live! Secure Mail Gateway Kritik, Kommentare & Korrekturen Wir sind ständig bemüht, unsere Dokumentation zu optimieren und Ihren Bedürfnissen anzupassen. Ihre Anregungen sind uns

Mehr

Content Management System. «Rainbow Basis» Grundlagen. Einfache Kursverwaltung

Content Management System. «Rainbow Basis» Grundlagen. Einfache Kursverwaltung Content Management System «Rainbow Basis» Grundlagen Einfache Kursverwaltung Author(en): Christoph Streit Reviewer(s): Monika Koch Abgenommen durch: Interprisma GmbH Status: Abgenommen Version: 1.0 Datum:

Mehr

Benutzerkonto unter Windows 2000

Benutzerkonto unter Windows 2000 Jeder Benutzer, der an einem Windows 2000 PC arbeiten möchte, braucht dazu ein Benutzerkonto. Je nach Organisation des Netzwerkes, existiert dieses Benutzerkonto auf der lokalen Workstation oder im Active

Mehr

Installation Wawi SQL in Verbindung mit Microsoft SQL Server 2008 R2 Express with management Tools

Installation Wawi SQL in Verbindung mit Microsoft SQL Server 2008 R2 Express with management Tools Installation Wawi SQL in Verbindung mit Microsoft SQL Server 2008 R2 Express with management Tools Im nachfolgenden Dokument werden alle Einzelschritte aufgeführt, die als Voraussetzung für die korrekte

Mehr

Handbuch zum Excel Formular Editor

Handbuch zum Excel Formular Editor Handbuch zum Excel Formular Editor Mit diesem Programm können Sie die Zellen von ihrer Excel Datei automatisch befüllen lassen. Die Daten können aus der Coffee Datenbank, oder einer weiteren Excel Datendatei

Mehr

Kurzanleitung GigaMove

Kurzanleitung GigaMove Kurzanleitung GigaMove Dezember 2014 Inhalt Kurzerklärung... 1 Erstellen eines neuen Benutzerkontos... 2 Login... 5 Datei bereitstellen... 6 Bereitgestellte Datei herunterladen... 6 Datei anfordern...

Mehr

P030 The Open Group Architecture Framework (TO-GAF) als Unternehmensarchitektur Methode für die Bundesverwaltung

P030 The Open Group Architecture Framework (TO-GAF) als Unternehmensarchitektur Methode für die Bundesverwaltung Eidgenössisches Finanzdepartement EFD Informatiksteuerungsorgan des Bundes ISB P030 The Open Group Architecture Framework (TO-GAF) als Unternehmensarchitektur Methode für die Bundesverwaltung Klassifizierung:

Mehr

Generelle Einstellungen

Generelle Einstellungen Wie in fast jedem Programm sind auch in work4all ganz grundlegende Einstellungen und Programm- Anpassungen möglich. In diesem Kapitel gehen wir auf die verschiedenen Konfigurationsmöglichkeiten innerhalb

Mehr

Testplan. Hochschule Luzern Technik & Architektur. Software Komponenten FS13. Gruppe 03 Horw, 16.04.2013

Testplan. Hochschule Luzern Technik & Architektur. Software Komponenten FS13. Gruppe 03 Horw, 16.04.2013 Software Komponenten FS13 Gruppe 03 Horw, 16.04.2013 Bontekoe Christian Estermann Michael Moor Simon Rohrer Felix Autoren Bontekoe Christian Studiengang Informatiker (Berufsbegleitend) Estermann Michael

Mehr

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH MORE Profile Pass- und Lizenzverwaltungssystem erstellt von: Thorsten Schumann erreichbar unter: thorsten.schumann@more-projects.de Stand: MORE Projects GmbH Einführung Die in More Profile integrierte

Mehr

Standard XPersonenstand - Version 1.4.3 - Verbindliche Handlungsanweisungen

Standard XPersonenstand - Version 1.4.3 - Verbindliche Handlungsanweisungen Standard XPersonenstand - Version 1.4.3 - Verbindliche Handlungsanweisungen Stand: 19. September 2013 1 Mit diesem Dokument werden verbindliche Handlungsanweisungen für die Implementierung des Standards

Mehr

1 Einleitung. Lernziele. Symbolleiste für den Schnellzugriff anpassen. Notizenseiten drucken. eine Präsentation abwärtskompatibel speichern

1 Einleitung. Lernziele. Symbolleiste für den Schnellzugriff anpassen. Notizenseiten drucken. eine Präsentation abwärtskompatibel speichern 1 Einleitung Lernziele Symbolleiste für den Schnellzugriff anpassen Notizenseiten drucken eine Präsentation abwärtskompatibel speichern eine Präsentation auf CD oder USB-Stick speichern Lerndauer 4 Minuten

Mehr

Dokumentation Goobi-Plugin

Dokumentation Goobi-Plugin Dokumentation Goobi-Plugin für einen Import mittels SRU 1 Dokumentation Goobi-Plugin Technische Dokumentation für ein Goobi-Plugin zum Import von Katalogdaten via SRU für die Humboldt- Universität zu Berlin

Mehr

P028 Richtlinien des Bundes für die Gestaltung von barrierefreien

P028 Richtlinien des Bundes für die Gestaltung von barrierefreien Eidgenössisches Finanzdepartement EFD Informatiksteuerungsorgan des Bundes ISB P028 Richtlinien des Bundes für die Gestaltung von barrierefreien Internetangeboten Klassifizierung: Typ: Nicht klassifiziert

Mehr

GRAF-SYTECO. Handbuch. Zeichensatzgenerator für AT-Geräte. Erstellt: November 2004. SYsteme TEchnischer COmmunikation

GRAF-SYTECO. Handbuch. Zeichensatzgenerator für AT-Geräte. Erstellt: November 2004. SYsteme TEchnischer COmmunikation GRAF-SYTECO Handbuch Zeichensatzgenerator für AT-Geräte Dokument: Status: H165A0 Freigegeben Erstellt: November 2004 SYsteme TEchnischer COmmunikation GRAF-SYTECO Gmbh & Co.KG * Kaiserstrasse 18 * D-78609

Mehr

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version 2.0.1 Deutsch 01.07.2014

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version 2.0.1 Deutsch 01.07.2014 Konfiguration VLAN's Version 2.0.1 Deutsch 01.07.2014 In diesem HOWTO wird die Konfiguration der VLAN's für das Surf-LAN der IAC-BOX beschrieben. Konfiguration VLAN's TITEL Inhaltsverzeichnis Inhaltsverzeichnis...

Mehr

10.3.1.9 Übung - Konfigurieren einer Windows Vista-Firewall

10.3.1.9 Übung - Konfigurieren einer Windows Vista-Firewall 5.0 10.3.1.9 Übung - Konfigurieren einer Windows Vista-Firewall Drucken Sie diese Übung aus und führen Sie sie durch. In dieser Übung werden Sie erfahren, wie man die Windows Vista-Firewall konfiguriert

Mehr