OPUS4 / framework

OPUS 4 Database Implementation
Other
2 stars 7 forks source link

OPUS-XML unabhängig von Klassennamen machen #277

Open j3nsch opened 2 years ago

j3nsch commented 2 years ago

Die Elemente in OPUS-XML kommen direkt von den Klassennamen. Aus der Klasse Opus_Document wird das Element Opus_Document. Mit der Umstellung auf Namespaces müssen jetzt mit zusätzlichem Code die Backslashes in Unterstriche verwandelt werden, damit die Klasse Opus\Document immer noch das gleiche Element Opus_Document erzeugt.

Das XML sollte nicht von den Klassennamen abhängen. Das macht Änderungen an den Klassen schwierig und ist nicht notwendig.

j3nsch commented 2 years ago

Der Namespace der Klassen spielt vermutlich bereits keine Rolle. Die XML Erzeugung funktioniert also vielleicht auch mit Klassen, die in Opus\Common\Model angelegt sind. Langfristig ist es aber auf jeden Fall besser, wenn es keine direkte Abhängigkeit auf den Klassennamen gibt. Die Klassen könnten z.B. über eine getModelType Funktion, einen Namen zurück liefern, der dann für das XML verwendet wird.

Im ersten Schritt sollte die "Generierung" des Namens in eine separate Funktion ausgelagert werden, die dann später angepasst werden kann. Spätere Klassen für XML-Formate könnten zusätzlich ein konfigurierbares Mapping verwenden, um für Modelle Elementen mit anderen Namen zu erzeugen.