Class Reference
IRIS for UNIX 2024.1.2
InterSystems: The power behind what matters   
Documentation  Search
  [USER] >  [%XGEN] >  [AbstractDocument]
Private  Storage   

abstract class %XGEN.AbstractDocument extends %XGEN.AbstractNode, %XGEN.AbstractGroup, %Studio.SASchemaClass

Note: This class is included because it is needed by other parts of the library. You should not use this or any other class within this package within your applications as a future version will be incompatible. If you are interested in this functionality please contact InterSystems.

This is the base class for XGEN documents.

XGEN: XML-based Code Generation Language

XGEN is a framework for creating specialized code generators that are driven by an XML-based specification.

Overview:
XGEN contains a set of base classes from which a user can implement an XML-based code generator.

An XGEN document is an XML document that can be compiled into executable code. Every activity within an XGEN document is implemented as a class.
Within an XGEN document, each XGEN class provides the following:

Inventory

Parameters Properties Methods Queries Indices ForeignKeys Triggers
2


Summary

Properties
children name skipChildren

Methods
%AddToSaveSet %ClassIsLatestVersion %ClassName %ConstructClone
%DispatchClassMethod %DispatchGetModified %DispatchGetProperty %DispatchMethod
%DispatchSetModified %DispatchSetMultidimProperty %DispatchSetProperty %Extends
%Generate %GenerateCode %GenerateDefaultCode %GetParameter
%Indent %IsA %IsModified %New
%NormalizeObject %ObjectModified %OnAfterGenerateCode %OnBeforeGenerateCode
%OnGenerateCode %OriginalNamespace %PackageName %RemoveFromSaveSet
%SerializeObject %SetModified %ValidateObject GetAttrsForClass
GetElementsForClass GetXMLElementsForClass GetXMLNameForClass IsUpToDate
OutputToFile OutputToStream SchemaToPrefix XMLDTD
XMLExport XMLExportToStream XMLExportToString XMLName2DisplayName
XMLName2NameSpace XMLName2ShortName XMLNew XMLSchema
XMLSchemaNamespace XMLSchemaType

Subclasses
%Installer.Manifest

Methods

• classmethod %Generate(pTargetClass As %Dictionary.CompiledClass, pCode As %Stream.TmpCharacter, pXDataName As %String) as %Status
This method is called from a method generator within a target class. It generates code for the method.
pTargetClass is the compiled class definition for the target class.
pCode is a character stream that contains the generated code.
pXDataName is the name of the XData block containing the XGEN document definition.
• classmethod %GenerateDefaultCode(pTargetClass As %Dictionary.CompiledClass, pCode As %Stream.TmpCharacter, pXDataName As %String) as %Status
This method is invoked when there is no XDATA block defined in the target class.


Copyright (c) 2025 by InterSystems Corporation. Cambridge, Massachusetts, U.S.A. All rights reserved. Confidential property of InterSystems Corporation.