Ver Mensaje Individual
  #11
Antiguo 11 de septiembre de 2015, 04:30
Eslopes
Creador de
PowerRustCOBOL
Guru de los Gurus: Por solidos y amplios conocimientos - Issue reason: Por ámplios conocimientos en la materia Concurso: Tercer puesto: Ganador/a del Tercer puesto en un concurso - Issue reason: Juego  Innovación: Por aportar innovaciones - Issue reason: Por aportar soluciones innovadoras 
Última Actividad 03.10.2026 11:56
Posts Posts: 369
Likes enviados Enviados: 30
Likes recibidos Recibidos: 162

Olá,

selecionei a DLL MSXML.DLL que vem com o Windows (desde XP). Criei o seguinte OCB

Código COBOL:
  1. 000010 IDENTIFICATION    DIVISION.
  2. 000020 CLASS-ID.     POWXML.
  3. 000030 ENVIRONMENT   DIVISION.
  4. 000040 CLASS         SECTION.
  5. 000050     INHERIT POWFUND EXTERNAL.        *> ƒNƒ‰ƒXŒp�³‚Ì‹L�q
  6. 000060 DATA      DIVISION.
  7. 000070 CLASS         SECTION.
  8.  
  9. 000100 PROCEDURE    DIVISION.
  10.  
  11. 001010     FUNCTION LOAD (BY CONTENT TYPE IS ALPHANUMERIC PIC X(256)) IS EXTERNAL
  12. 001020          REPLACING NAME BY "XPOWIXMLDOMDOCLOADXML" .
  13. 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:
  1. 01 filename pic x(256) value "c:\book.xml".
  2.  
  3. call LOAD OF MSXML USING filename

deve resultar na compilação em :

Código COBOL:
  1. 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
Eslopes is offline   Responder Con Cita