Allgemeine Sprachelemente: Unterschied zwischen den Versionen
Ole (Diskussion | Beiträge) |
|||
(17 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
==Kommentare== | ==Kommentare== | ||
− | |||
− | + | Kommentare innerhalb von Templates werden mit <%-- eingeleitet und mit --%> beendet. Eine Verschachtelung von Kommentaren ist nicht möglich. | |
− | Kommentare innerhalb | ||
<source lang="xml"> | <source lang="xml"> | ||
Zeile 9: | Zeile 7: | ||
</source> | </source> | ||
− | Kommentare werden vom Parser nicht interpretiert. | + | Kommentare werden vom [[IES]]-Parser nicht interpretiert und erscheinen auch nicht im vom System generierten Code. Sollen Kommentare im vom System generierten Code ausgegeben werden, nutzen Sie einfach die passenden Kommentarbefehle der jeweils generierten Sprache, z.B. HTML-Kommentare für HTML-Seiten. |
Kommentare am Anfang eines Quelltextes dienen häufig zur Angabe des Autors, des Versionsstands, bzw. des Erstellungsdatums, Spezialanpassungen, oder Hinweisen zur Nutzung. | Kommentare am Anfang eines Quelltextes dienen häufig zur Angabe des Autors, des Versionsstands, bzw. des Erstellungsdatums, Spezialanpassungen, oder Hinweisen zur Nutzung. | ||
− | Soll ein bestimmter Teil des Codes nicht ausgeführt werden, so läßt er sich leicht auskommentieren. Auf der Suche nach Fehlern, ist dies ein probates Mittel die fehlerhafte Region einzugrenzen. | + | Soll ein bestimmter Teil des Codes nicht ausgeführt werden, so läßt er sich leicht auskommentieren. Auf der Suche nach Fehlern, ist dies ein probates Mittel die fehlerhafte Region einzugrenzen. |
==Literale== | ==Literale== | ||
− | |||
− | + | Mit Literalen formuliert man konstante Werte (literal = engl. wörtlich) eines bestimmten Typs. | |
− | Mit Literalen formuliert man konstante Werte eines bestimmten Typs. | + | Der [[IES]] kennt folgende Typen: |
− | + | *Ganze Zahlen: <code>0</code>; <code>123</code> | |
− | *Ganze Zahlen: 0; 123 | + | *Dezimal-Zahlen: <code>3.2</code>; <code>-3e-22</code> |
− | + | *Logische Literale: <code>true</code>; <code>false</code> | |
− | * | + | *Character-Literale: <code>'A'</code> |
− | *Logische Literale: true; false | + | *Zeichenketten-Literale: <code>""</code>; <code>"\""</code>; <code>"Hello World"</code> |
− | |||
− | *Character-Literale: 'A' | ||
− | *Zeichenketten-Literale: ""; "\""; "Hello World" | ||
+ | Zeichenketten-Literale können sich nicht über mehrere Quelltextzeilen erstrecken, sie müssen stets vor Zeilenenden enden. | ||
Character- und Zeichenketten-Literale werden intern in Unicode kodiert. Um Zeichen darstellen zu können, deren Eingabe mit einfachen Editoren nicht möglich ist, oder die sonst syntaktisch nicht möglich wären, verwendet man sogenannte Escape-Sequenzen: | Character- und Zeichenketten-Literale werden intern in Unicode kodiert. Um Zeichen darstellen zu können, deren Eingabe mit einfachen Editoren nicht möglich ist, oder die sonst syntaktisch nicht möglich wären, verwendet man sogenannte Escape-Sequenzen: | ||
Zeile 63: | Zeile 58: | ||
|} | |} | ||
− | + | ==NULL-Werte== | |
+ | |||
+ | Der spezielle Wert NULL repräsentiert eine Variable ohne Wert. Da aber in HTML die Unterscheidung von ''leeren Inhalten'' und ''NULL'' nicht eindeutig möglich ist, wendet der IES bestimmte Regeln zur Verarbeitung an. Durch diese Regeln wird die logische Auswertung von Variablen in SPML vereinfacht. Eine leere Zeichenkette "" ist daher identisch mit einer nicht existenten Variable. Über die Zuweisung einer leeren Zeichenkette kann eine Variable zurückgesetzt werden. | ||
+ | Weiterhin werden im IES bei logischen Operationen, bei denen unterschiedliche Daten-Typen (Zahlen, Texte, o.ä.) verwendet werden, diese soweit möglich automatisch umgewandelt. Eine Folge daraus ist, dass auch der Zahlenwert 0 als ''NULL'' interpretiert wird. | ||
+ | |||
+ | Daraus ergeben sich folgende Beziehungen: | ||
+ | |||
+ | {| class="prettytable" | ||
+ | |- class="hintergrundfarbe1" | ||
+ | ! Wert || isNull(Wert) || Wert == null || Wert == "" || Wert == 0 || Wert != 0 | ||
+ | |- | ||
+ | | "" | ||
+ | | <code>true</code> | ||
+ | | <code>true</code> | ||
+ | | <code>?</code> | ||
+ | | <code>true</code> | ||
+ | | <code>false</code> | ||
+ | |- | ||
+ | | "0" | ||
+ | | <code>false</code> | ||
+ | | <code>true</code> | ||
+ | | <code>?</code> | ||
+ | | <code>true</code> | ||
+ | | <code>false</code> | ||
+ | |- | ||
+ | | 0 | ||
+ | | <code>false</code> | ||
+ | | <code>true</code> | ||
+ | | <code>?</code> | ||
+ | | <code>true</code> | ||
+ | | <code>false</code> | ||
+ | |- | ||
+ | | "null" | ||
+ | | <code>false</code> | ||
+ | | <code>false</code> | ||
+ | | <code>?</code> | ||
+ | | <code>false</code> | ||
+ | | <code>true</code> | ||
+ | |- | ||
+ | | kein Objekt | ||
+ | | <code>true</code> | ||
+ | | <code>true</code> | ||
+ | | <code>?</code> | ||
+ | | <code>true</code> | ||
+ | | <code>false</code> | ||
+ | |} | ||
<noinclude> | <noinclude> | ||
[[Category:SPML]] | [[Category:SPML]] | ||
− | |||
− | |||
− | |||
</noinclude> | </noinclude> |
Aktuelle Version vom 11. November 2019, 10:41 Uhr
Kommentare
Kommentare innerhalb von Templates werden mit <%-- eingeleitet und mit --%> beendet. Eine Verschachtelung von Kommentaren ist nicht möglich.
<%-- Ein Kommentar ... --%>
Kommentare werden vom IES-Parser nicht interpretiert und erscheinen auch nicht im vom System generierten Code. Sollen Kommentare im vom System generierten Code ausgegeben werden, nutzen Sie einfach die passenden Kommentarbefehle der jeweils generierten Sprache, z.B. HTML-Kommentare für HTML-Seiten.
Kommentare am Anfang eines Quelltextes dienen häufig zur Angabe des Autors, des Versionsstands, bzw. des Erstellungsdatums, Spezialanpassungen, oder Hinweisen zur Nutzung.
Soll ein bestimmter Teil des Codes nicht ausgeführt werden, so läßt er sich leicht auskommentieren. Auf der Suche nach Fehlern, ist dies ein probates Mittel die fehlerhafte Region einzugrenzen.
Literale
Mit Literalen formuliert man konstante Werte (literal = engl. wörtlich) eines bestimmten Typs. Der IES kennt folgende Typen:
- Ganze Zahlen:
0
;123
- Dezimal-Zahlen:
3.2
;-3e-22
- Logische Literale:
true
;false
- Character-Literale:
'A'
- Zeichenketten-Literale:
""
;"\""
;"Hello World"
Zeichenketten-Literale können sich nicht über mehrere Quelltextzeilen erstrecken, sie müssen stets vor Zeilenenden enden. Character- und Zeichenketten-Literale werden intern in Unicode kodiert. Um Zeichen darstellen zu können, deren Eingabe mit einfachen Editoren nicht möglich ist, oder die sonst syntaktisch nicht möglich wären, verwendet man sogenannte Escape-Sequenzen:
Sequenz | Beschreibung |
---|---|
\b | backspace |
\t | tab |
\n | linefeed |
\f | formfeed |
\r | cr |
\" | Anführungszeichen |
\' | Apostroph |
\\ | Backslash |
\uabcd | hexadezimaler Unicode abcd |
NULL-Werte
Der spezielle Wert NULL repräsentiert eine Variable ohne Wert. Da aber in HTML die Unterscheidung von leeren Inhalten und NULL nicht eindeutig möglich ist, wendet der IES bestimmte Regeln zur Verarbeitung an. Durch diese Regeln wird die logische Auswertung von Variablen in SPML vereinfacht. Eine leere Zeichenkette "" ist daher identisch mit einer nicht existenten Variable. Über die Zuweisung einer leeren Zeichenkette kann eine Variable zurückgesetzt werden. Weiterhin werden im IES bei logischen Operationen, bei denen unterschiedliche Daten-Typen (Zahlen, Texte, o.ä.) verwendet werden, diese soweit möglich automatisch umgewandelt. Eine Folge daraus ist, dass auch der Zahlenwert 0 als NULL interpretiert wird.
Daraus ergeben sich folgende Beziehungen:
Wert | isNull(Wert) | Wert == null | Wert == "" | Wert == 0 | Wert != 0 |
---|---|---|---|---|---|
"" | true
|
true
|
?
|
true
|
false
|
"0" | false
|
true
|
?
|
true
|
false
|
0 | false
|
true
|
?
|
true
|
false
|
"null" | false
|
false
|
?
|
false
|
true
|
kein Objekt | true
|
true
|
?
|
true
|
false
|