Diff (SP-Tag)
Version vom 27. Juni 2008, 16:19 Uhr von Liebold (Diskussion | Beiträge) (Schützte „Diff (SP-Tag)“ [edit=autoconfirmed:move=autoconfirmed])
Name
<sp:diff> - Vergleicht zwei Zeichenketten
Syntax
<sp:diff name="result" from="abc" to="abc cde"/>
Beschreibung
Mit diesem Tag können zwei Zeichenketten mit einander verglichen werden. Dazu werden die beiden Zeichenketten in ihre einzelnen Wörter aufgesplittet, die dann miteinander verglichen werden. Das Ergebnis des Vergleiches ist eine Liste von Wörtern entsprechend der verglichenen Zeichenketten, die mit 'nicht geändert', 'geändert', 'neu' oder 'gelöscht' gekennzeichnet werden.
Attribute
Name | Type | Required | Default | ab IES Version |
---|---|---|---|---|
name
|
Variable | Ja | None | 1 |
from
|
Text | Ja | None | 1 |
to
|
Text | Ja | None | 1 |
locale
|
Locale | Nein | None | 1 |
lookup
|
Boolean | Nein | true | 1 |
name
- Name der Liste, indem das Ergebnis gespeichert wird. DIe Liste enthält DIffChunk-Objekte.
from
- Text der Verglichen werden soll. Wörter die hier enthalten und in to nicht mehr enthalten sind werden als 'gelöscht' markiert.
to
- Text der Verglichen werden soll. Wörter die hier enthalten un in from nicht enthalten sind werden als 'neu' markiert.
locale
- Dieses Attribut dient zur Auswahl der zu verwendende Sprache bei mehrsprachiger Variablen.
lookup
- Gibt an, ob bei der der Auflösung von mehrsprachigen Variablen mit der mit locale angegebenen Sprache auch ein Lookup ausgeführt werden soll.
Beispiele
Vergleichen von zwei Texten
Template Quelltext
<sp:diff name="result" from="abc" to=abc cde"/>
<sp:loop collection="result" item="it">
<sp:condition>
<sp:if name="it.isNew">
ist neu:<sp:print name="it.revised"/>,
</sp:if>
<sp:elseif name="it.isChanged">
ist geändert von <sp:print name="it.original"/> nach <sp:print name="it.revised"/>,
</sp:elseif>
<sp:elseif name="is.isDeleted">
ist gelöscht: <sp:print name="it.original"/>,
</sp:elseif>
<sp:else>
ist unverändert: <sp:print name="it.original"/>,
</sp:else>
</sp:condition>
</sp:loop>