replicate-item

www.altova.com Dieses Kapitel drucken Vorherige Seite Eine Ebene nach oben Nächste Seite

Startseite >  Funktionen > Referenz Funktionsbibliothek > core | sequence functions (Sequenzfunktionen) >

replicate-item

Repliziert jedes Datenelement in der Input-Sequenz so oft, wie im Argument count definiert. Wenn Sie ein einziges Datenelement mit dem Argument node/row verbinden, gibt die Funktion N Datenelemente zurück, wobei N der Wert des Arguments count ist. Wenn Sie eine Sequenz von Datenelementen mit dem Argument node/row verbinden, repliziert die Funktion jedes einzelne Datenelement in der Sequenz count Mal, wobei die Datenelemente der Reihe nach verarbeitet werden. Wenn z.B. count 2 ist, so erzeugt die Sequenz (1,2,3) folgendes Ergebnis (1,1,2,2,3,3).

function_replicate-item

Beachten Sie, dass Sie für jedes Datenelement einen anderen count Wert bereitstellen können. Angenommen Sie haben eine XML-Quelldatei mit der folgenden Struktur:

<?xml version="1.0" encoding="UTF-8"?>
<SourceList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="source.xsd">
  <person>
    <name>Michelle</name>
    <count>2</count>
  </person>
  <person>
    <name>Ted</name>
    <count>4</count>
  </person>
  <person>
    <name>Ann</name>
    <count>3</count>
  </person>
</SourceList>

Mit Hilfe der Funktion replicate-item können Sie jeden Personennamen unterschiedlich oft in der Zielkomponente replizieren. Verbinden Sie dazu den Node <count> der einzelnen person-Elemente mit dem count-Input der Funktion replicate-item:

example_replicate-item

Die Ausgabe sieht folgendermaßen aus:

 

<?xml version="1.0" encoding="UTF-8"?>
<TargetLists xsi:noNamespaceSchemaLocation="target.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <TargetList>
    <TargetString>Michelle</TargetString>
    <TargetString>Michelle</TargetString>
  </TargetList>
  <TargetList>
    <TargetString>Ted</TargetString>
    <TargetString>Ted</TargetString>
    <TargetString>Ted</TargetString>
    <TargetString>Ted</TargetString>
  </TargetList>
  <TargetList>
    <TargetString>Ann</TargetString>
    <TargetString>Ann</TargetString>
    <TargetString>Ann</TargetString>
  </TargetList>
</TargetLists>


© 2019 Altova GmbH