Altova MobileTogether Designer

Die Aktion "Throw" wird im Try-Teil einer Try/Catch-Aktion (siehe Abbildung unten) verwendet. Sie wertet einen XPath-Ausdruck aus. Wenn das Ergebnis der Auswertung keine leere Sequenz it, wird eine Ausnahme ausgelöst, die in der Variablen der Try/Catch-Aktion gespeichert wird; in der Abbildung unten hat diese Variable den Namen \$Not-USA-Warning.

MTDThrow

Im Beispiel in der Abbildung oben wird eine Ausnahme ausgelöst, wenn sich der Standort des Geräts nicht in den USA befindet. Der XPath-Ausdruck lautet:

 

if (\$MT_GEOLOCATION/Root/Address/@CountryName != 'USA'

then (concat'Warning: Device location is outside the US: '\$MT_GEOLOCATION/Root/Address/@CountryName)) 

else ()

 

Dieser Ausdruck funktioniert folgendermaßen:

 

Die if-Klausel überprüft, ob der Wert des Node \$MT_GEOLOCATION/Root/Address/@CountryName (nicht) 'USA' ist.

Die then-Klausel wird verarbeitet, wenn der Name des Landes nicht USA ist. Mit dieser Klausel wird ein String generiert.

Die else-Klausel wird verarbeitet, wenn der Name des Landes USA ist. Mit dieser Klausel wird eine leere Sequenz erzeugt.

 

Wenn das Land, in dem sich der Standort befindet, nicht USA ist, so ist die Bedingung true und der Ausdruck wird zu dem durch die then-Klausel generierten String ausgewertet. Da es sich bei diesem Ergebnis nicht um eine leere Sequenz handelt, wird eine Ausnahme ausgelöst und der generierte String wird in der Try/Catch-Variablen \$Not-USA-Warning gespeichert.

 

Wenn das Land, in dem sich der Standort befindet, jedoch USA, ist, so ist die Bedingung false und das Ergebnis des Ausdrucks ist eine (durch die else-Klausel generierte) leere Sequenz. Da es sich beim Ergebnis um eine leere Sequenz handelt, wird keine Ausnahme ausgelöst. Daher wird der Catch-Teil der Try/Catch-Aktion nicht ausgeführt.

 

 

Anmerkung:Wenn eine Sequenz einen leeren String-Eintrag (''), enthält, so ist die Sequenz nicht leer (und es wird eine Ausnahme ausgelöst)

 

Im Tutorial Freigeben von Standortdaten wird erklärt, wie Sie die Aktionen Try/Catch und Throw verwenden können.

 

MobileTogether-Erweiterungsfunktionen

MobileTogether enthält eine Reihe von XPath-Erweiterungsfunktionen, die speziell für die Verwendung in MobileTogether-Designs erstellt wurden. Einige davon können bei bestimmten Aktionen sehr nützlich sein. So erhalten Sie etwa mit mt-available-languages() die Sprachen, in denen die Lösung zur Verfügung steht. Diese Funktion könnte z.B. mit der Aktion Meldungsfeld verwendet werden. Wenn eine Funktion für diese Aktion besonders relevant ist, ist sie unten aufgelistet. Eine vollständige Liste aller Erweiterungsfunktionen und mit Beschreibungen finden Sie im Kapitel MobileTogether-Erweiterungsfunktionen.

© 2017-2023 Altova GmbH