Question
Oleksandr Kyrylov · Apr 19

HS.SDA3.Container TO EnsLib.EDI.XML.Document

Hello community!

I want to create this transformation to access all property paths in HS.SDA3.Container using EnsLib.EDI.XML.Document.GetContentArray method.

I tried to do the following:

set container = ##class(HS.SDA3.Container).%New()
do container.XMLExportToString(.str)
set ediDoc = ##class(EnsLib_EDI_XML.Document).ImportFromString(str) 

Problem is that str variable contains only top element of the xml object that looks like "<Container></Container>", but i need a whole object structure like:

<Container>
  <Patient>
      <FirstName></FirstNama>
      <LastName></LastName>
      ...
  </Patient
    ....
</Container>"

to access the property paths that are provided by EnsLib.EDI.XML.Document.GetContentArray method like:

Container.Patient.FirstName, Container.Patient.LastName.

After few hours researching i found why this happens. Because parent class HS.SDA3.DataType overrides the parameter XMLIGNORENULL of %XML.Adaptor specialy for prevent export empty tags.

I need the paths to create data transformation class definition (Ens.DataTransformDTL). It uses the paths  to map target and source fields 

Do you have any ideas how to get the list of all property paths that are in HS.SDA3.Container?

Thanks!

 

0
0 125
Discussion (0)1
Log in or sign up to continue