COBOL - PROCEDURE DIVISION - XML GENERATE - Format conversion of elementary data



Desenvolvido por DORNELLES Carlos Alberto - Analista de Sistemas - Brasília DF. - cad_cobol@hotmail.com

COBOL - PROCEDURE DIVISION - XML GENERATE - Format conversion of elementary data
Enterprise COBOL for z/OS, V6.3.0, Language Reference

Os itens de dados elementares no identifier-2 são convertidos em uma sequência de várias etapas, algumas delas são opcionais, conforme descrito abaixo.

Conversão para formato de caracter:

Os itens de dados elementares são convertidos para o formato de caractere, dependendo do tipo do item de dados:

  • Os itens de dados da categoria alfabética, alfanumérica, editada alfanumérica, DBCS, ponto flutuante externo, nacional, editada nacional e editada numérica não são convertidos.

  • Itens de dados numéricos de ponto fixo que não sejam itens de dados binários COMPUTATIONAL-5 (COMP-5) ou itens de dados binários compilados com a opção do compilador TRUNC (BIN) são convertidos como se fossem movidos para um item editado numérico que possui:
    • Tantas posições inteiras quanto o item numérico, mas com pelo menos uma posição inteira
    • Um ponto decimal explícito, se o item numérico tiver pelo menos uma posição decimal
    • O mesmo número de casas decimais que o item numérico possui
    • Um símbolo de imagem inicial '-' se o item de dados estiver assinado (possui um S na cláusula PICTURE)

  • Os itens de dados binários COMPUTATIONAL-5 (COMP-5) ou itens de dados binários compilados com a opção do compilador TRUNC (BIN) são convertidos da mesma maneira que os outros itens numéricos de ponto fixo, exceto o número de posições inteiras.

    O número de posições inteiras é calculado dependendo do número de símbolos '9' na cadeia de caracteres da imagem da seguinte maneira:
    • 5 menos o número de casas decimais, se o item de dados tiver 1 a 4 '9' símbolos da picture
    • 10 menos o número de casas decimais, se o item de dados tiver 5 a 9 '9' símbolos da picture
    • 20 menos o número de casas decimais, se o item de dados tiver 10 a 18 '9' símbolos da picture

  • Os itens de dados de ponto flutuante interno são convertidos como se fossem movidos para um item de dados da seguinte maneira:
    • Para COMP-1: um item de dados de ponto flutuante externo com PICTURE -9. 9(8) E + 99
    • Para COMP-2: um item de dados de ponto flutuante externo com PICTURE -9. 9(17) E + 99 (ilegal por causa do número de posições de dígitos)

  • Os itens de dados do índice são convertidos como se tivessem sido declarados USAGE COMP-5 PICTURE S9(9).

Trimming:

Após qualquer conversão para o formato de caractere, os espaços à esquerda e à direita e os zeros à esquerda são eliminados, conforme descrito em Trimming of generated XML data.

Conversão para a codificação do documento:

Se o identifier-1 for um item de dados da categoria nacional, quaisquer valores não nacionais serão convertidos para o formato nacional.

Conversão de caracteres especiais em referências XML:

Quaisquer instâncias restantes dos cinco caracteres & (e comercial), ' (apóstrofo), > (sinal maior que), < (sinal menor que) e " (aspas) são convertidas nas referências XML equivalentes '&amp;', '&apos;', '&gt;', '<', and '&quot;', respectivamente.

Substituição de caracteres Unicode fora do intervalo:

Qualquer caractere Unicode restante que tenha um valor escalar Unicode maior que x'FFFF 'será substituído por uma referência de caractere XML.
Por exemplo, se o documento contiver um caractere com valor escalar Unicode x'10813 ', em UTF-16, esse valor será representado pelo par substituto (NX'D802', NX'DC13 '), que será substituído pela referência' & # x10813; '.
Para uma codificação de documento de UTF-8, a sequência de bytes equivalente à referência de caracteres '& # x10813;' é X'F090A093 '.



© Copyright IBM Corp.