Sie sind hier:

Modellierung

Datentypen und globale Elemente werden im XÖV-Fachmodell mittels UML-Klassen spezifiziert. Klasseneigenschaften, die Kindelemente der Datentypen bzw. globalen Elemente repräsentieren, werden mit dem Stereotyp "xsdElement" annotiert. Zur Bestimmung der Reihenfolge der Kindelemente in der resultierenden XML Schema-Definition erhält jedes Kindelement eine entsprechende Positionsangabe (position).
(Beispiel: Im Falle eines Datentyps "Person" mit den Kindelementen "name" (position = 1) und "geburtsdatum" (position = 2) erscheint das Element "name" in der XML Schema-Definition vor dem Element "geburtsdatum".)
Bei XML Schema-Erweiterungen leitet ein Datentyp bzw. ein globales Element von einem Basistyp ab und erbt damit unter anderem dessen Kindelemente. Stehen in diesem Fall die Positionsangaben im ableitenden Typ bzw. globalen Element in einer Beziehung mit den Positionsangaben im Basistyp?
Lösung: Die Positionsangaben gelten lokal für jede UML-Klasse. Somit werden bei einer XML Schema-Erweiterung die Positionen der Kindelemente im Kontext des Basistyps und im Kontext des ableitenden Typs bzw. globalen Elements unabhängig voneinander vergeben.
(Beispiel: Leitet der Datentyp "PersonMitAnschrift" mit dem Kindelement "anschrift" (position = 1) von dem oben genannten Datentyp "Person" per XML Schema-Erweiterung ab, sind in einer XML-Instanz des Datentyps "PersonMitAnschrift" die Elemente in der folgenden Reihenfolge zu befüllen: "name", "geburtsdatum", "anschrift". Für das Kindelement "anschrift" muss somit nicht die Position 3 vergeben werden, auch wenn es im diesem Beispiel zum selben Ergebnis führte.)
Dieses Vorgehen folgt aus der Tatsache, dass in XML-Instanzdokumenten die Gruppe der Kindelemente eines Basistyps immer vor der Gruppe der Kindelemente des ableitenden Typs bzw. globalen Elements auftreten.

Das XÖV-Profil bietet die Möglichkeit, Geschäftsregeln im XÖV-Fachmodell eines Standards zu spezifizieren und diese mittels XGenerator automatisiert in Schematron-Regeln zu überführen. Diese können als Grundlage für die Validierung von Nachrichteninstanzen des Standards genutzt werden. Detaillierte Ausführungen anhand von Beispielen finden Sie auf dieser Seite: XÖV-Methodik zur Spezifikation von Geschäftsregeln

Diese Seite liefert Beispiele und Ausführungen zum Thema: FAQ: Default- und Fixed-Werte

XGenerator

Neben der von mir genutzten Version des XGenerators sind eine Reihe weiterer Versionen veröffentlicht. Welche davon soll ich für die Produktion meines Standards nutzen?

Lösung: Die einzelnen Versionen des XGenerators haben einen direkten Bezug zu den jeweiligen Versionen des XÖV-Regelwerks. Bei der Frage nach der richtigen XGenerator-Version, sollten Sie sich also zunächst die Frage stellen, nach welcher Version des Regelwerks ihr XÖV-Standard zertifiziert werden soll. Eine Übersicht der Versionen des Regelwerks, ihrer Gültigkeiten und zugehöriger XGenerator-Versionen finden Sie unter xoev.de/de/spezifikationproduktion.

Der XGenerator untersucht das XÖV-Fachmodell eines Standards anhand der Prüfanweisungen des XÖV-Profils. Im Falle der Verletzung einer Prüfanweisung (im XGenerator "Einschränkung" genannt) verweist der XGenerator häufig auf die zugrundeliegende NDR (z. B. "... verletzt die Einschränkung 'Class.LegalBasisDocumentedForMessages'. (NDR-20)"). Wie können solche vom XGenerator genannt Probleme behoben werden?

Lösung: In Abschnitt 4.2. "XÖV-Namens- und Entwurfsregeln" des XÖV-Handbuchs sind alle NDRs (Namens- und Entwurfsregeln) im Detail erläutert. Darüber hinaus wird jeder NDR eine Verbindlichkeit (Muss, Soll, Empfehlung) zugeordnet. Mit diesen Informationen können XÖV-Vorhaben ermitteln, ob bzw. wie entsprechende vom XGenerator gemeldete Probleme behoben werden können.