Convertire testo in XML con un file schema di testo
Creare un assembly contenente uno step
textschema
. Ottenere il testo di esempio che costituirà la base dello schema di testo. Lo step
textschema
consente di convertire il testo in XML utilizzando uno schema di testo. Per sviluppare uno schema di testo, è necessario conoscere la struttura dei dati che si desidera trasformare. Il processo è notevolmente semplificato da un piccolo documento di esempio contenente dati rappresentativi. Questo argomento presuppone che si disponga di un tale esempio. È possibile utilizzare lo step
textschema
per convertire XML in testo o per trasformare file delimitati, ma nella maggior parte dei casi è più semplice utilizzare rispettivamente lo step XTT
e lo step csv-to-xml
.- Nella visualizzazionePropertiesdello steptextschema, fare clic suCreate Text Schema File.
- Selezionare una cartella padre per il file dello schema di testo e fornire un nome file. Se necessario, specificare l'URI dello spazio dei nomi di destinazione.
- Studio apre l'Editor schema di testo e visualizza il nuovo schema di testo nella visualizzazionead albero.
- Tagliare e incollare il testo di esempio nell'area in alto a destra dell'Editor schema di testo, sostituendoloinitial-text.Per rimuovere il linefeed di chiusura dai file di input, aggiungere il seguente attributo all'elemento dello schema radice:ts:eofStrip=" ".
- Iniziare a descrivere il testo di esempio. Selezionare il primo campo, quindi fare clic con il pulsante destro e selezionareCreate Field.Se non si dispone di un esempio del testo che si desidera convertire ma se ne conosce la struttura, è possibile modificare direttamente la visualizzazioneSourcedello schema di testo.
- Nella paginaIdentitydella procedura guidaCreate Field, fornire una descrizione di base del campo. L'attività contiene i seguenti elementi:
Opzione Descrizione NomeUn nome per il campo.OccurrenceLe opzioni sono:- Default: il campo è obbligatorio e compare una sola volta.
- Required: uguale al valore predefinito.
- Optional: il campo è facoltativo e può essere presente una sola volta.
- Multiple Optional: il campo è facoltativo e può essere presente più volte.
- Multiple Required: il campo è obbligatorio e può essere presente più volte.
Start TagEspressione regolare che specifica il testo che genera un elemento. Si noti che il testo corrispondente a questa espressione non fa parte del valore di output. Se si desidera che il testo corrispondente venga visualizzato nel valore di output, utilizzarets:formatopzioneTag di fineEspressione regolare che specifica il testo che contrassegna la fine di un elemento. Si noti che il testo corrispondente a questa espressione non fa parte del valore di output. Se si desidera che il testo corrispondente venga visualizzato nel valore di output, utilizzarets:formatopzioneTroncaSpecifica se troncare i dati in eccesso in un campo a lunghezza fissa o generare un errore. Il valore predefinito ètrue.SeparatoreEspressione regolare che specifica un carattere che separa i campi ripetuti. Abilitata solo se si seleziona l'opzione per le occorrenteMultiple OptionaloMultiple Required.OmitSpecifica se omettere il campo dall'output in una trasformazionetext-to-XMLoXML-to-text. L'impostazione predefinita è nessuna omissione. - Nella paginaDelimitdella procedura guidataCreate Field, descrivere quanti caratteri del testo di esempio rappresentano un campo:
Opzione Descrizione FormatoEspressione regolare che identifica modelli di testo validi per un campo. Utilizzare questa espressione come alternativa aStart TageEnd Tagper assicurarsi che tutto il testo corrispondente venga visualizzato nell'output. È anche possibile utilizzarla quando si ha a che fare con valori multipli, in modo che sia chiaro quando si verifica la fine della sequenza.Fixed LengthSpecifica la lunghezza dei campi a lunghezza fissa. Include virgolette e caratteri di escape.QuotedIndica se i valori stringa vengono considerati come stringhe tra virgolette. Le opzioni sono:- Default:
- always:
- always-including-empty:
- optional:
- never:
PaddingEspressione regolare che identifica il testo di riempimento all'interno di campi a lunghezza fissa.Preferred PaddingSpecifica il valore da utilizzare se l'espressionePaddingpuò corrispondere a più di una stringa possibile.AlignSpecifica l'allineamento dei campi a lunghezza fissa che richiedono il riempimento. - Nella paginaInterpretdella procedura guidataCreate Field, descrivere quanti caratteri del testo di esempio rappresentano un campo:
Opzione Descrizione TipoIl tipo di dati del campo.Valore predefinitoUn valore predefinito per il campo.Date FormatSpecifica un modello per date o datetime. Supporta qualsiasi modello consentito da JavaSimpleDateFormat.Lingua dataSpecifica la lingua della data da utilizzare per l'interpretazione delle date. Garantisce che il nome venga gestito nella lingua appropriata quando il formato della data utilizza i nomi dei mesi. Il valore predefinito èEN.Anno a due cifreSpecifica un valore per l'interpretazione delle date a due cifre dell'anno. Il parser dello schema di testo interpreta le date dell'anno a due cifre precedenti a tale valore come corrispondenti al secolo corrente. Esempio: se si immette18, interpreta il parser14come2014e96come1996.Formato numeroSpecifica un modello per i numeri. Supporta qualsiasi modello consentito da JavaDecimalFormat.Separatore decimaleSpecifica il separatore utilizzato per i numeri decimali.Grouping SeparatorSpecifica il separatore di raggruppamento delle migliaia per i numeri. - Ripetere i passaggi da 6 a 9 per ogni campo del testo di esempio, aggiungendo nuovi elementi nella visualizzazionead albero. Dopo aver creato tutte le definizioni dei campi obbligatori, eliminare le definizioni dei campi rimanentiUnparsedelemento figlio
- Per raggruppare tutti gli elementi creati in un tipo complesso, selezionarli, fare clic con il pulsante destro del mouse e selezionareAvvolgi elementi. Specificare quindi un nome e un valore di occorrenza per l'elemento wrapper.
- Nella visualizzazioneProprietàdell'elemento wrapper, selezionare/ndall'elenco a discesaTag di fine.
- L'elemento radice dello schema predefinito è denominatoFile. Nella schedaSchemadella visualizzazioneProprietàdell'elemento, specificare un nome più significativo.
- Nella visualizzazioneProprietàdel primo livelloschema, la proprietàElemento radiceha il valoretns:File. SostituireFilecon il nome significativo selezionato per l'elemento radice.
- Per rimuovere eventuali spazi aggiuntivi dall'output generato, selezionare la visualizzazioneProprietàdel primo livelloschemaelemento Selezionare+dall'elenco a discesaPadding. Salvare lo schema.