Show TOC Anfang des Inhaltsbereichs

Funktionsdokumentation removeContexts Dokument im Navigationsbaum lokalisieren

Verwendung

Mit removeContext() können Sie alle übergeordneten Kontexte für ein Element löschen. Alle übergeordneten Hierarchie-Stufen wird also verworfen, so dass alle Elemente der Ziel-Queue einem Wurzelelement der Ausgangs-Queue zugeordnet werden.

Beispiel

In den folgenden Beispiel soll eine Liste von Debitoren, die für jeden Debitor eine oder mehrere geleistete Zahlungen über das Feld payment auflistet, in eine Liste transformiert werden, die nur noch die geleisteten Zahlungen enthält. Die Zahlungen und die Debitoren haben dabei jeweils noch ein Attribut id für ihre Identifikation.

Ausgangsstruktur (links) und Zielstruktur (rechts)

Feldname

minOccurs

maxOccurs

Feldname

minOccurs

maxOccurs

DebitorListMsg

1

1

AllDebtsMsg

1

1

  Debitor

0

unbounded

  debt

0

unbounded

    id (Attr)

 

 

    id (Attr)

1

1

    payment

1

unbounded

 

 

 

      id (Attr)

 

 

 

 

 

Um die übergeordnet Hierarchiestufe Debitor zu verwerfen, verbinden Sie das Element payment mit der Funktion removeContexts(). Als Zielfeld geben Sie das Feld an, in das der Inhalt von payment kopiert werden soll, also debt.

Message-Mapping mit removeContexts()

Zielfeld-Mapping

/AllDebtsMsg=/DebitorListMsg

/AllDebtsMsg/debt=removeContexts(/DebitorListMsg/Debitor/payment)

/AllDebtsMsg/debt/id=/DebitorListMsg/Debitor/payment/id

Beispiel

Ausgangs-Instanz

Ergebnis

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

<DebitorListMsg>

 <Debitor id="1">

   <payment id="1">
      50$
   </payment>
   <payment id="2">
      30$
   </payment>
   <payment id="3">
      90$
   </payment>

 </Debitor>

 <Debitor id="2">

   <payment id="4">
      150$
   </payment>

 </Debitor>

 <Debitor id="3">

   <payment id="5">
      1150$
   </payment>
   <payment id="6">
      2230$
   </payment>
   <payment id="7">
      3390$
   </payment>

 </Debitor>

</DebitorListMsg>

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

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

 

   <debt id="1">
      50$
   </debt>
   <debt id="2">
      30$
   </debt>
   <debt id="3">
      90$
   </debt>

 

 

   <debt id="4">
      150$
   </debt>

 

 

   <debt id="5">
      1150$
   </debt>
   <debt id="6">
      2230$
   </debt>
   <debt id="7">
      3390$
   </debt>

 

</ns0:AllDebtsMsg>

 

 

 

Ende des Inhaltsbereichs