Cette fonction est fournie dans le cadre de l'utilisation de l'Adélia Print Engine.
Cette fonction est une version étendue de VaToolBxAPEMergeAndTransformDoc . Elle fait le même traitement tout en rajoutant un paramètre supplémentaire en entrée-sortie permettant de récupérer des informations sur le document produit.
Remarque : cette fonction est le pendant Adélia du service Web "mergeandtransform" de l'APE.
Domaine d'application
- Client Java,
- Serveur Java,
- Client Adélia Web,
- Client Adélia Cloud.
Paramètres
ALPHA(n) |
NomEspaceNoms |
Nom de l'espace de noms. |
ALPHA(n) |
NomDuGabarit |
Nom du gabarit à traiter. |
ALPHA(n) |
Locale |
Nom de la locale (au format IETF BCP 47) à appliquer lors de la recherche et le traitement du gabarit. |
ALPHA(n) |
NomModele |
Nom du modèle de données servant de source de données lors du traitement du gabarit . |
ALPHA(n) |
TypeMime |
Format de sortie du document résultat. La chaîne doit être au format défini par la RFC 6838 (cliquez ici pour plus d'informations). |
ALPHA(n) ou IMAGE |
Options |
Définition des options à appliquer lors du traitement du gabarit et de la transformation du document. |
IMAGE ou ALPHA(n) |
MergeTransformDoc |
Lorsque le paramètre est une variable de type IMAGE, elle contiendra le document résultat du traitement par l'APE du gabarit NomDuGabarit avec la source de données NomModele. Si le paramètre est de type ALPHA(n), le document résultat est écrit dans l'URI indiquée dans la variable alphanumérique. |
ALPHA(n) ou IMAGE | ExtraParams | Paramètre en entrée-sortie au format d'objet JSON. Chaque attribut de cet objet doit avoir un nom parmi les éléments suivants :
|
NUM_BIN_2 |
CodeRetour |
Code retour de l'opération : 0 : L'opération s'est déroulée correctement. -1 : Le nom du gabarit ne peut être vide. -2 : Le nom du modèle de données ne correspond à aucun modèle de données déjà créé. -3 : Erreur lors de la fermeture du document issu de l'étape de merge. -4 : Erreur lors de l'analyse syntaxique au format JSON des options de traitement "Options". -5 : Erreur lors de l'analyse des valeurs des options de traitement "Options". -6 : Erreur d'entrée/sortie lors de l'analyse des options de traitement "Options". -7 : Le paramètre "Options" doit être de type ALPHA ou IMAGE. -8 : Le paramètre "MergeTransformDoc" doit être de type ALPHA ou IMAGE. -9 : Erreur lors du traitement du paramètre "MergeTransformDoc" en tant qu'URI. -10 : Erreur lors de la fermeture du document résultat "MergeTransformDoc". -11 : Le paramètre "ExtraParams" doit être de type ALPHA ou IMAGE. -12 : Erreur lors de l'analyse syntaxique au format JSON des options de traitement "ExtraParams". -13 : Erreur lors de l'analyse des valeurs des options de traitement "ExtraParams". -14 : Erreur d'entrée/sortie lors de l'analyse des options de traitement "ExtraParams". -15 : Erreur lors de la mise à jour du paramètre "ExtraParams". Les erreurs décrites ci-dessous sont liées au traitement Freemarker du gabarit : 1 : Erreur lors du traitement de l'option "jsonPathConv" pour la conversion des données dans la source des données. 2 : Erreur lors de la fusion des données supplémentaires au document résultat Freemarker. 3 : Erreur lors de la recherche du gabarit : impossible de trouver le gabarit demandé. 4 : Le nom du gabarit est mal formé conformément au format de nom de gabarit utilisé. 5 : Erreur lors de l'analyse syntaxique du gabarit. 6 : Erreur d'entrée/sortie lors du traitement du gabarit. 7 : Erreur lors de l'exécution du traitement du gabarit. 8 : Erreur lors du traitement de l'option "jsonGenerator" pour la génération de la source de données factice. 9 : Erreur interne lors du traitement Freemarker du gabarit. 10 : Erreur lors du formatage du document issu de l'étape de merge. Les erreurs décrites ci-dessous sont liées au traitement du document issu de l'étape de merge par le moteur Apache FOP : 31 : Erreur à la création du moteur Apache FOP. 32 : Erreur lors de la création du transformateur de document. 33 : Erreur lors de la transformation du document issu de l'étape de merge. 34 : Erreur d'entrée/sortie lors du traitement du document résultat. 35 : Erreur interne lors du traitement du document issu de l'étape de merge par le moteur. |
Espace de noms
Il s'agit d'un espace de regroupement de templates.
On peut comparer les espaces de noms à des dossiers : le comportement est identique à un dossier, il est possible d'avoir des éléments de même nom dans différents espaces de noms.
De plus, un espace de noms peur contenir d'autres espaces de noms.
Cliquez ici pour plus de détails.
Locale
Elle permet de particulariser le gabarit à rechercher en fonction des informations constituant la locale (le code de la langue, le code du pays ou de la région et la variante).
Cliquez ici pour plus de détails.
Formats de sortie du moteur Apache FOP
Ce moteur supporte plusieurs formats de sortie.
Options de traitement du gabarit et de transformation du document XSL-FO
Le paramètre "Options" regroupe les options des fonctions VaToolBxAPEMergeDoc et VaToolBxAPETransformDoc.
Le format des options doit être le format JSON.
Ce doit être un objet dont chaque membre décrit les options des deux fonctions VaToolBxAPEMergeDoc, à savoir :
- merge : regroupe dans un objet les options de la fonction VaToolBxAPEMergeDoc,
- transform : regroupe dans un objet les options de la fonction VaToolBxAPETransformDoc.
Voir section "options" de "mergedoc" et section "options" dans "transformxslfo".
Par exemple
ALPHA(250) |
URI |
NUM_BIN_2 |
returnCode |
ALPHA(256) |
extraParams |
ALPHA(256) |
xmlDoc |
xml_idf |
idfXmlDoc |
NUM_BIN_2 |
totalNbPages |
URI = 'file:///c:/bdcadel/detailarticle.pdf'
* Préparation du paramètre supplémentaire de demande du nombre total de pages du document construit
extraParams = '{"Ape-Total-Number-Pages": null}'
APPELER_DLL 'VaToolbx.dll' 'VaToolBxAPEMergeAndTransformDocEx' 'stock/article' 'detailArticle.ftlx' 'fr' 'articleDataModel' 'application/pdf' *BLANK URI extraParams returnCode
* Extraire le nombre total de pages du paramètre JSON extraParams
conv_donnees extraParams 'JSON' xmlDoc 'XML'
xml_ouvrir idfXmlDoc *lecture *var_doc(xmlDoc)
xml_selection idfXmlDoc //Ape-Total-Number-Pages
XML_RECUP_VAL idfXmlDoc totalNbPages
↑ Haut de pagexml_fermer idfXmlDoc