Show TOC Anfang des Inhaltsbereichs

Funktionsdokumentation exists  Dokument im Navigationsbaum lokalisieren

Verwendung

Mit dieser Funktion können Sie für ein Ausgangsfeld feststellen, ob es in der zu verarbeitenden XML-Instanz vorhanden ist. exists() gibt in diesem Fall true zurück, ansonsten false.

Beispiel

In dem folgenden Beispiel soll eine Funktions-Deklaration auf eine Struktur abgebildet werden, die lediglich aus dem technischen Namen und der Beschreibung der Funktion besteht. Unglücklicherweise ist das Feld description der Ausgangsstruktur optional während das Feld descriptionOfUse in der Zielstruktur vorkommen muss (minOccurs = 1).

Ausgangsstruktur (links) und Zielstruktur (rechts)

Feldname

minOccurs

maxOccurs

Feldname

min-
Occurs

max-
Occurs

FunctionDeclMsg

1

1

FunctionHeadingMsg

1

1

  name

1

1

  technicalName

1

1

  description

0

1

  descriptionOfUse

1

1

  inputArg

0

64

 

 

 

    name (Attr)

1

1

 

 

 

    type (Attr)

1

1

 

 

 

  returnValue

0

1

 

 

 

    type (Attr)

1

1

 

 

 

Hier können Sie mit Hilfe der Funktion exists() und anderen booleschen Funktionen in dem Fall, in dem das description-Tag nicht vorhanden ist, standardmäßig einen vorgegebenen String ausgeben. Auf diese Weise wird das Zielfeld descriptionOfUse in jedem Fall gefüllt und ist nicht leer.

Message-Mapping mit exists()

Zielfeld-Mapping

Wert von Constant()

/FunctionHeadingMsg=/FunctionDeclMsg

 

/FunctionHeadingMsg/technicalName=/FunctionDeclMsg/name

 

/FunctionHeadingMsg/descriptionOfUse=
if( Constant() , Not(exists(/FunctionDeclMsg/description)) ,        /FunctionDeclMsg/description 
)

(Keine Beschreibung verfügbar)

Hinweis

Die textliche Beschreibung der if-Standardfunktion muss folgendermaßen gelesen werden: if ( <Ergebnis, wenn Bedingung true>,
                    <Bedingung>,
                    <Ergebnis, wenn Bedingung false>).

Beispiel

Ausgangs-Instanz

Ergebnis

<?xml version="1.0"
 encoding="UTF-8"?>

 

<FunctionDeclMsg>

  <name>
      myFunc
  </name>

  <inputArg
   type="String"
   name="arg1" />

  <inputArg
   type="String"
   name="arg2" />

  <inputArg
   type="String"
   name="arg3" />

  <returnValue type="String" />

</FunctionDeclMsg>

<?xml version="1.0"
 encoding="UTF-8"?>

 

<ns0:FunctionHeadingMsg
 xmlns:ns0="workshopDemo">

   <technicalName>
      myFunc
   </technicalName>

   <descriptionOfUse>
      (Keine Beschreibung verfügbar)
   </descriptionOfUse>

</ns0:FunctionHeadingMsg>

 

Ende des Inhaltsbereichs