Gracias Jaime,
yo segui investigando ( llamese leyendo varias paginas )
y detecte, casi como vos, que el XML se complica si tiene un atributo.
Entonces cambie un poco el XML y las DS, quedaron asi:
*-------------------------------------------------------------*
* Estructuras *
*-------------------------------------------------------------*
d Error_t ds Qualified
d Error likeds(Error_ds) dim(50)
d Error_ds ds Qualified
d Cod 5S 0
d Message 50a Varying
D RGIS ds Qualified
D Result 5a
D Cia 2S 0
D NroTrnGis 8S 0
d Errores
d likeds(Error_t)
D V 10a
Y el XML:
<RGIS V="1.0">
<Result>OK</Result>
<Cia>1</Cia>
<NroTrnGis>100</NroTrnGis>
<Errores>
<Error>
<Cod>0000</Cod>
<Message>Desc Error 1</Message>
</Error>
<Error>
<Cod>0001</Cod>
<Message>Desc Error 2</Message>
</Error>
</Errores>
</RGIS>
A las opciones del XML-into, le agregue allownull=true,
allowmissing=true y allowextra=true
Lo que me fallaba de la version original era que faltaba una DS mas ,
de Errores a Error_t y de Error_t a Error.
Ahora si cuando parsea el XML, me queda un una estructura , por ejemplo
RGIS.Errores.Error.Cod(1) = 0
RGIS.Errores.Error.Message(1) = 'Desc Error 1'
Etc.
Para finalizar y agradecer a todos, solo me queda por resolver como
deberia representarse en una ds un tag de esta manera:
por ejemplo:
<City population=15000>Necochea</City>
El tag es City, el valor es Necochea, pero en el medio tengo un atributo
"population" con el valor 15000.
Eso quedara para algun alma caritativa que se ponga a investigar.
Saludos
Y gracias
Jaime Villa Torres escribió:
Nicolás, lo que adjunto, realmente no es la solución a tu problema,
pero buscando y buscando,
lo único que se pudo hacer, esta en el siguiente ejemplo
D RGIS ds Qualified
D V 10a
D Result 5a
D Cia 2S 0
D NroTrnGis 8S 0
d Cod 5S 0 dim(3)
d Error 60a dim(3)
*
d TramaXml S 1024 varying
*
/free
TramaXml = '<RGIS>' +
'<V>1.0</V>' +
'<Result>OK</Result>' +
'<Cia>1</Cia>' +
'<NroTrnGis>100</NroTrnGis>' +
'<Cod>0000</Cod><Error>1</Error>' +
'<Cod>0001</Cod><Error>1</Error>' +
'<Cod>0002</Cod><Error>n</Error>' +
'</RGIS>';
xml-into RGIS %XML(TramaXml : 'case=any');
*InLr = *On;
/end-free
La parte de la dim con 50 elementos no funciona, en el presente caso
deben ser 3 elementos.
----- Original Message -----
From: "Nicolas Machado" <[email protected]
<mailto:[email protected]>>
To: "forum.help400" <[email protected]
<mailto:[email protected]>>
Sent: Wednesday, July 15, 2009 4:11 PM
Subject: Consulta XML-into
Hola, estoy haciendo mis primeras incursiones con XML-into
No logro dar con la ds correcta para este XML:
<RGIS V="1.0">
<Result>OK</result>
<Cia>1</Cia>
<NroTrnGis>100</NroTrnGis>
<Errores>
<Error cod=0000>Error 1 </Error>
<Error cod=0001>Error 1 </Error>
<Error cod=0002>Error n </Error>
</Errores>
</RGIS>
El problema creo que lo tengo en el tag Error, que tiene un atributo.
Hice estas DS:
*-------------------------------------------------------------*
* Estructuras *
*-------------------------------------------------------------*
d Error ds Qualified
d Cod 5S 0
d Error 60a Varying
D RGIS ds Qualified
D V 10a
D Result 5a
D Cia 2S 0
D NroTrnGis 8S 0
d Errores
d likeds(Error) dim(50)
El tema, yo creo, es que no se como representar en DS el tag ERROR que
es un array y tiene un atributo.
por ahora el error es:
ID de mensaje . . . . : RNX0353 Gravedad . . . . . . . :
50
Tipo de mensaje . . . :
Escape
Fecha envío . . . . . : 15/07/09 Hora envío . . . . . . :
18:05:46
Mensaje . . . . : El documento XML no coincide con la variable RPG;
el
código de razón es
7.
Causa . . . . . : Al analizar un documento XML, el analizador ha
descubierto
que el documento XML no se corresponde con la variable RPG rgis y
las
opciones no permiten esto. El código de razón es 7. El subcampo exacto
para
el que se detectó el error es rgis.errores(1).error. Las opciones
son
"doc=file allowmissing=yes case=any". El nombre del documento XML
es
/tmp/GIS_RESP_METNGM.xml; *N indica que el documento XML no era un
archivo
externo.
Cualquier idea es bienvenida
gracias
--
.::.
Nicolas Machado
Metodo Argentina S.A.
_____________________
Tel: 02262 527431
Necochea, Buenos Aires.
__________________________________________________
Forum.HELP400 es un servicio m&#225;s de ServerNEWS.
&#169; Publicaciones Help400, S.L. - Todos los derechos reservados
http://www.help400.es
_____________________________________________________
Para darte de baja visita la siguente URL:
http://listas.combios.es/mailman/listinfo/forum.help400
------------------------------------------------------------------------
__________________________________________________
Forum.HELP400 es un servicio m&#225;s de ServerNEWS.
&#169; Publicaciones Help400, S.L. - Todos los derechos reservados
http://www.help400.es
_____________________________________________________
Para darte de baja visita la siguente URL:
http://listas.combios.es/mailman/listinfo/forum.help400
--
.::.
Nicolas Machado
Metodo Argentina S.A.
_____________________
Tel: 02262 527431
Necochea, Buenos Aires.
____________________________________________________
© Publicaciones Help400, S.L. - Todos los
derechos reservados http://www.help400.es
----------------------------------------------------
Para darte de baja visita la siguente URL:
http://listas.combios.es/mailman/listinfo/forum.help400