Startseite / Vorlagenentwicklung / Vorlagensyntax / Datentypen / DomElement

Datentyp DomElement

Wertebereich des Datentyps DomElement

Einige FirstSpirit Eingabekomponenten speichern Werte strukturiert in der Auszeichnungssprache XML ab. Dies ist notwendig, da einige Inhalte besondere Auszeichnungen, Hervorhebungen und Informationen für bestimmte Teile enthalten können.

Um die so gespeicherte Inhalte auszugeben oder weiter zu verarbeiten, liefern diese Eingabekomponenten ein Objekt vom Datentyp DomElement zurück.

CMS_INPUT_DOM

Weitere Informationen zum Datentyp DomElement siehe API-Dokumentation: de.espirit.firstspirit.access.editor.value.DomElement

Definition über die Standard-Eingabekomponenten

Im Formularbereich einer Seiten- oder Absatzvorlage können unterschiedliche Eingabekomponenten definiert werden. Über diese Formularelemente können dann die eigentlichen redaktionellen Inhalte in die Seite einfügen werden. Die von FirstSpirit unterstützten Standard-Eingabekomponenten liefern unterschiedliche Datentypen zurück.

Die folgenden Standard-Eingabekomponenten liefern ein Objekt vom Datentyp DomElement zurück:

Auf diesem Objekt lassen sich dann mithilfe einer $CMS_VALUE(...)$-Anweisung Methoden anwenden:

$CMS_VALUE(BEZEICHNER.METHODE)$

Unter BEZEICHNER muss der Parameter resultname, der in der Eingabekomponente definiert wurde, angegeben werden.

Methoden auf DomElement-Objekten

In der unten angegebenen Tabelle werden alle Methoden aufgelistet, die auf Objekten vom Datentyp DomElement aufgerufen werden können:

Objekt wird von folgenden Formular-Objekten erzeugt:
CMS_INPUT_DOM
Methodenname Rückgabetyp Kurzbeschreibung Verfügbar seit
addChangeListener(ValueChangeListener) void Register a change listener. 4.0.17
adopt(DomElement) void Adopts all values from the given element. 4.0.17
diff(Element) Element Compute a difference between this element and the given one. 4.0
equals(Object) boolean
get Element Returns root element. 4.0.17
getClass Class Klasse des aufrufenden Objektes
getRoot DefaultDomNode Returns root node (DOM) 4.2.15
isCase(Object) boolean
isEmpty boolean Prüft, ob ein Ausdruck leer ist 4.0.17
isNull boolean Prüft, ob ein Ausdruck Null ist
normalize DomElement HTML-konforme Ausgabe von Listen und Tabellen 5.1.300
parseHtml(String) void Sets the given html. 4.0.17
print void
removeChangeListener(ValueChangeListener) void Unregister a change listener. 4.0.17
renderToString String Element als Zeichenkette ausgeben - berechnungsintensiv! 4.0.0
set(Element) void Sets root element. 4.0.17
set(String) void Sets the given xml. 4.0.17
set(String, Object) Object
toJSON String Convert to a JSON-compatible string representation including necessary quotes and escaping for immediate use. Handles Maps, Collections, Arrays, Numbers, Strings, Boolean, Date, and JsonElement. A date instance will be converted to an ISO-8601 formatted date string. Any object other than above will be converted using its 'toString()' value. 5.2.11
toString String
toText(boolean) String Returns html (asHtml==true) or plain text (asHtml==false). 4.0.17
type String

addChangeListener(ValueChangeListener)

Register a change listener.
Methodenname Rückgabetyp Verfügbar seit
addChangeListener(ValueChangeListener) void 4.0.17

adopt(DomElement)

Adopts all values from the given element.
Methodenname Rückgabetyp Verfügbar seit
adopt(DomElement) void 4.0.17

diff(Element)

Compute a difference between this element and the given one.
Methodenname Rückgabetyp Verfügbar seit
diff(Element) Element 4.0

equals(Object)

Methodenname Rückgabetyp Verfügbar seit
equals(Object) boolean

get

Returns root element.
Methodenname Rückgabetyp Verfügbar seit
get Element 4.0.17

getClass

Die Methode .getClass() (in Bean-Syntax: .class) liefert die Klasse des aufrufendes Objektes zurück (vgl. java.lang.Class).

Aufruf:

$CMS_VALUE(myString.class)$
$CMS_VALUE(myString.getClass())$

Ausgabe:

java.lang.String
Methodenname Rückgabetyp Verfügbar seit
getClass Class

getRoot

Returns root node (DOM)
Methodenname Rückgabetyp Verfügbar seit
getRoot DefaultDomNode 4.2.15

isCase(Object)

Methodenname Rückgabetyp Verfügbar seit
isCase(Object) boolean

isEmpty

Die Methode .isEmpty() (in Bean-Syntax: .isEmpty) prüft, ob ein Ausdruck bzw. Objekt leer ist, z. B. storeElement.isEmpty(). Das Ergebnis der semantischen Prüfung hängt vom Ausdruck bzw. Objekt ab, z. B. eine Zeichenkette ist dann leer, wenn sie kein Zeichen enthält. Bei Objekten mit komplexen Werten oder Objekten entscheidet das Objekt, wann es leer ist. Der Datentyp DomElement enthält beispielsweise immer ein leeres Dokument, ist also nie null. Die Prüfung einer leeren DOM-Editor-Eingabekomponente mit der Methode .isNull() liefert daher den Wert false, während die Prüfung der Komponente auf .isEmpty() den Wert true liefern würde.

Die Methode .isEmpty() gibt einen booleschen Wert als Ergebnis der Prüfung zurück. true (=wahr) ist die Prüfung, wenn der Ausdruck bzw. das Objekt leer ist und false (=unwahr) wenn nicht.

Methodenname Rückgabetyp Verfügbar seit
isEmpty boolean 4.0.17

isNull

Die Methode .isNull() (in Bean-Syntax: .isNull) prüft, ob ein Ausdruck bzw. Objekt Null ist, z. B. storeElement.isNull(). Bei Objekten mit komplexen Werten oder Objekten entscheidet das Objekt, wann es null ist. Der Datentyp DomElement enthält beispielsweise immer ein leeres Dokument, ist also nie null. Die Prüfung einer leeren DOM-Editor-Eingabekomponente mit der Methode .isNull() liefert daher den Wert false, während die Prüfung der Komponente auf .isEmpty() den Wert true liefern würde.

Die Methode .isNull() gibt einen booleschen Wert als Ergebnis der Prüfung zurück. true (=wahr) ist die Prüfung, wenn der Ausdruck bzw. das Objekt Null ist und false (=unwahr) wenn nicht.

Methodenname Rückgabetyp Verfügbar seit
isNull boolean

normalize

Neben der Erfassung und Formatierung von Fließtext kann die Eingabekomponente CMS_INPUT_DOM auch für die Erzeugung und Pflege von Listen und Tabellen verwendet werden.

Der Inhalt eines DOM-Editors wird strukturiert in Paragraphen. Die Darstellung eines Paragraphen erfolgt durch eine Formatvorlage. Dabei muss es sich um eine "Absatzformatvorlage" handeln ("Absatzformatierung", siehe Seite Formatvorlagen im Grundlagen-Kapitel). Diese Formatvorlage definiert neben der Darstellung im Editor auch die Ausgabe des Inhalts, der im DOM-Editor mit dieser Formatvorlage ausgezeichnet ist. Standardmäßig, das heißt für den Fall, in dem

  • der Redakteur keine bestimmte Formatvorlage auswählt oder
  • im Formular keine Absatzformatvorlage über die Tags FORMATS / TEMPLATE definiert ist

handelt es sich dabei um die Formatvorlage "Standard". Die Ausgabe erfolgt standardmäßig mit <p>-Tags, die den Inhalt eines Absatzes im DOM-Editor umschließen, also z. B.

<p>Dies ist ein <b>formatierter</b> Text.</p>

Je nach gewählter Formatvorlage können es aber auch andere Tags sein.

Auch im Falle von Listen und Tabellen werden Ein- und Ausgabe über die gewählte Absatzformatvorlage geregelt. Wird die Formatvorlage "Standard" für eine Liste oder Tabelle gewählt, wird die Ausgabe ebenfalls standardmäßig von <p>-Tags umschlossen.

Da ein <p>-Element als Blockelement gemäß HTML-Spezifikation keine weiteren Blockelemente (Listen, Tabellen) enthalten darf, kann ab FirstSpirit-Version 5.1R3 mithilfe der Methode .normalize die Ausgabe von CMS_INPUT_DOM so konfiguriert werden, dass Listen und Tabellen nicht von anderen Tags, die durch die für die Liste oder die Tabelle gültige Absatzformatvorlage erzeugt werden, umschlossen werden.

Beispiel:

$CMS_VALUE(pt_dom.normalize)$

Dabei ist pt_dom der Bezeichner für eine CMS_INPUT_DOM-Eingabekomponente.

Ohne Verwendung von .normalize können Listen und Tabellen in der HTML-Ausgabe von Tags umschlossen sein, das aus der gewählten Absatzformatvorlage stammt, z. B.

<p>Fließtext</p>
<p>Fließtext</p>
<p>
<ul>
<li>Listenelement 1</li>
<li>Listenelement 2</li>
<li>Listenelement 3</li>
</ul>
</p>
<p>Fließtext</p>

Mit Verwendung von .normalize werden Listen und Tabellen in der Ausgabe nicht von Tags umschlossen, die aus der gewählten Absatzformatvorlage stammen, z. B.

<p>Fließtext</p>
<p>Fließtext</p>
<ul>
<li>Listenelement 1</li>
<li>Listenelement 2</li>
<li>Listenelement 3</li>
</ul>
<p>Fließtext</p>
Methodenname Rückgabetyp Verfügbar seit
normalize DomElement 5.1.300

parseHtml(String)

Sets the given html.
Methodenname Rückgabetyp Verfügbar seit
parseHtml(String) void 4.0.17

print

Methodenname Rückgabetyp Verfügbar seit
print void

removeChangeListener(ValueChangeListener)

Unregister a change listener.
Methodenname Rückgabetyp Verfügbar seit
removeChangeListener(ValueChangeListener) void 4.0.17

renderToString

Die Methode .renderToString() (in Bean-Syntax: .renderToString) gibt ein DOM-Element als Zeichenkette aus. Dies ist notwendig, da die Daten z.B. in der Eingabekomponente DOM strukturiert als XML gespeichert werden. Beim Rendern des XMLs der Eingabekomponente werden dann die einzelnen Formatvorlagen angewendet.

Wichtig Der Inhalt eines DOM-Elementes kann potentiell sehr groß sein. Weiterhin können beim Rendern viele Formatvorlagen angewendet werden. Beides ist sehr berechnungsintensiv und daher sollte die Methode renderToString nur im Ausnahmefall verwendet werden.
Methodenname Rückgabetyp Verfügbar seit
renderToString String 4.0.0

set(Element)

Sets root element.
Methodenname Rückgabetyp Verfügbar seit
set(Element) void 4.0.17

set(String)

Sets the given xml.
Methodenname Rückgabetyp Verfügbar seit
set(String) void 4.0.17

set(String, Object)

Methodenname Rückgabetyp Verfügbar seit
set(String, Object) Object

toJSON

Convert to a JSON-compatible string representation including necessary quotes and escaping for immediate use. Handles Maps, Collections, Arrays, Numbers, Strings, Boolean, Date, and JsonElement. A date instance will be converted to an ISO-8601 formatted date string. Any object other than above will be converted using its 'toString()' value.
Methodenname Rückgabetyp Verfügbar seit
toJSON String 5.2.11

toString

Methodenname Rückgabetyp Verfügbar seit
toString String

toText(boolean)

Returns html (asHtml==true) or plain text (asHtml==false).
Methodenname Rückgabetyp Verfügbar seit
toText(boolean) String 4.0.17

type

Methodenname Rückgabetyp Verfügbar seit
type String

© 2005 - 2024 Crownpeak Technology GmbH | Alle Rechte vorbehalten. | FirstSpirit 2024.2 | Datenschutz