Dynamische Vorlagen für Ausgabe-XML-Dateien definieren und implementieren

Wenn Sie eine Vorlage verwenden möchten, die eine Teilmenge der Elemente in der Standardausgabevorlage enthält, erstellen Sie eine dynamische Ausgabevorlage.

Informationen zu diesem Vorgang

Wenn Sie Elemente aus der Standardvorlage entfernen und wahrscheinlich eigene Elemente hinzufügen möchten, können Sie dazu Ihre XML-Daten oder einen Dateinamen an das Objekt "YFSEnvironment" übergeben.

So definieren und implementieren Sie dynamische Vorlagen

Vorgehensweise

  1. Kopieren Sie die Standardausgabevorlage für die API, die Sie ändern möchten, aus der Datei <runtime_sandbox>/repository/xapi/template/merged/api/FileName.xml als <runtime_sandbox>/extensions/global/template/api/FileName.xml.

    Verwenden Sie beim Benennen Ihrer neuen Vorlagedatei denselben Namen wie für die Standardvorlage.

    Der Name der Ausgabevorlage entspricht dem Namen der API oder des Ereignisses, der/dem er zugeordnet ist. Zum Beispiel nimmt getOrderDetails( die Ausgabevorlagendatei getOrderDetails.xml.

  2. Ändern Sie die kopierte Vorlage im Verzeichnis /extensions/global/template/api nach Bedarf und beachten Sie dabei die bewährten Verfahren für die Erstellung angepasster XML-Ausgabevorlagen.
  3. Rufen Sie während der Erweiterung der Benutzerschnittstelle die Funktion "setApiTemplate()" für das Objekt "YFSEnvironment" auf. Auf diese Weise können Sie eine Ausgabevorlage angeben, bevor die API aufgerufen wird, indem Sie die folgenden Funktionen verwenden:
    • XML-Daten als Variable – wie im folgenden Beispiel:
      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.
      }
      
    • XML-Datei als Variable – wie im folgenden Beispiel:
      YFSEnvironment env = createEnv();
      env.clearApiTemplates();
      env.setApiTemplate("getOrderDetails", "myOrderDetails");
      private YFSEnvironment createEnv() {
      //create new environment by passing the user id, program id, etc.
      }

      Die in "YFSEnvironment" übergebene Vorlage wird dann von der API verwendet, um das Ausgabe-XML-Dokument zu erzeugen. Details zur Schnittstelle YFSEnvironment finden Sie in der Javadoc.