Definindo e implementando um modelo dinâmico para XML de saída

Se desejar usar um modelo que contém um subconjunto dos elementos no modelo de saída padrão, crie um modelo de saída dinâmico.

Sobre esta tarefa

Se desejar a capacidade de remover alguns elementos do modelo padrão e, talvez, incluir seus próprios elementos, você faz isso transmitindo seus dados XML ou um nome de arquivo para o objeto YFSEnvironment.

Para definir e implementar um modelo dinâmico:

Procedimento

  1. Copie o modelo de saída padrão para a API que você deseja modificar do arquivo <runtime_sandbox>/repository/xapi/template/merged/api/FileName.xml como <runtime_sandbox>/extensions/global/template/api/FileName.xml.

    Ao nomear seu novo arquivo de modelo, use o mesmo nome que o modelo padrão

    O nome do modelo de saída corresponde ao nome da API ou do evento associado a ela. Por exemplo, a API getOrderDetails() usa o arquivo de modelo de saída getOrderDetails.xml.

  2. Modifique o modelo copiado no diretório /extensions/global/template/api conforme necessário, tendo em mente as melhores práticas para criar modelos XML de saída customizados.
  3. Durante a extensibilidade da interface com o usuário, chame a função setApiTemplate() no objeto YFSEnvironment. Isso permite que você especifique um modelo de saída antes de chamar uma API, usando uma das funções a seguir:
    • Dados XML como uma variável - como no exemplo a seguir:
      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.
      }
      
    • Arquivo XML como uma variável - como no exemplo a seguir:
      YFSEnvironment env = createEnv();
      env.clearApiTemplates();
      env.setApiTemplate("getOrderDetails", "myOrderDetails");
      private YFSEnvironment createEnv() {
      //create new environment by passing the user id, program id, etc.
      }

      A API, então, usa o modelo transmitido através de YFSEnvironment para produzir o documento XML de saída. Para obter detalhes sobre a interface do YFSEnvironment, consulte o Javadoc