exists
Gibt true zurück, wenn der verbundene Node vorhanden ist und false, wenn dies nicht der Fall ist. Da ein Boolescher Wert zurückgegeben wird, wird diese Funktion normalerweise mit Filtern verwendet, um nur Datensätze herauszufiltern, die ein Child-Element oder Attribut haben (oder eventuell nicht haben).
Sprachen
Built-in, C++, C#, Java, XQuery, XSLT 1.0, XSLT 2.0, XSLT 3.0..
Parameter
Name | Beschreibung |
---|---|
node | Der Node, dessen Vorhandensein überprüft werden soll. |
Beispiele
Im folgenden Mapping wird gezeigt, wie Sie Daten mit Hilfe einer exists-Funktion filtern. Dieses Mapping hat den Namen PersonListsForAllBranchOffices.mfd und befindet sich im Verzeichnis <Dokumente>\Altova\MapForce2025\MapForceExamples\.
PersonListsForAllBranchOffices.mfd
In der Quelldatei BranchOffices.xml gibt es drei Office-Elemente. Eines der Büros (office-Elemente) hat kein Contact Child-Element. Dieses Mapping hat mehrere Aufgaben:
a) Extraktion einer Liste der in jedem einzelnen Büro vorhandenen Kontakte.
b) Erstellung einer separaten XML-Datei für jedes Büro, wobei diese Datei denselben Namen wie das Büro hat.
c) Wenn das Büro keine Kontakte enthält, soll keine XML-Datei generiert werden.
Zu diesem Zweck wurde ein Filter zum Mapping hinzugefügt. Der Filter übergibt nur diejenigen Office-Datenelemente an die Zielkomponente, die mindestens ein Contact-Datenelement enthalten. Diese Boolesche Bedingung wird durch die exists-Funktion bereitgestellt. Wenn das Ergebnis der Funktion "true" ist, wird der Name des Büros (office) mit dem String .xml verkettet, um den Zieldateinamen zu erzeugen. Nähere Informationen zum Generieren von Dateinamen anhand des Mappings finden Sie unter Dynamische Verarbeitung mehrerer Input- oder Output-Dateien.
Ein weiteres Beispiel ist das folgende Mapping: <Dokumente>\Altova\MapForce2025\MapForceExamples\HasMarketingExpenses.mfd. Wenn hier in der XML-Quelldatei ein Datenelement expense-item existiert, wird das Attribut hasExpenses in der XML-Zieldatei auf true gesetzt.
HasMarketingExpenses.mfd