changeset 7314:53d1dd441867

Datacage ref doc: More structure. Explain text interpolation.
author Sascha L. Teichmann <teichmann@intevation.de>
date Mon, 14 Oct 2013 13:08:33 +0200
parents bcae19901bf0
children 8498fdd71a1e
files artifacts/doc/datacage_ref_de.rst
diffstat 1 files changed, 81 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/artifacts/doc/datacage_ref_de.rst	Mon Oct 14 12:16:33 2013 +0200
+++ b/artifacts/doc/datacage_ref_de.rst	Mon Oct 14 13:08:33 2013 +0200
@@ -8,12 +8,46 @@
 Übersicht
 ---------
 
+Daten
+-----
+Im Datenkorb stehen zwei Arten von Daten zur Auswertung zur Verfügung.
+
+``Datensätze``
+~~~~~~~~~~~~~~
+Datensätze sind Tabellen mit benannten Spalten. Sie werden von Datenquellen
+erzeugt und in einem Stapel verwaltet. Die konkreten Werte stehen erst durch
+Auffaltung als Variablen zur Verfügung.
+
+
+``Variablen``
+~~~~~~~~~~~~~
+Variablen sind die Werte, die aktuell zur Auswertung zur Verfügung stehen. Sie haben
+einen Namen und einen Typ (String, Zahl, durch Datenquelle bestimmt).
+
+Textersatz
+----------
+Um die Wertebelegungen in das Ausgabedokument schreiben zu kann an entsprechenden
+Stellen eine String-Interpolation durchgeführt werden.
+Hier finden zwei Arten von Textersatz ihren Einsatz.
+
+``${}-Ersetzungen``
+~~~~~~~~~~~~~~~~~~~
+Die ältere Variante. Innerhalb von Strings werden hier nur Variablen aufgelöst.
+Beispiel: "**Hallo, ${planet}!**" wird bei planet = 'Welt' zu "**Hallo, Welt!**".
+
+``{$}-Ersetzungen``
+~~~~~~~~~~~~~~~~~~~
+Die neuere Variante, allerdings noch nicht komplett an allen Stellen einsatzfähig.
+Innerhalb der geschweiften Klammern können beliebige XPath-Ausdrück stehen, die
+zu Strings evaluiert werden. Dies orientiert sich an den String-Auswertungen in XSLT.
+"**{ concat($greet, ', ', $planet, '!') }**" wird bei gesetzten Variablen greet = Hallo
+und planet = "Welt" zu **Hallo, Welt!** ausgewertet.
+
 Datenkorb-Elemente
 ------------------
 
-``dc:element`` **TODO**
-
-``dc:attribute`` **TODO**
+Datensätze erzeugen
+~~~~~~~~~~~~~~~~~~~
 
 ``dc:context`` **TODO**
 
@@ -23,11 +57,24 @@
 
 ``dc:properties`` **TODO**
 
+``dc:virtual-column`` **TODO**
+
+Datensätze einschränken
+~~~~~~~~~~~~~~~~~~~~~~~
+
+``dc:filter`` **TODO**
+
+``dc:group`` **TODO**
+
+Datensätze auffalten
+~~~~~~~~~~~~~~~~~~~~
+
 ``dc:for-each`` **TODO**
 
 ``dc:iterate`` **TODO**
 
-``dc:virtual-column`` **TODO**
+Makros
+~~~~~~
 
 ``dc:macro`` **TODO**
 
@@ -35,11 +82,38 @@
 
 ``dc:call-macro`` **TODO**
 
-``dc:comment`` **TODO**
+Sonstige Elemente
+~~~~~~~~~~~~~~~~~
 
-``dc:filter`` **TODO**
+``dc:element`` Hinzufügen neuer Elemente in der Ausgabe
+.......................................................
 
-``dc:group`` **TODO**
+.. code:: xml
+
+    <dc:element name="Name">
+      ...
+    </dc:element>
+
+Erzeugt ein Element namens Name. Für den Namen gelten die `${}-Ersetzungen`_.
+
+
+``dc:attribute`` Hinzufügen neuer Attribute zum umgebenden Ausgabeelement
+.........................................................................
+
+.. code:: xml
+
+    <dc:attribute name="Name" value="Wert"/>
+
+Fügt dem umgebenden Ausgabeelement ein weiteres Attribut namens Name mit dem
+Wert von Wert hinzu. Für Namen und Wert gelten die `${}-Ersetzungen`_.
+Der Einsatz dieses Konstrukts findet häufig im Zusammenhang mit dc:element
+seinen Einsatz, wenn es ein Ausgabeelement vollständig aus Variablenbelegungen
+erstellt werden soll.
+
+
+
+
+``dc:comment`` **TODO**
 
 ``dc:message`` **TODO**
 
@@ -85,11 +159,6 @@
 ``<dc:choose>`` ist in Symmetrie zu ``<xsl:choose>`` von XSLT entworfen worden.
 
 
-Variablen
----------
-
-Textersatz
-----------
 
 Datenkorb-Funktionen
 --------------------

http://dive4elements.wald.intevation.org