Basierend auf dem Feedback aus der Community hat das Projektteam das openCost Schema in den letzten Monaten auf Herz und Nieren geprüft und einige Anpassungen und Verbesserungen vorgenommen.

Attributlose Variante

Aus der Community kam wiederholt die Frage auf, ob das openCost-Schema alternativ auch im JSON-Format darstellbar ist. Bisher stand diesem Wunsch die Verwendung von XML-Attributen in der Definition des ursprünglichen openCost-Vorschlags entgegen, da Attribute nicht eindeutig auf JSON-Strukturen abbildbar sind. Nun wurde das openCost Schema in einer attributlosen Version neu modelliert. Anstelle von XML-Attributen werden nun type/value-Element-Kombinationen verwendet. Das Projektteam hat sich nach Abwägung aller Vor- und Nachteile bewusst für diese Variante entschieden, um eine einfache Übersetzung in andere Formate zu ermöglichen.

Weitere Anpassungen am Schema

Neben der Umstellung auf ein attributloses Schema hat das Projektteam weitere Anpassungen vorgenommen:

  • Leere Elemente sind nicht zulässig: Immer, wenn ein Element als obligatorisch angegeben ist, muss es entweder ein anderes Element oder Text enthalten. Ob ein Element obligatorisch ist, kann aus der Dokumentation (Tabelle, Spalte „Required“) ersehen werden.
  • Die Reihenfolge mehrfach vorkommender Elemente ist nun beliebig. In der Dokumentation zeigt die Tabellenspalte „Repeatable“ an, ob ein Element mehrmals vorkommen kann.
  • Erweiterung um eine ‚group_id‘: Durch die Definition einer ‚group_id‘ kann eine Publikation (Element: ‚publication‘) nun mit einer Reihe von Rechnungen aus einem Vertrag (Element: ‚contract‘) verknüpft werden. Die ‚group_id‘ ist frei wählbar. Das openCost Team empfiehlt jedoch die Verwendung eines eindeutigen und einmaligen Identifiers. Ein möglicher Ansatz ist die Verwendung einer Kombination aus der ROR-ID der Einrichtung, der primären Kennung des Vertrags und einer Jahreszahl.
  • Alle Begrifflichkeiten wurden vereinheitlicht.

Ausgeweitete Dokumentation

Die Schema Dokumentation auf GitHub wurde deutlich ausgeweitet. So gibt es eine einführende Übersicht mit allgemeinen Informationen zum Metadatenschema (Metadata Schema: Overview). Daneben werden die beiden Hauptelemente (‚publication‘ und ‚contract‘) sowohl in einer baumartigen Übersicht als auch in einer detaillierteren Tabelle beschrieben. Die Tabelleneinträge sind mit den Baumelementen über eine Identifikationsnummer verbunden. In der Tabellenspalte „Description/Remarks“ sind Bemerkungen zu den jeweiligen Feldern des Schemas hinterlegt.