Convertir du texte en XML avec un fichier de schéma de texte
Créez un assemblage contenant une étape
textschema
. Procurez-vous l'échantillon de texte qui servira de base à votre schéma de texte. L'étape
textschema
vous permet de convertir du texte au format XML à l'aide d'un schéma de texte. Pour développer un schéma de texte, vous devez connaître la structure des données que vous souhaitez transformer. Le processus est considérablement simplifié grâce à un petit échantillon de document contenant des données représentatives. Cette rubrique suppose que vous disposez d'un tel échantillon. Vous pouvez utiliser l'étape
textschema
pour convertir un XML en texte ou pour transformer des fichiers délimités, mais dans la plupart des cas, il est plus simple d'utiliser l'étape XTT
et l'étape csv-to-xml
, respectivement.- Dans la vuePropriétésde l'étapetextschema, cliquez surCreate Text Schema File.
- Sélectionnez un dossier parent pour le fichier de schéma de texte et indiquez un nom de fichier. Si nécessaire, indiquez l'URI de l'espace de noms cible.
- Workday Studio ouvre Text Schema Editor et affiche le nouveau schéma de texte dans sonarborescence.
- Coupez et collez votre exemple de texte dans la zone en haut à droite de l'éditeur de schéma de texte, en remplaçantinitial-text.Pour retirer le retour de ligne de fin des fichiers d'entrée, ajoutez l'attribut suivant à l'élément de schéma racine :ts:eofStrip=" ".
- Commencez par décrire l'échantillon de texte. Sélectionnez le premier champ, faites un clic droit dessus et sélectionnezCreate Field.Si vous n'avez pas d'échantillon de texte à convertir mais que vous connaissez sa structure, vous pouvez modifier directement la vueSourcedu schéma de texte.
- Sur la pageIdentitéde l'assistantCreate Field Wizard, indiquez une description de base du champ. Pour la tâche, tenez compte des éléments suivants :
Option Description NomNom du champ.OccurrenceLes options sont les suivantes :- Par défaut: le champ est obligatoire et n'apparaît qu'une seule fois.
- Obligatoire: identique à la valeur par défaut.
- Facultatif: le champ est facultatif et ne peut apparaître qu'une seule fois.
- Multiple Optional: le champ est facultatif et peut apparaître plusieurs fois.
- Multiple Required: le champ est obligatoire et peut apparaître plusieurs fois.
Start TagExpression rationnelle spécifiant le texte à l'origine de la génération d'un élément. Notez que le texte correspondant à cette expression ne fait pas partie de la valeur de sortie. Si vous voulez que le texte correspondant s'affiche dans la valeur de sortie, utilisez lests:formatoption.End TagExpression rationnelle spécifiant le texte qui marque la fin d'un élément. Notez que le texte correspondant à cette expression ne fait pas partie de la valeur de sortie. Si vous voulez que le texte correspondant s'affiche dans la valeur de sortie, utilisez lests:formatoption.TronquerIndique s'il faut tronquer les données en dépassement dans un champ de longueur fixe ou renvoyer une erreur. La valeur par défaut esttrue.SeparatorExpression rationnelle spécifiant un caractère qui sépare les champs répétés. Activé uniquement si vous sélectionnez l'option d'occurrenceMultiple OptionalouMultiple Required.OmitIndique s'il faut omettre le champ de la sortie dans une transformationtext-to-XMLouXML-to-text. Par défaut, il n'y a pas d'omission. - Sur la pageDelimitde l'assistantCreate Field Wizard, décrivez le nombre de caractères de l'échantillon de texte qui représentent un champ :
Option Description FormatExpression rationnelle identifiant des modèles de texte valides pour un champ. Utilisez cette expression à la place deStart TagetEnd Tagpour vous assurer que tout le texte correspondant s'affiche dans la sortie. Vous pouvez également l'utiliser lorsque vous traitez des valeurs multipliées afin de savoir clairement quand la fin de la séquence se produit.Longueur fixeIndique la longueur des champs de longueur fixe. Inclut les guillemets et les caractères d'échappement.QuotedIndique si les valeurs de chaîne sont traitées comme des chaînes entre guillemets. Les options sont les suivantes :- Par défaut:
- always:
- always-including-empty:
- optional:
- never:
RemplissageExpression rationnelle identifiant tout texte de remplissage dans les champs de longueur fixe.Preferred PaddingIndique la valeur à utiliser si l'expressionRemplissagepeut correspondre à plusieurs chaînes possibles.AlignerIndique l'alignement des champs de longueur fixe qui nécessitent un remplissage. - Sur la pageInterpretde l'assistantCreate Field Wizard, décrivez le nombre de caractères de l'échantillon de texte qui représentent un champ :
Option Description TypeType de données du champ.Valeur par défautUne valeur par défaut pour le champ.Format de dateIndique un modèle pour les dates ou les dates et heures. Prend en charge tous les modèles autorisés par Java.SimpleDateFormat.Date LanguageIndique la langue de la date à utiliser lors de l'interprétation de dates. Garantit que le nom est traité dans la langue appropriée lorsque le format de date utilise le nom des mois. La valeur par défaut estEN.Two Digit YearIndique une valeur pour interpréter les dates avec une année à deux chiffres. L'analyseur du schéma de texte interprète les dates avec une année à deux chiffres qui précèdent cette valeur comme se produisant dans le siècle en cours. Exemple : si vous saisissez18, l'analyseur interprète14en tant que2014et96en tant que1996.Format de nombreIndique un modèle pour les nombres. Prend en charge tous les modèles autorisés par Java.DecimalFormat.Séparateur décimalIndique le séparateur utilisé pour les nombres décimaux.Grouping SeparatorIndique le séparateur des milliers pour les nombres. - Répétez les étapes 6 à 9 pour chaque champ de l'échantillon de texte, en ajoutant de nouveaux éléments dans l'arborescence. Lorsque vous avez créé toutes les définitions de champ obligatoires, supprimez les définitions restantes.Unparsedélément enfant.
- Pour encapsuler tous les éléments que vous avez créés dans un type complexe, sélectionnez-les, faites un clic droit dessus et sélectionnezWrap Elements. Indiquez ensuite un nom et une valeur d'occurrence pour l'élément encapsuleur.
- Dans la vuePropriétésde l'élément encapsuleur, sélectionnez/ndans la liste déroulanteEnd Tag.
- L'élément racine du schéma par défaut est nomméFile. Dans l'ongletSchemade la vuePropriétésde l'élément, saisissez un nom plus explicite.
- Dans la vuePropriétésdu périmètre supérieurschemaL'élément racinea la valeurtns:File. RemplacerFileavec le nom pertinent que vous avez sélectionné pour l'élément racine.
- Pour supprimer des espaces supplémentaires de la sortie générée, sélectionnez la vuePropriétésdu périmètre supérieur.schemaélément. Sélectionnez+dans la liste déroulanteRemplissage. Enregistrez le schéma.