XML Cookbook
Kurzbeschreibung
Dieses Cookbook dient als schnelle Referenz für häufig verwendete XML-Strukturen aus dem Bereich Bedingungen und Schleifen.
Die Beispiele zeigen bewusst nur den notwendigen XML-Code und verzichten weitgehend auf Erklärungen.
Ausführliche Informationen finden Sie in den jeweiligen Fachartikeln.
Einfache Bedingung (If)
XML-Suche: If · Compare · DataType · IsEqual · TrueContainer · Block · Content · Text
<If
Compare="ja"
DataType="Text"
IsEqual="source.freigabe">
<TrueContainer>
<Block>
<Content>
<Text Content="Freigabe liegt vor.">
</Text>
</Content>
</Block>
</TrueContainer>
</If>If mit TrueContainer und FalseContainer
XML-Suche: If · Compare · DataType · IsEqual · TrueContainer · FalseContainer · Block · Content · Text
<If
Compare="ja"
DataType="Text"
IsEqual="source.freigabe">
<TrueContainer>
<Block>
<Content>
<Text Content="Freigabe liegt vor.">
</Text>
</Content>
</Block>
</TrueContainer>
<FalseContainer>
<Block>
<Content>
<Text Content="Freigabe liegt nicht vor.">
</Text>
</Content>
</Block>
</FalseContainer>
</If>Mehrstufige Prüfung mit verschachteltem If
XML-Suche: If · Compare · DataType · IsEqual · TrueContainer · FalseContainer · Block · Content · Text
<If
Compare="1"
DataType="Text"
IsEqual="source.Note">
<TrueContainer>
<Block>
<Content>
<Text Content="Sehr gut">
</Text>
</Content>
</Block>
</TrueContainer>
<FalseContainer>
<If
Compare="2"
DataType="Text"
IsEqual="source.Note">
<TrueContainer>
<Block>
<Content>
<Text Content="Gut">
</Text>
</Content>
</Block>
</TrueContainer>
<FalseContainer>
<Block>
<Content>
<Text Content="Andere Bewertung">
</Text>
</Content>
</Block>
</FalseContainer>
</If>
</FalseContainer>
</If>Switch
XML-Suche: Switch · Expression · Case · Value · Content · Text
<Switch Expression="source.Status">
<Case Value="A">
<Content>
<Text Content="Aktiv">
</Text>
</Content>
</Case>
<Case Value="I">
<Content>
<Text Content="Inaktiv">
</Text>
</Content>
</Case>
</Switch>Iterate
XML-Suche: Iterate · Path · TableRow · TableCell · Variable
<Iterate Path="source.Positionen">
<TableRow>
<TableCell>
<Variable Path="current.Artikel">
</Variable>
</TableCell>
<TableCell>
<Variable Path="current.Preis">
</Variable>
</TableCell>
</TableRow>
</Iterate>Iterate innerhalb einer Tabelle
XML-Suche: Table · TableRow · TableCell · Text · Iterate · Path · Variable
<Table>
<TableRow>
<TableCell>
<Text Content="Artikel">
</Text>
</TableCell>
</TableRow>
<Iterate Path="source.Positionen">
<TableRow>
<TableCell>
<Variable Path="current.Artikel">
</Variable>
</TableCell>
</TableRow>
</Iterate>
</Table>For-Schleife
XML-Suche: For · From · To · Variable · Content · Path
<For
From="1"
To="5"
Variable="i">
<Content>
<Variable Path="i">
</Variable>
</Content>
</For>OmitEmpty
XML-Suche: OmitEmpty · Variable · Path
<OmitEmpty>
<Variable Path="address.Address2">
</Variable>
</OmitEmpty>OmitEmpty mit Contains
XML-Suche: OmitEmpty · Contains · Variable · Path
<OmitEmpty Contains="-">
<Variable Path="source.Telefon">
</Variable>
</OmitEmpty>Mehrere Bedingungen
XML-Suche: If · Compare · DataType · IsEqual · TrueContainer · Block · Content · Text
<If
Compare="ja"
DataType="Text"
IsEqual="source.freigabe">
<TrueContainer>
<If
Compare="aktiv"
DataType="Text"
IsEqual="source.status">
<TrueContainer>
<Block>
<Content>
<Text Content="Freigabe">
</Text>
</Content>
</Block>
</TrueContainer>
</If>
</TrueContainer>
</If>Verschachtelte Bedingungen
XML-Suche: If · Compare · DataType · IsEqual · TrueContainer · FalseContainer · Block · Content · Text
<If
Compare="DE"
DataType="Text"
IsEqual="source.Land">
<TrueContainer>
<If
Compare="ja"
DataType="Text"
IsEqual="source.volljaehrig">
<TrueContainer>
<Block>
<Content>
<Text Content="Deutschland / Volljährig">
</Text>
</Content>
</Block>
</TrueContainer>
</If>
</TrueContainer>
</If>Dynamische Tabelle
XML-Suche: Table · Iterate · Path · TableRow
<Table>
...
<Iterate Path="source.Positionen">
<TableRow>
...
</TableRow>
</Iterate>
</Table>Liste ausgeben
XML-Suche: Iterate · Path · Block · Content · Variable
<Iterate Path="source.Positionen">
<Block>
<Content>
<Variable Path="current.Bezeichnung">
</Variable>
</Content>
</Block>
</Iterate>Merksätze
If
Wertet eine Bedingung aus. Der Inhalt für einen Treffer steht im
<TrueContainer>. Eine alternative Ausgabe wird über den optionalen<FalseContainer>definiert. Ein<Else>oder<ElseIf>gibt es nicht.
Switch
Wählt abhängig vom Wert genau einen passenden Case aus.
Iterate
Wiederholt XML für jeden Datensatz einer Liste.
For
Wiederholt XML für einen definierten Zahlenbereich.
OmitEmpty
Entfernt XML automatisch, wenn kein Inhalt vorhanden ist.
Hinweis
Dieses Cookbook dient ausschließlich als schnelle XML-Referenz.
Ausführliche Informationen zu den einzelnen XML-Elementen, Attributen und Best Practices finden Sie in den jeweiligen Fachartikeln.