Altova MapForce 2025 Professional Edition

Gibt true zurück, wenn das xsi:nil-Attribut des element-Node auf true gesetzt ist.

mf-func-is-xsi-nil

 

Sprachen

Built-in, C++, C#, Java, XQuery, XSLT 1.0, XSLT 2.0, XSLT 3.0..

 

Parameter

Argument

Beschreibung

element

Obligatorischer Parameter. Muss mit dem zu überprüfenden Quell-Node verbunden sein.

 

Beispiel

Im unten gezeigten Mapping-Design werden Daten auf Basis von Bedingungen aus einer XML-Quelldatei in eine XML-Zieldatei kopiert. Außerdem wird hier die Verwendung einer Reihe von Funktionen, darunter der Funktion is-xsi-nil veranschaulicht. Das Mapping hat den Namen HandlingXsiNil.mfd und befindet sich im Verzeichnis <Dokumente>\Altova\MapForce2025\MapForceExamples\.

mf-func-is-xsi-nil-example

Wie oben gezeigt, überprüft die Funktion is-xsi-nil, ob das Attribut xsi:nil für das Datenelement state der Quelldatei "true" ist. Wenn dieses Attribut "false" ist, kopiert der Filter das übergeordnete Address-Element in die Zielkomponente. Die XML-Quelldatei sieht folgendermaßen aus (ausschließlich der XML- und Namespace-Deklaration):

 

<BranchOffices>
  <Name>Nanonull</Name>
  <Office>
    <Name>Nanonull Research Outpost</Name>
    <EMail>sp@nanonull.com</EMail>
    <Fax xsi:nil="true"/>
    <Phone>+8817 3141 5926</Phone>
    <Address>
        <city>South Pole</city>
        <state xsi:nil="true"/>
        <street xsi:nil="true"/>
        <zip xsi:nil="true"/>
    </Address>
    <Contact>
        <first>Scott</first>
        <last>Amundsen</last>
    </Contact>
  </Office>
</BranchOffices>

 

Das Ergebnis des Mappings ist, dass gar kein Address-Element in die Zielkomponente kopiert wird, da die Quelldatei nur ein Address-Element enthält und dessen Attribut xsi:nil für das Element state auf "true" gesetzt ist. Die Mapping-Ausgabe sieht daher folgendermaßen aus:

 

<BranchOffices>
  <Name>Nanonull</Name>
  <Office>
    <Name>Nanonull Research Outpost</Name>
    <EMail xsi:nil="true"/>
    <Fax>n/a</Fax>
    <Phone>+8817 3141 5926</Phone>
    <Contact>
        <first>Scott</first>
        <last>Amundsen</last>
    </Contact>
  </Office>
</BranchOffices>

© 2018-2024 Altova GmbH