Print (SP-Tag)

Aus SiteparkWiki
(Weitergeleitet von Sp:print)
Zur Navigation springen Zur Suche springen

Name

<sp:print> - Ausgabe-Tag

Syntax

 <sp:print name="variable" encoding="html"/>

Beschreibung

Der Print-Tag dient zur Ausgabe von Texten, Expression sowie Daten und Zahlen in beliegen Formaten.

Attribute

Name Type Required Default ab IES Version
name Attribute Ja oder text, condition bzw. expression None 1
text Text Ja oder name, condition bzw. expression None 1
expression Expression Ja oder name, condition bzw. text None 1
condition Condition Ja oder name, expression bzw. text None 2.0.3.31
default Text Nein None 1
convert Text Nein None 2.1.0
encoding Text Nein None 1
decoding Text Nein None 2
encrypt Text Nein None 1
decrypt Text Nein None 2
cryptkey Text Nein None
locale Locale Nein None 1
dateformat Text Nein None 1
decimalformat Text Nein None 1
arg Expression Nein None 2.0.3
name
Attribut das ausgegeben werden soll (Siehe „Attribute“).
text
Alternative zu name (Siehe „Text“).
expression
Alternative zu name (Siehe „Expression“).
condition
Alternative zu name (Siehe „Condition“).
default
Auszugebender Default-Wert, wenn das Ergebnis von name bzw. text bzw. expression leer ist.
convert (ab Version 2.1.0)
Konvertiert die auszugebende Zeichenkette mit dem angegebenen Konverter. Es ist möglich eine kommaseparierte Liste von Konvertern anzugeben, die nacheinander ausgeführt werden. Gültige Werte sind:
html2text
Wandelt HTML in reinen Text um und versucht das Erscheinungsbild des Textes so gut wie möglich beizubehalten (Z.B. bei Tabellen)
wiki2html
Erzeugt aus einer Wiki-Text Syntax HTML. Weitere Informationen über Wiki-Text finden sie hier: [1]
html2wiki
Erzeugt aus HTML-Daten entsprechenden Wiki-Text. Weitere Informationen über Wiki-Text finden sie hier: [2]
encoding
Encodiert die auszugebende Zeichenkette mit dem angegebenen Encoding. Es ist möglich eine kommaseparierte Liste von Encodings anzugeben, die nacheinander ausgeführt werden. Gültige Werte sind:
none
kein encoding
html
encoded HTML-Text
< zu &lt;
> zu &gt;
' zu &#039;
" zu &#034;
& zu &amp;
wird z.B. verwendet um value-Attribute in Formularen zu füllen
xml
encoded XML-Text
< zu &lt;
> zu &gt;
' zu &apos;
" zu &quot;
& zu &amp;
und alle Zeichen außerhalb des 7-Bit ASCII-Zeichensatzes
script
encoded für JavaScript, JSP, o.ä (escaped \n, \r, " und ')
\ zu \\ (Ab Version 2.0.3)
' zu \'
" zu \"
\n zu \\n
\r zu \\r
php (ab Version 2.1.0.44)
encoded für PHP (escaped \n, \r, $, " und ')
\ zu \\
' zu \'
" zu \"
$ zu \$
\n zu \\n
\r zu \\r
php;[KEY=VALUE;KEY=VALUE;...] (ab Version 2.12.22)
Derzeit wird nur der KEY 'ignore' aktzeptiert, um zu definieren, welche Werte NICHT encodiert werden sollen! Mögliche Werte für den KEY 'ignore' sind:
backslash
singleQuote
doubleQuote
carriageReturn
newLine
backspace
tab
dollar
Beispiel:
php;ignore=singleQuote;ignore=newLine


url
encoded eine URL (entsprechend dem Charset des Publishers)
url; charset=latin1
encoded eine URL (mit dem übergebenen Charset)
entity
encoded alle Entitäten (jedes Zeichen wird zu seinem Entitäts-Pendant)
z.B.
A zu &#65;
[SPACE] zu &#32;
plain
encoded <, > und Zeilenenden (\n, \r, \r\n)
< zu &lt;
> zu &gt;
\n zu <br> oder <br/>\n
\r\n zu <br> oder <br/>\r\n
ascii
encoded Windows-Sonderzeichen nach ASCII
path
encoded einen Verzeichnisnamen
filename
encoded einen Dateinamen
wikitext (ab Version 2.0.3)
Erzeugt ein Wiki-Text Syntax HTML. Weitere Informationen über Wiki-Text finden sie hier: [3]
Deprecated (ab Version 2.1.0) wikitext ist kein encoding, sondern eine Konvertierung und sollte jetzt über das Attribut convert und dem Wert wiki2html verwendet werden
base64 (ab Version 2.0.1)
encoded nach BASE64
base64NotChunked (ab Version 2.8)
encoded nach BASE64, fügt aber keine Zeilenumbrüche hinzu
hex (ab Version 2.0.1)
encoded nach HEX. Hierbei wird jedes Zeichen in eine Zahl umgewandelt und dessen Hex-Wert ausgegeben
escff (ab Version 2.0.3.26)
encodet alle Zeichen mit einem Byte-Wert kleiner als 128 in einen Hex-Wert, beginnend mit einem Doppelpunkt (:). Dieses Encoding wird dazu verwendet, von sp:form erzeugte Formularfelder zu encoden, wenn das Formular an eine PHP-Seite gesendet wird. Dieses Encoding ist kein Standardencoding, sondern eine proprietäre Entwicklung von Sitepark.
decoding
Decodiert die auszugebende Zeichenkette mit dem angegebenen Encoding. Es ist möglich eine kommaseparierte Liste von Encodings anzugeben, die nacheinander ausgeführt werden. Gültige Werte sind:
none
kein decoding
xml
decoded XML-Text
&lt; zu <
&gt; zu >
&apos; zu '
&quot; zu "
&amp; zu &
url
decoded eine URL (entsprechend dem Charset des Publishers)
base64
decoded eine BASE64 encodete Zeichenkette
escff (ab Version 2.0.3.26)
decodet die mit dem escff-encoding encodierten Zeichenketten.
encrypt
Encryptet die auszugebende Zeichenkette mit dem angegebenen Crypt-Algorithmus. Es ist möglich eine kommaseparierte Liste von Crypt-Algorithmen anzugeben, die nacheinander ausgeführt werden. Gültige Werte sind
3des
Triple DES Crypting Algorithmus
aes
AES Algorithmus
unixcrypt
UNIX-Crypt Algorithmus
md5
MD5 Algorithmus
sha
SHA Algorithmus
decrypt
Decryptet die auszugebende Zeichenkette mit dem angegebenen Crypt-Algorithmus. Es ist möglich eine kommaseparierte Liste von Crypt-Algorithmen anzugeben, die nacheinander ausgeführt werden. Gültige Werte sind
3des
Triple DES Crypting Algorithmus
aes
AES Algorithmus
cryptkey
Der bei 3DES bzw. AES zu verwendene Schlüssel. Wird keiner angegeben, wird der IES-Default-Key verwendet.


locale
Dieses Attribut dient zur Auswahl der zu verwendende Sprache bei mehrsprachiger Variablen.
dateformat
Angaben zur Datumsformatierung. Um für die Formatierung die gewünschte Sprache zu erhalten, bestehen folgende Möglichkeiten:
  • Die Angabe einer Sprache über das locale-Attribut dieses Tags. Dies hat aber auch Einfluss auf die in name angegebenen Variablen.
  • Übername des Locals des aktiven Publishers. Wird das locale-Attribut nicht verwendet, wird das Locale des aktiven Publishers verwendet. Ist kein Publisher aktiv (in-Modus) oder wurde im Publisher kein Locale angegeben, wird das default-Locale des Systems verwendet (im Regelfall de_DE).
  • Angabe eines Locale in der Formatdefinition. In der Formatdefinition kann unabhängig von allen sonst definierten Formaten nur für dieses Format ein Locale angegeben werden. Dazu muss nach der Formatdefinition, mit einem Pipe-Zeichen (|) getrennt, das Locale angegeben werden:
    dd.MM.yyyy HH:mm|en
    
decimalformat
Angaben zur Dezimalformatierung. Um für die Formatierung die gewünschte Sprache zu erhalten, bestehen folgende Möglichkeiten:
  • Die Angabe einer Sprache über das locale-Attribut dieses Tags. Dies hat aber auch Einfluss auf die in name angegebenen Variablen.
  • Übername des Locals des aktiven Publishers. Wird das locale-Attribut nicht verwendet, wird das Locale des aktiven Publishers verwendet. Ist kein Publisher aktiv (in-Modus) oder wurde im Publisher kein Locale angegeben, wird das default-Locale des Systems verwendet (im Regelfall de_DE).
  • Angabe eines Locale in der Formatdefinition. In der Formatdefinition kann unabhängig von allen sonst definierten Formaten nur für dieses Format ein Locale angegeben werden. Dazu muss nach der Formatdefinition mit einem Pipe-Zeichen (|) getrennt, das Locale angegeben werden:
    ##.00|en
    
    Hinweis: Bis Version 2.0.2 wurde der Doppelpunkt als Trennzeichen verwendet. Da dateformat diese Funktion ab Version 2.0.3 auch besitzt konnte der Doppelpunkt nicht mehr verwendet werden, da dieser Teil der Format-Definition sein kann. Aus diesem Grund wurde der Doppelpunkt als Locale-Trennzeichen als deprecated deklariert.
arg (ab Version 2.0.3)
Mit diesem Attribut werden Werte für eine Formatierung im StringFormat angegeben. Für dieses Attribut gilt der Sonderfall, dass mehrere Werte in einzelnen arg-Attributen angegeben werden. Es ist also möglich mehrere Attribute arg in diesem Tag anzugeben. Diese Formatierung wird durchgeführt, wenn mindestens ein arg-Attribut angegeben wurde. Diese Formatierung wird nach allen anderen Formatierungen (deciamlformat, numberformat), de- und encodings und de- und encrypting durchgeführt. Die ermittelte Zeichenkette wird zusammen mit den übergebenen Argumenten in den arg-Attributen nach den Regeln des StringFormats formatiert. Zu beachten gilt, dass die arg-Argumente eine Expression erwartet. Zahlen können direkt übergeben werden. Zeichenketten müssen in ' gefasst werden
<sp:print text="Eine Zahl %d. Ein Wort %s" arg="3" arg="'Wort'"/>

Beispiele

Ausgabe einer Variablen

Template Quelltext

Nicht definierte Variablen liefern: <sp:print name="var"/><br>
Sie können aber einen Default-Wert haben: <sp:print name="var" default="Hallo"/>

Ausgabe

Nicht definierte Variablen liefern:
Sie können aber einen Default-Wert haben: Hallo

Ausgabe einer Expression

Template Quelltext

<sp:set name="x" value="7"/>
<sp:set name="y" value="12"/>
<%--
  Auf Variablen greift man mit ${} zu
--%>
Der Print-Tag kann auch rechnen:
(7 + 12) * 2 - 3 = <sp:print expression="(${x} + ${y}) * 2 - 3"/>

Ausgabe

Der Print-Tag kann auch rechnen:
(7 + 12) * 2 - 3 = 35