Lo snap generatore di XML è stato introdotto nella versione dell'estate 2014. Nella versione autunnale è stato migliorato con l'aggiunta della generazione XML basata su un XSD fornito e il suggerimento dello schema JSON (basato sullo schema XSD) allo Snap a monte. Lo Snap Generatore XML è simile allo Snap Formattatore XML, che formatta i documenti in arrivo in XML, ma questo Snap consente di mappare il contenuto XML per consentire una generazione XML più specifica. In una serie di quattro parti, spiegheremo come funziona lo Snap Generatore XML:
- Permette di generare l'XML sulla base di un XSD
- Consente di mappare a monte lo schema JSON
- Convalida l'XML generato rispetto all'XSD
- Crea una stringa XML serializzata per ogni documento di input.
Esempio 1: Generazione di XML tramite XSD
Per questo primo esempio, ho creato una semplice pipeline per generare i dati dell'ordine in XML direttamente con XML Generator Snap.
Forniamo l'XSD di esempio (proveniente da: http://www.w3schools.com/schema/schema_example.asp) definito come:
<?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>
Suggeriamo quindi l'elemento radice dell'XML, che restituisce {}ordine di nave.
Infine, facciamo clic su Modifica XML, che attiverà automaticamente la generazione del modello XML basato sull'XSD, come si vede di seguito.
Ora possiamo sostituire le variabili con i nostri valori per generare l'XML nella vista di output o passare all'esempio successivo.
Nota: l'esecuzione dello Snap di cui sopra creerà un attributo XML nella vista di output che fornisce il contenuto XML serializzato come stringa.
Nella seconda parte di questa serie, si vedrà come usare un generatore JSON per mappare l'XSD del generatore XML.
Altre risorse: