Beispiel: Ausnahme bei "größer als"-Bedingung

www.altova.com Dieses Kapitel drucken Vorherige Seite Eine Ebene nach oben Nächste Seite

Startseite >  Erstellen von Mappings > Hinzufügen von Ausnahmeereignissen >

Beispiel: Ausnahme bei "größer als"-Bedingung

In diesem Beispiel wird ein Mapping beschrieben, das ein Ausnahmeereignis auslöst, wenn eine "größer als"-Bedingung erfüllt wird. Sie finden das Beispielmapping hierzu unter: <Dokumente>\Altova\MapForce2019\MapForceExamples\ExpenseLimit.mfd.

except-xslt

Dieses Mapping löst immer dann eine Ausnahme aus, wenn das Datenelement expense in der XML-Instanzquelldatei einen Wert hat, der größer als 200 ist. Der Wert "200" wird von einer Konstanten bereitgestellt. Anschließend werden die beiden Werte mit Hilfe der less-Funktion miteinander verglichen. Wenn der Wert von expense kleiner als 200 ist, so wird das übergeordnete Datenelement, nämlich expense-item, an den Filter übergeben und es wird keine Ausnahme ausgelöst. Andernfalls wird eine Ausnahme mit dem benutzerdefinierten Text "Expense limit exceed" ausgelöst.

 

Die mit dem Symbol ic-component_exception gekennzeichnete Ausnahme besteht, wie oben gezeigt, aus zwei Teilen: throw und error-text. Der throw-Teil muss mit dem on-false oder on-true-Output eines Filters verbunden werden. Der error-text-Teil wird mit einer Konstante verbunden, die den benutzerdefinierten Text der Ausnahme bereitstellt.

 

Es ist wichtig, dass beide Outputs des Filters verbunden werden, da sonst keine Ausnahme ausgelöst wird. In diesem Beispiel ist der on-false-Output mit der Ausnahme verbunden, während der on-true-Output mit der Zielkomponente verbunden ist.


© 2019 Altova GmbH