Der XML-Generator-Snap wurde in der Version vom Sommer 2014 eingeführt. In der Herbstversion wurde er um die XML-Generierung auf der Grundlage einer bereitgestellten XSD und den Vorschlag des JSON-Schemas (auf der Grundlage des XSD-Schemas) für den vorgeschalteten Snap erweitert. Der XML-Generator-Snap ähnelt dem XML-Formatter-Snap, der eingehende Dokumente in XML formatiert. In einer vierteiligen Serie werden wir erklären, wie der XML Generator Snap funktioniert:
- Ermöglicht die Generierung von XML auf der Grundlage einer XSD
- Ermöglicht die Abbildung auf das vorgelagerte JSON-Schema
- Validiert das generierte XML gegen die XSD
- Erzeugt einen serialisierten XML-String für jedes Eingabedokument
Beispiel 1: XML-Generierung über XSD
Für dieses erste Beispiel habe ich eine einfache Pipeline erstellt, um Auftragsdaten-XML direkt mit dem XML Generator Snap zu generieren.
Wir stellen ein XSD-Beispiel (aus: http://www.w3schools.com/schema/schema_example.asp) zur Verfügung, das wie folgt definiert ist:
<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="shiporder">
<xs:complexType>
<xs:sequence>
<xs:element name="orderperson" type="xs:string"/>
<xs:element name="shipto">
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="xs:string"/>
<xs:element name="address" type="xs:string"/>
<xs:element name="city" type="xs:string"/>
<xs:element name="country" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="item" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="title" type="xs:string"/>
<xs:element name="note" type="xs:string" minOccurs="0"/>
<xs:element name="quantity" type="xs:positiveInteger"/>
<xs:element name="price" type="xs:decimal"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="orderid" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
</xs:schema>
Wir schlagen dann das XML-Wurzelelement vor, das {}shiporder ergibt.
Schließlich klicken wir auf XML bearbeiten, was automatisch die Generierung der XML-Vorlage auf der Grundlage der XSD auslöst, wie unten zu sehen.
Jetzt können wir die Variablen durch unsere eigenen Werte ersetzen, um das XML in der Ausgabeansicht zu generieren, oder mit dem nächsten Beispiel fortfahren.
Hinweis: Durch die Ausführung des obigen Snap wird ein XML-Attribut in der Ausgabeansicht erstellt, das den serialisierten XML-Inhalt als String bereitstellt.
Im zweiten Teil dieser Serie werden Sie sehen, wie Sie einen JSON-Generator auf die XML-Generator XSD abbilden können.
Andere Ressourcen:
- Cloud-Integration: Dafür gibt es einen Snap!
- SnapLogic-Schulungsvideos
- SnapLogic Developer Community (Anmeldung erforderlich)