FAQ: 55486-Suporte a XML em WebSpeed
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.