ThemenfeldBildung / XHochschule

XHochschule ist ein Standardisierungsvorhaben des Landes Sachsen-Anhalt und des BMBF.
http://xhochschule.de
Other
21 stars 3 forks source link

Enumerierte Codelisten - Pro und Contra #50

Closed mrhuber71 closed 1 year ago

mrhuber71 commented 1 year ago

Creator: Mathias R. Huber; TU-Graz/CAMPUSonline Type of the organisation: CAMS-Hersteller Description: Frage und zu enumerierten Codelisten wie z.B. xhs:ArtDesHochschulabschlusses-Codes oder xhs:Studienbereich-Codes

Eine Listenreferenz ist gut (Attribute listURI und listVersionID):

      <xhs:studienbereichDESTATIS listURI="urn:xhochschule-de:destatis:codeliste:studienbereich" listVersionID="WS22">
        <code>http://xhochschule.de/def/destatis/WS22/code/studienbereich/04</code>
      </xhs:studienbereichDESTATIS>

Eine starre Enumeration der erlaubten Codes würde bei jeder Listenänderung ein (ständiges) nachziehen des Schemas bedeuten. Das bedeutet u.a. hohen Wartungsaufwand im XML-Schema. Eine alternative Lösung für eine Validierung wäre wünschenswert.

init-xhochschule commented 1 year ago

Vielen Dank für Ihren Hinweis. Uns ist bisher keine alternative Methode bekannt, die außerhalb im XML-Schema eine entsprechende Validierung der Inhalte ermöglicht. Wir sind jedoch offen für Hinweise. Viele Grüße Ihr Team von XHochschule

mrhuber71 commented 1 year ago

@XHochschuleDE " Wir sind jedoch offen für Hinweise. "

Hinweis: Wie steht es mit der Schematron-Validierung?

Hier können Code-Listen(-XMLs) importiert werden und die Daten-XMLs können in Folge auf erlaubte Einträge laut Code-Listen-XML validiert werden.

Anbei ein kleines Beispiel, welches auf das wesentliche reduziert ist (ZIP-Datei)

code-list-validation.zip

init-xhochschule commented 1 year ago

Hallo Herr Huber

Vielen Dank für Ihren wertvollen Vorschlag und das bereitgestellte Beispiel. In einem internen Meeting haben wir Ihren Lösungsansatz diskutiert und bestätigt, dass dieser funktioniert. Insbesondere schätzen wir die Möglichkeit, durch Schematron-Validierung auch externe Codelisten (Typ 2 und Typ 3 XÖV-Codelisten) zu validieren. Wir planen, dies in zukünftigen Versionen für externe Codelisten umzusetzen.

Bei intern verwalteten Codelisten von XHochschule sehen wir allerdings keinen klaren Mehrwert in der Umstellung auf Schematron. Für XHochschule und XBildung ist ein halbjährlicher Update-Zyklus mit vorgesehenen Änderungen am XML Schema geplant. Aktualisierungen der Codelisten außerhalb dieses Zyklus sind nicht vorgesehen. Da bereits regelmäßige Schema-Updates geplant sind, würde die Entkopplung von den Codelisten keinen Arbeitsaufwand einsparen und könnte sogar zu Mehraufwand für Hersteller und Hochschulen führen.

Die Nutzung von XSD-Validierung hat zudem den Vorteil, dass sie in vielen Entwicklungsumgebungen standardmäßig unterstützt wird und somit leichter umsetzbar ist. Die automatische Validierung durch XSD ermöglicht Entwicklern zudem frühzeitiges Feedback bei Fehlern und eine schnellere Fehlerbehebung. Daher halten wir es für sinnvoll, wo möglich, weiterhin XSD zur Validierung der Codelistenwerte zu nutzen.

Wir schätzen Ihre Anregung sehr, und wir möchten Ihnen versichern, dass wir für weitere Diskussionen zum Thema Schematron offen sind. Wir freuen uns auf einen fortgesetzten Dialog und auf das gemeinsame Entwickeln der bestmöglichen Lösung für alle Beteiligten.

Beste Grüße Ihr Team von XHochschule

mrhuber71 commented 1 year ago

Hallo Team der XHochschule,

danke für ihre ausführliche Antwort mit deren Begründungen.

@ halbjährlicher Update-Zyklus ... am XML Schema ... Mehraufwand für Hersteller und Hochschulen Ich denke, bei den CaMS-Herstellern und anderen Software-Herstellern wäre genau hier der Mehraufwand zu sehen.

Warum: Codelisten müssen vermutlich in jedem Software-System auf die bereits intern vorhandenen Code-Listen gemapped werden. Diese sind oftmals tabellarisch verfügbar. Wären die Code-Listen in einfacher Art und Weise zu importieren (und nicht fix in einem Schema verdrahtet) kann eine Prüfung von ebenfalls gegen diese "Code-Import-Tabellen" erfolgen. Insofern das XML-Schema stabil bleibt (Unabhängig von potentiellen Schematron-Validierungen) hielte sich der Anpassungs- bzw. "Update-Aufwand" für die CaMS-Hersteller in Grenzen, denn bei Änderung der Code-Listen müssten diese importiert werden und "nur" das CaMS-interne Mapping adaptiert werden.