XSL-Transformationen
Für Print und Vorschau gibt es Transformationen, um aus dem internen "Roh-XML" HTML zu erzeugen. Im Gegensatz zum Export-XML sind die Inhalte nicht in CData-Sections eingeschlossen und die Inline-Formatierungen noch in Originalform. (also z.B. ** statt <b>).
Es können 3 Transformationen festgelegt werden, die der Code dann an unterschiedlichen Stellen nutzt:
default-transformation
kiss-transformation
narrow-transformation
print-transformation
Momentan wird "narrow" für die Artikelsuche bei Artikelverweisen genutzt, "default" für die Vorschau der Artikelverweise selbst und für die Vorschau-Kachel in der Erweiterten Suche. Für die Vorschau-Kachel ist eigentlich auch "narrow" geplant (vgl. https://hup-company.atlassian.net/browse/CONS-307).
"kiss" wird im Tooldialog für die Vorschau der von KISS-Aktionen erzeugten Artikel verwendet.
In der Druckvariante kann die Absatzstruktur mit übergeben werden (default: false). Konfigurationsbeispiel:
article preview: preview-html-provider: html-transformations: default-transformation: ${spring.cloud.config.uri}/${spring.application.name}/${spring.profiles.active}/${spring.cloud.config.label}/xsl/ArticleXml2Html.xsl kiss-transformation: ${spring.cloud.config.uri}/${spring.application.name}/${spring.profiles.active}/${spring.cloud.config.label}/xsl/kissArticleXml2Html.xsl narrow-transformation: ${spring.cloud.config.uri}/${spring.application.name}/${spring.profiles.active}/${spring.cloud.config.label}/xsl/narrowArticleXml2Html.xsl print-transformation: ${spring.cloud.config.uri}/${spring.application.name}/${spring.profiles.active}/${spring.cloud.config.label}/xsl/narrowArticleXml2Html_Print.xsl provider-parameters: print: convert-line-break-to-paragraph: true download: convert-line-break-to-paragraph: false
Die Transformationen sind jetzt ( Mar 27, 2023 ) für alle Installationen "gleich" eingecheckt (Abweichungen im nächsten Abschnitt):
WoAnz, DNT, FLZ, OPP, OWZ, REV, SZA, VD, TK, SAGA
Abweichungen (im XSL auskommentiert oder nicht):
DNT hat kleine Abweichungen (Link-Angabe oben und unten, Clusternamen erscheinen)
Blocksatz (justify) bei WoAnz und REV
die Variable articleLinkBase ist individuell verschieden (konkrete URL des Verlags)
Besonderheiten
In der Druck-Variante funktioniert momentan das korrekte Transformieren der Absätze. Die Inline-Formatierungen werden aber in Rohform durchgereicht. Versuche zur Umsetzung scheiterten bislang daran, dass dann Sonderzeichen wie
„“–
nur noch als Fragezeichen ausgegeben wurden. Es wird noch eine Variante benötigt, in der Strukturen zur Abarbeitung an Templates übergeben werden können.
Die beiden Vorschau-Varianten sind momentan identisch. Hier funktioniert die Umsetzung der Inline-Formatierungen fett/kursiv/unterstrichen/Inline-Link - vermutlich weil nie Absätze im Eingangs-XML übergeben werden. Das versuchsweise Nutzen der Vorschau-Transformation für den Druck führt zum Ergebnis mit "defekten" Sonderzeichen (offenbar wegen der dort enthaltenen Absätze?!?).
Mit https://www.data2type.de/xml-xslt-xslfo/xslt/xslt-referenz/include könnte man vermutlich individuelle Anpassungen beim Kunden transparenter machen (kundenspezifisches XSL konfigurieren, allgemeines XSL oben inkludieren, Template-Regeln durch kundenspezifisches XSL ggf. überschreiben - bei Dopplungen gilt die letzte Regel)