Olá,
selecionei a DLL MSXML.DLL que vem com o Windows (desde XP). Criei o seguinte OCB
Código COBOL:
000010 IDENTIFICATION DIVISION.
000020 CLASS-ID. POWXML.
000030 ENVIRONMENT DIVISION.
000040 CLASS SECTION.
000050 INHERIT POWFUND EXTERNAL. *> ƒNƒ‰ƒXŒp�³‚Ì‹L�q
000060 DATA DIVISION.
000070 CLASS SECTION.
000100 PROCEDURE DIVISION.
001010 FUNCTION LOAD (BY CONTENT TYPE IS ALPHANUMERIC PIC X(256)) IS EXTERNAL
001020 REPLACING NAME BY "XPOWIXMLDOMDOCLOADXML" .
001090 END CLASS POWXML.
A DLL possui centenas de métodos então selecionei um dos mais fáceis e importantes: IXMLDOMDocument::loadXML. Este método recebe uma string com o caminho no sistema operacional onde está o arquivo XML e carrega o mesmo em memória, realizando o parse (depois poderemos buscar informações no XML).
Estou sugerindo o nome de método do Power abaixo
XPOWIXMLDOMDOCLOADXML
Este método deverá substituir a chamada do método, seguindo o exemplo:
Código COBOL:
01 filename pic x(256) value "c:\book.xml".
call LOAD OF MSXML USING filename
deve resultar na compilação em :
Código COBOL:
CALL "XPOWIXMLDOMDOCLOADXML" WITH STDCALL USING BY CONTENT filename
Alguns problemas que vejo:
Onde será definido XPOWIXMLDOMDOCLOADXML ?
Quem gera o código final ? O power?
Como inserir o objeto MSXML na ventana "Item box" do Power?
Saludos, Emerson