read attribute in the Xdata block

Caché

I need to read the sourceClass attribute of the transform node in the Xdata block of a dtl.

given:

Class EXC.DTL.Lamont Extends Ens.DataTransformDTL [ DependsOn = (Sam.msg.lamont, Sam.lamontNext) ]
{

Parameter IGNOREMISSINGSOURCE = 1;

Parameter REPORTERRORS = 1;

Parameter TREATEMPTYREPEATINGFIELDASNULL = 0;

XData DTL [ XMLNamespace = "http://www.intersystems.com/dtl]
{
<transform sourceClass='Sam.msg.lamont'  targetClass='Sam.RM.lamontNext' create='new' language='objectscript' >
<annotation>Sample transformationannotation>
<code>

 

I need to return the value 'Sam.msg.lamont'  for the DTL.

Can someone point me in the right direction?

 

Thank you.

 

My progress so far is:

Set xdataID="EXC.DTL.DBEXCRXDEERWALK||DTL"
where
EXC.DTL.DBEXCRXDEERWALK is the dtl class

Set tStream=##class(%Dictionary.CompiledXData).%OpenId(xdataID)

Set tsc=##class(%XML.XPATH.Document).CreateFromStream(tStream,.tDoc)

  • 0
  • 0
  • 93
  • 0
  • 1

Answers

Please, use the DTL class properties

set obj=##class(EXC.DTL.Lamont).%New()

write 'Source type: '_obj.GetSourceType()

write 'Target type: '_obj.GetTargetType()

Have a look the following documentation

Ens.DataTransformDTL

 

Best regards,

Francisco López