Das Auslesen von Inhaltsattributen bekannter/bestimmter Inhalte ist problemlos möglich, doch wie schaut es aus, wenn vor dem Zugriff noch "Inline-Funktionen" angewendet werden sollen.
Inhaltsattribute sind mit META-Daten zu einem Inhalt (z.B. HTML-Seite, Bild- oder Mediadateien) vergleichbar. Diese werden im Regelfall von den Redakteuren im Management Server vergeben und beim Import in das Delivery Server - Projekt zu diesem Inhalt gespeichert.
Der Zugriff auf die "eigenen" Inhaltsattribute ist mehr als einfach: source="content" attribute="[ATTRIBUTPATH]" oder in Kurzschreibweise attribute="content:[ATTRIBUTPATH]".
Für den Zugriff auf die Inhaltsattribute anderer Dokumente/Dateien sind nur kleine Änderungen notwendig - hier ist ein kurzer Blick in die "Dynament-Dokumentation" lohnenswert.
(Quelle: Web Site Management Delivery Server 11.2.2 - DynaMents Guide (German).pdf)
Mit diesen Informationen ist das oben gezeigte Code-Beispiel schnell überarbeitet:
Die angeführten Beispiele funktionieren problemlos in Projekten, die keine Einschränkung der Namenseindeutigkeit von Inhalten auf Gruppenebene haben, sondern auf projektweite Eindeutigkeit setzen. In Projekten mit der Einschränkung auf Gruppenebene ist dem Inhaltsnamen auch der vollständige Pfad voranzustellen.
In meinem Anwendungsfall sollten die Inhaltsattribute von HTML-Seiten über eine einzelne XML-Datei, die aus dem Management Server publiziert wird, verarbeitet werden.
Da unterschiedliche Delivery Server - Publizierungsziele für HTML-Dateien und XML-Dateien existieren und im Delivery Server - Projekt die Namenseindeutigkeit auf Gruppenebene gesetzt wurde, passten meine "Pfade zum Inhalt" nicht mehr.
Dies lässt sich auf mehrere Arten lösen (z.B. Ereignisdefinition: Ersetzen beim Inhalts-Import oder beim Laden, Nutzen von Inline-Funktionen bei der Verarbeitung,...), da es sich bei mir um eine einzelne XML-Verarbeitungsdatei handelt habe ich mich für die "Inline-Funktion" entschieden.
Der nachfolgenden Beispiel-Code sollte "aussagekräftig genug" sein.
Anmerkung: Mit der mehrfachen Verschachtelung von Dynaments in der "Kurzschreibweise", lassen sich auch sehr komfortable "Multivalue-Attribute" aufbauen und auswerten. Innerhalb von "constrains" können diese Ausdrücke ebenfalls verwendet werden.
Holm Gehre ist seit Mitte 2017 Senior Softwareentwickler und Projektleiter bei CHEFS CULINAR und betreut dort mit seinem Team die Opentext-Plattform. Seit dem Jahr 2001 und bis Mitte des Jahres 2017 betreute und entwickelte er Opentext- (vormals RedDot-) basierte Webseiten nationaler und internationaler Kunden auf Basis von Management und Delivery Server.