Home

TOTVS | Plataformas e tecnologias

Árvore de páginas

FAQ: 55486-Suporte a XML em WebSpeed
Produto:Datasul
Versão:1
Sintoma
55486-Suporte a XML em WebSpeed
Causa
Suporte a XML em WebSpeed
Solução

O WebSpeed tem um suporte integrado a XML. Quando um documento XML é enviado a um programa WebSpeed, este já é repassado automaticamente para uma variável de sessão do tipo handle, contendo uma referência a um X-Document representando o documento XML.

Para isto basta trabalhar com o objeto Session e as propriedades Is-XML e X-Document, para facilitar apresento o código do procedimento process-web-request de um programa WebSpeed que trabalha com estas propriedades:

PROCEDURE process-web-request:

/*
* Output the MIME header and set up the object as state-less or state-aware.
* This is required if any HTML is to be returned to the browser.
*/
RUN outputHeader.

{&OUT}
"<HTML>":U SKIP
"<HEAD>":U SKIP
"<TITLE> {&FILE-NAME} </TITLE>":U SKIP
"</HEAD>":U SKIP
"<BODY>":U SKIP
.

/* Output your custom HTML to WEBSTREAM here (using {&OUT}). */
IF WEB-CONTEXT:IS-XML AND
VALID-HANDLE(WEB-CONTEXT:X-DOCUMENT) THEN DO:
DEFINE VARIABLE h-xml AS HANDLE NO-UNDO.
DEFINE VARIABLE m-xml AS MEMPTR NO-UNDO

ASSIGN h-xml = WEB-CONTEXT:X-DOCUMENT.

h-xml:SAVE("MEMPTR":U, m-xml).

{&OUT}
"<P>":U
GET-STRING(m-xml, 1)
"</P>":U SKIP
.

SET-SIZE(m-xml) = 0.
END.

{&OUT}
"</BODY>":U SKIP
"</HTML>":U SKIP
.

END PROCEDURE.