A estrutura do POSXML

A estrutura do POSXML

Segue o padrão aberto XML, amplamente difundido na indústria de software. O padrão XML é totalmente flexível e possibilita rápida expansão. Todas as regras de formatação aplicadas ao XML continuam existindo no POSXML. Alguma dessas são descritas abaixo:

1. Organização e Estrutura

A linguagem POSXML é organizada e estruturada em forma de tags com níveis e subníveis de comandos que formam a estrutura lógica do aplicativo POSXML. Uma tag pode ser identificada quando está entre os sinais < (menor) e > (maior), onde a mesma deve obrigatoriamente ser aberta e fechada.

Exemplo

<aplicativoposxml xmlns="http://tempuri.org/posxml.xsd">
   ...
   ...
</aplicativoposxml>

2. Tag Pai ou Tag Root

Todo aplicativo POSXML deve obrigatoriamente possuir uma tag pai ou tag root, e possuir um nome válido, obedecendo ao critério de abertura e fechamento da mesma.

Abaixo da tag root, devemos obrigatoriamente ter uma tag chamada <pagina>, que delimita um bloco da aplicação que é executado conforme solicitado.

A <pagina nome=“principal”> é a primeira a ser executada, e a única que fica armazenada no terminal. Nela devemos escrever toda a lógica de nosso programa.

Ao fazermos qualquer modificação na <pagina nome=“principal”> e o terminal se conectar ao host, a mensagem WALK: Aplicativo Atualizado! aparecerá na tela do terminal.

As demais páginas além da principal, podem ser utilizadas para escrever tickets de impressão ou lógicas de confirmação. Lembre-se: Apenas a página principal fica armazenada no terminal, as demais são compiladas em tempo de execução e enviadas pelo host ao terminal.

A execução se inicia na página principal, e após executar a sequência de comandos, se assim for especificado o terminal vai se conectar ao host. Cabe ao host especificar o retorno contendo o nome da próxima <pagina> a ser executada. Assim é possível navegar entre as páginas segundo instruções do host autorizador.

Conforme mencionado, a página principal inicia sua execução imediata no terminal POS sem nenhum tipo de conexão. Apenas se a página principal do host estiver diferente da página principal do terminal é que esta será atualizada.

<aplicativoposxml xmlns="http://tempuri.org/posxml.xsd">
  <pagina nome= "principal">
    <display linha="1" coluna="0" mensagem="Aplicativo PosXML" />
    <display linha="2" coluna="0" mensagem="Plano Be Tecnologia"/>
    <esperatecla />
    <limpadisplay />
    <conectar />
  </pagina>
</aplicativoposxml>

3. Case sensitive

A linguagem POSXML é case sensitive, portando existem diferenças entre palavras com letras minúsculas e palavras com letras maiúsculas. Devemos ficar atentos ao escrever aplicativos, principalmente ao nomear funções e variáveis.

No exemplo abaixo a função que será chamada é a segunda, porque mostramensagem não é igual a mostraMensagem.

<aplicativoposxml xmlns="http://tempuri.org/posxml.xsd">
  <pagina nome= "principal">
    <chamafuncao nome="mostramensagem" />
    
    <funcao nome="mostraMensagem">
      <display linha="0" coluna="0" mensagem=" Mensagem 1" />
      <esperatecla />
    </funcao>

    <funcao nome="mostramensagem">
      <display linha="0" coluna="0" mensagem=" Mensagem 2" />
      <esperatecla />
    </funcao>

  </pagina>
</aplicativoposxml>

4. Caracteres reservados

Todos os caracteres reservados na linguagem XML continuam existindo na linguagem POSXML e devem ser escritos da maneira correta.

Os símbolos a seguir devem ser escritos da seguinte maneira:

< &lt;
> &gt;
& &amp;
' &apos;
" &quot;

Exemplo

Para exibir uma mensagem com o símbolo de menor (<), a sintaxe ficaria assim:

<aplicativoposxml xmlns="http://tempuri.org/posxml.xsd">
  <pagina nome= "principal">
    <chamafuncao nome="mostramensagem" />
    
    <funcao nome="mostramensagem">
      <display linha="0" coluna="0" mensagem="&lt; = menor" />
      <esperatecla />
    </funcao>

  </pagina>
</aplicativoposxml>

5. Comentários

Blocos de comentários podem ser utilizados com as tags <!-- e -->, por exemplo:

<aplicativoposxml xmlns="http://tempuri.org/posxml.xsd">
  <pagina nome= "principal">

    <!-- função que mostra uma mensagem no display -->
    <funcao nome="mostramensagem">
      <display linha="0" coluna="0" mensagem="&lt; = menor" />
      <esperatecla />
    </funcao>

  </pagina>
</aplicativoposxml>