Diff (SP-Tag)

Aus SiteparkWiki
Version vom 24. Februar 2010, 13:55 Uhr von Schleusner (Diskussion | Beiträge) (Hob den Schutz von „Diff (SP-Tag)“ auf)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Name

<sp:diff> - vergleicht zwei Zeichenketten

Syntax

<sp:diff name="result" from="abc" to="abc cde"/>

Beschreibung

Mit diesem Tag können zwei Zeichenketten miteinander verglichen werden. Dazu werden die beiden Zeichenketten in ihre einzelnen Wörter aufgeteilt, die anschließend 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, in die 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 und in from nicht enthalten sind werden als 'neu' markiert.
locale
Dieses Attribut dient zur Auswahl der zu verwendende Sprache bei mehrsprachigen Variablen.
lookup
Gibt an, ob bei der der Auflösung von mehrsprachigen Variablen mit der, durch 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>