Diff (SP-Tag): Unterschied zwischen den Versionen

Aus SiteparkWiki
Zur Navigation springen Zur Suche springen
K (hat „Sp:diff“ nach „Diff (SP-Tag)“ verschoben)
K (Schützte „Diff (SP-Tag)“ [edit=autoconfirmed:move=autoconfirmed])
(kein Unterschied)

Version vom 27. Juni 2008, 17:19 Uhr

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>