Définition et déploiement d'un modèle dynamique pour un code XML de sortie

Pour utiliser un modèle qui contient un sous-ensemble des éléments d'un modèle de sortie standard, créez un modèle de sortie dynamique.

A propos de cette tâche

Si vous souhaitez pouvoir supprimer certains éléments du modèle standard et peut-être ajouter vos propres éléments, pour cela, transmettez vos données XML ou un nom de fichier dans l'objet YFSEnvironment.

Pour définir et déployer un modèle dynamique, procédez comme suit :

Procédure

  1. Copiez le modèle de sortie standard pour l'API que vous souhaitez modifier depuis le fichier INSTALL_DIR /repository/xapi/template/merged/api/ Nom de fichier.xml vers INSTALL_DIR /extensions/global/template/api/ Nom de fichier.xml.

    Lorsque vous nommez votre nouveau fichier modèle, utilisez le même nom que le modèle standard

    Le nom du modèle de sortie correspond au nom de l'API ou de l'événement qui lui est associé. Par exemple, l'API getOrderDetails() prend le nom de fichier de modèle de sortie getOrderDetails.xml.

  2. Modifiez le modèle copié dans le répertoire /extensions/global/template/api de façon appropriée, en gardant à l'esprit les meilleures pratiques relatives à la création de modèles XML de sortie personnalisés.
  3. Durant une extensibilité de l'interface utilisateur, appelez la fonction setApiTemplate() sur l'objet YFSEnvironment. Vous pouvez ainsi indiquer un modèle de sortie avant l'appel d'une API, à l'aide de l'une des fonctions suivantes :
    • Données XML en tant que variable - comme dans l'exemple suivant :
      YFSEnvironment env = createEnv();
      Document doc = getTemplateDocument();
      env.setApiTemplate("getOrderDetails", doc);
      private YFSEnvironment createEnv() {
      //create new environment by passing the user id, program id, etc.
      }
      private Document getTemplateDocument() {
      //create a Document object containing the desired template XML.
      }
      
    • Fichier XML en tant que variable - comme dans l'exemple suivant :
      YFSEnvironment env = createEnv();
      env.clearApiTemplates();
      env.setApiTemplate("getOrderDetails", "myOrderDetails");
      private YFSEnvironment createEnv() {
      //create new environment by passing the user id, program id, etc.
      }

      L'API utilise ensuite le modèle transmis via YFSEnvironment pour générer le document XML de sortie. Pour plus de détails sur l'interface YFSEnvironment, voir Javadoc.