Skip to main content


class Ens.DTL.Compiler extends %Library.RegisteredObject

This is the DTL Compiler. It it called primarily during the compilation process of subclasses of Ens.DataTransformDTL that define a DTL XDATA block. However, it can be called to directly compile a file or a stream containing DTL These debug flags affect the diagnostic output of the compiler:- ^Ens.Debug("ShowGeneratedXML") - Displays xml reconstructed from the parse tree to the current device

Property Inventory

Method Inventory


property ClassName as %String;
This holds the name of the data transform class
Property methods: ClassNameDisplayToLogical(), ClassNameGet(), ClassNameIsValid(), ClassNameLogicalToDisplay(), ClassNameLogicalToOdbc(), ClassNameNormalize(), ClassNameSet()
property Implementation as %RawString [ Transient ];
This holds the method implementation stream
Property methods: ImplementationGet(), ImplementationIsValid(), ImplementationSet()
property Indent as %String [ InitialExpression = $char(9) ];
Property methods: IndentDisplayToLogical(), IndentGet(), IndentIsValid(), IndentLogicalToDisplay(), IndentLogicalToOdbc(), IndentNormalize(), IndentSet()
property Language as %String;
This holds the language of the current compilation
Property methods: LanguageDisplayToLogical(), LanguageIsValid(), LanguageLogicalToDisplay(), LanguageLogicalToOdbc(), LanguageNormalize(), LanguageSet()
property Transform as Ens.DTL.Transform;
This holds the root of the Parse Tree
Property methods: TransformGet(), TransformGetSwizzled(), TransformIsValid(), TransformNewObject(), TransformSet()


method AddIndent()
classmethod CompileStream(pStream As %BinaryStream, pClass As %Dictionary.ClassDefinition, pMethod As %Stream.MethodGenerator) as %Status
Parse the DTL contained in the supplied stream and generate a stream containing the implementation of the Transform method
classmethod GenerateCode(pTransform As Ens.DTL.Transform, pClass As %Dictionary.ClassDefinition, pMethod As %Stream.MethodGenerator) as %Status
classmethod GenerateXML(pTransform As Ens.DTL.Transform) as %Status
method LanguageGet() as %String
Accesor for Language
classmethod ParseStream(Output pTransform As Ens.DTL.Transform, pStream As %BinaryStream) as %Status
method RemoveIndent()

Inherited Members

Inherited Methods

FeedbackOpens in a new tab