Skip to main content


deprecated class %ZEN.Report.Display.table extends %ZEN.Report.Display.childrenNode, %ZEN.Report.Display.tableOutput

This class defines how tables are displayed within a generated ZEN report stylesheet.

Property Inventory

Method Inventory


property align as %ZEN.Datatype.align;
Specifies the alignment of the table within the page or its current container (table cell, etc.)
Property methods: alignDisplayToLogical(), alignGet(), alignIsValid(), alignLogicalToDisplay(), alignLogicalToOdbc(), alignNormalize(), alignSet()
property altcolor as %ZEN.Datatype.color;
This property specifies the background color of the alternate rows (2, 4, 6, ...). This is only possible when orient="col" and group is defined. Currently only works with orient="col".
Property methods: altcolorDisplayToLogical(), altcolorGet(), altcolorIsValid(), altcolorLogicalToDisplay(), altcolorLogicalToOdbc(), altcolorNormalize(), altcolorSet()
property crosstab as %ZEN.Datatype.boolean;
Property methods: crosstabDisplayToLogical(), crosstabGet(), crosstabIsValid(), crosstabLogicalToDisplay(), crosstabLogicalToOdbc(), crosstabLogicalToXSD(), crosstabNormalize(), crosstabSet(), crosstabXSDToLogical()
property dataType as %ZEN.Datatype.string (VALUELIST = ",text,number,qname", XMLNAME = "data-type") [ InitialExpression = "text" ];
specify type of data used in table sort orderby - text, number or qname
Property methods: dataTypeDisplayToLogical(), dataTypeGet(), dataTypeIsValid(), dataTypeLogicalToDisplay(), dataTypeLogicalToOdbc(), dataTypeNormalize(), dataTypeSet()
property defaultWidth as %ZEN.Datatype.string;
Property methods: defaultWidthDisplayToLogical(), defaultWidthGet(), defaultWidthIsValid(), defaultWidthLogicalToDisplay(), defaultWidthLogicalToOdbc(), defaultWidthNormalize(), defaultWidthSet()
property excelGroupName as %ZEN.Datatype.caption [ InitialExpression = "group" ];
Property methods: excelGroupNameDisplayToLogical(), excelGroupNameGet(), excelGroupNameIsValid(), excelGroupNameLogicalToDisplay(), excelGroupNameLogicalToOdbc(), excelGroupNameNormalize(), excelGroupNameSet()
property excelSheetName as %ZEN.Datatype.caption [ InitialExpression = "sheet" ];
Property methods: excelSheetNameDisplayToLogical(), excelSheetNameGet(), excelSheetNameIsValid(), excelSheetNameLogicalToDisplay(), excelSheetNameLogicalToOdbc(), excelSheetNameNormalize(), excelSheetNameSet()
property field as %ZEN.Datatype.string (XMLPROJECTION = "NONE");
Property methods: fieldDisplayToLogical(), fieldGet(), fieldIsValid(), fieldLogicalToDisplay(), fieldLogicalToOdbc(), fieldNormalize(), fieldSet()
property foBlockStyle as %ZEN.Datatype.string;
Property methods: foBlockStyleDisplayToLogical(), foBlockStyleGet(), foBlockStyleIsValid(), foBlockStyleLogicalToDisplay(), foBlockStyleLogicalToOdbc(), foBlockStyleNormalize(), foBlockStyleSet()
property foHeaderStyle as %ZEN.Datatype.string;
Property methods: foHeaderStyleDisplayToLogical(), foHeaderStyleGet(), foHeaderStyleIsValid(), foHeaderStyleLogicalToDisplay(), foHeaderStyleLogicalToOdbc(), foHeaderStyleNormalize(), foHeaderStyleSet()
property foStyle as %ZEN.Datatype.string;
Property methods: foStyleDisplayToLogical(), foStyleGet(), foStyleIsValid(), foStyleLogicalToDisplay(), foStyleLogicalToOdbc(), foStyleNormalize(), foStyleSet()
property group as %ZEN.Datatype.string;
Specifies a group of data for the table to display. See the <group> class for more information on displaying groups. In this case, each record contained within the group will appear as a new row/column of the table.
Property methods: groupDisplayToLogical(), groupGet(), groupIsValid(), groupLogicalToDisplay(), groupLogicalToOdbc(), groupNormalize(), groupSet()
property groupby as %ZEN.Datatype.string;
xpath by which the group will be group-by
Property methods: groupbyDisplayToLogical(), groupbyGet(), groupbyIsValid(), groupbyLogicalToDisplay(), groupbyLogicalToOdbc(), groupbyNormalize(), groupbySet()
property groupstartingwith as %ZEN.Datatype.string;
xpath by which the group will be group-starting-with
Property methods: groupstartingwithDisplayToLogical(), groupstartingwithGet(), groupstartingwithIsValid(), groupstartingwithLogicalToDisplay(), groupstartingwithLogicalToOdbc(), groupstartingwithNormalize(), groupstartingwithSet()
property layout as %ZEN.Datatype.string (VALUELIST = ",none,fixed,auto") [ InitialExpression = "fixed" ];
Possible values are "auto" and "fixed."
Currently, Apache's FOP rendering engine only supports "fixed."
Property methods: layoutDisplayToLogical(), layoutGet(), layoutIsValid(), layoutLogicalToDisplay(), layoutLogicalToOdbc(), layoutNormalize(), layoutSet()
property linefeedTreatment as %ZEN.Datatype.string (VALUELIST = ",ignore,preserve,treat-as-space,treat-as-zero-width-space", XMLNAME = "linefeed-treatment");
Set the linefeed-treatment (a property defined by XSL-FO standard)
Property methods: linefeedTreatmentDisplayToLogical(), linefeedTreatmentGet(), linefeedTreatmentIsValid(), linefeedTreatmentLogicalToDisplay(), linefeedTreatmentLogicalToOdbc(), linefeedTreatmentNormalize(), linefeedTreatmentSet()
property oldSummary as %ZEN.Datatype.boolean [ InitialExpression = 1 ];
Property methods: oldSummaryDisplayToLogical(), oldSummaryGet(), oldSummaryIsValid(), oldSummaryLogicalToDisplay(), oldSummaryLogicalToOdbc(), oldSummaryLogicalToXSD(), oldSummaryNormalize(), oldSummarySet(), oldSummaryXSDToLogical()
property onCreateResultSet as %ZEN.Datatype.string;
Specifies callback method which returns ResultSe
Property methods: onCreateResultSetDisplayToLogical(), onCreateResultSetGet(), onCreateResultSetIsValid(), onCreateResultSetLogicalToDisplay(), onCreateResultSetLogicalToOdbc(), onCreateResultSetNormalize(), onCreateResultSetSet()
property ongetData as %ZEN.Datatype.string;
Specifies call back method to get data for table, method must fill in two dimensional array where rows are first index and columns are second index.

When retrieving data, only works with fieldNum in item. Cannot use fieldname.

Property methods: ongetDataDisplayToLogical(), ongetDataGet(), ongetDataIsValid(), ongetDataLogicalToDisplay(), ongetDataLogicalToOdbc(), ongetDataNormalize(), ongetDataSet()
property orderby as %ZEN.Datatype.string;
comma separated list of xpaths by which the table will be sorted
Property methods: orderbyDisplayToLogical(), orderbyGet(), orderbyIsValid(), orderbyLogicalToDisplay(), orderbyLogicalToOdbc(), orderbyNormalize(), orderbySet()
property orient as %ZEN.Datatype.string (VALUELIST = ",row,col") [ InitialExpression = "col" ];
Defines the orientation of the table. Acceptable values are "row" and "col." If orient is "row," each child tag of table will be placed in a new row. Similarly, if orient is "col" each child tag will be placed in a new column.
Property methods: orientDisplayToLogical(), orientGet(), orientIsValid(), orientLogicalToDisplay(), orientLogicalToOdbc(), orientNormalize(), orientSet()
property parameters as list of %ZEN.Report.Display.parameter (XMLNAME = "parameter", XMLPROJECTION = "ELEMENT");
User-defined list of query parameters. These are used to supply parameter values for the sql,queryName, or onCreateResultSet if they are used by this table.
Property methods: parametersBuildValueArray(), parametersCollectionToDisplay(), parametersCollectionToOdbc(), parametersDisplayToCollection(), parametersGet(), parametersGetObject(), parametersGetObjectId(), parametersGetSwizzled(), parametersIsValid(), parametersOdbcToCollection(), parametersSet(), parametersSetObject(), parametersSetObjectId()
property preserveLineFeed as %ZEN.Datatype.boolean [ InitialExpression = 0 ];
Property methods: preserveLineFeedDisplayToLogical(), preserveLineFeedGet(), preserveLineFeedIsValid(), preserveLineFeedLogicalToDisplay(), preserveLineFeedLogicalToOdbc(), preserveLineFeedLogicalToXSD(), preserveLineFeedNormalize(), preserveLineFeedSet(), preserveLineFeedXSDToLogical()
property queryClass as %ZEN.Datatype.className;
Specifies class for query that the table will display. In this case, each record in the sql result set will appear as a new row/column of the table.
queryClass is the class containing the query specified by queryName.
Property methods: queryClassDisplayToLogical(), queryClassGet(), queryClassIsValid(), queryClassLogicalToDisplay(), queryClassLogicalToOdbc(), queryClassNormalize(), queryClassSet()
property queryName as %ZEN.Datatype.classMember;
Specifies query for the table to display. In this case, each record in the sql result set will appear as a new row/column of the table.
queryName specifies the query in queryClass.
Property methods: queryNameDisplayToLogical(), queryNameGet(), queryNameIsValid(), queryNameLogicalToDisplay(), queryNameLogicalToOdbc(), queryNameNormalize(), queryNameSet()
property removeEmpty as %ZEN.Datatype.boolean [ InitialExpression = 0 ];
If orient is row and removeEmpty is 1 then empty rows are removed from the table display
Property methods: removeEmptyDisplayToLogical(), removeEmptyGet(), removeEmptyIsValid(), removeEmptyLogicalToDisplay(), removeEmptyLogicalToOdbc(), removeEmptyLogicalToXSD(), removeEmptyNormalize(), removeEmptySet(), removeEmptyXSDToLogical()
property rowAcrossPages as %ZEN.Datatype.boolean [ InitialExpression = 1 ];
Boolean value used to trigger "keep-together" logic within the element to not allow a row to split across a page
Property methods: rowAcrossPagesDisplayToLogical(), rowAcrossPagesGet(), rowAcrossPagesIsValid(), rowAcrossPagesLogicalToDisplay(), rowAcrossPagesLogicalToOdbc(), rowAcrossPagesLogicalToXSD(), rowAcrossPagesNormalize(), rowAcrossPagesSet(), rowAcrossPagesXSDToLogical()
property selectmode as %ZEN.Datatype.integer (VALUELIST = ",0,1,2");
Specifies %SELECTMODE of sql or query. 0=Logical, 1=ODBC, 2=Display.
Property methods: selectmodeDisplayToLogical(), selectmodeGet(), selectmodeIsValid(), selectmodeLogicalToDisplay(), selectmodeLogicalToOdbc(), selectmodeNormalize(), selectmodeSet()
property sql as %ZEN.Datatype.sql;
Specifies sql for the table to display. In this case, each record in the sql result set will appear as a new row/column of the table.
Property methods: sqlDisplayToLogical(), sqlGet(), sqlIsValid(), sqlLogicalToDisplay(), sqlLogicalToOdbc(), sqlNormalize(), sqlSet()
property staticTable as %ZEN.Datatype.boolean [ InitialExpression = 0 ];
if staticTable is set we draw table as is specified by elements etc.
Property methods: staticTableDisplayToLogical(), staticTableGet(), staticTableIsValid(), staticTableLogicalToDisplay(), staticTableLogicalToOdbc(), staticTableLogicalToXSD(), staticTableNormalize(), staticTableSet(), staticTableXSDToLogical()
property suppressFoTableColumn as %ZEN.Datatype.boolean [ InitialExpression = 0 ];
if suppressFoTableColumn is true then don't generate fo:table-column
Property methods: suppressFoTableColumnDisplayToLogical(), suppressFoTableColumnGet(), suppressFoTableColumnIsValid(), suppressFoTableColumnLogicalToDisplay(), suppressFoTableColumnLogicalToOdbc(), suppressFoTableColumnLogicalToXSD(), suppressFoTableColumnNormalize(), suppressFoTableColumnSet(), suppressFoTableColumnXSDToLogical()
property writingMode as %ZEN.Datatype.string (VALUELIST = ",lr-tb,rl-tb,tb-rl,lr,rl,tb,inherit", XMLNAME = "writing-mode");
writing-mode XML attribute. It has the following possible values. Note that not all XSL-FO renderers will support all possible values.
lr-tb Text are written left-to-right and top-to-bottom (normal "alphabetic" text)
rl-tb Text are written right-to-left and top-to-bottom (Arabic and Hebrew text)
tb-rl Text are written top-to-bottom and right-to-left (Chinese and Japanese text)
lr Same as lr-tb
rl Same as rl-tb
tb Same as tb-rl
Property methods: writingModeDisplayToLogical(), writingModeGet(), writingModeIsValid(), writingModeLogicalToDisplay(), writingModeLogicalToOdbc(), writingModeNormalize(), writingModeSet()


method %DisplayRowCellsFO(ByRef context As %String, XSL As %GlobalCharacterStream, delay As %GlobalCharacterStream, ByRef incell As %Boolean, tableSection As %String) as %Status
method %DisplayTableByCols(ByRef context As %String, XSL As %GlobalCharacterStream, delay As %GlobalCharacterStream) as %Status
method %DisplayTableByColsFO(ByRef context As %String, XSL As %GlobalCharacterStream, delay As %GlobalCharacterStream) as %Status
method %DisplayTableByRows(ByRef context As %String, XSL As %GlobalCharacterStream, delay As %GlobalCharacterStream) as %Status
method %DisplayTableByRowsFO(ByRef context As %String, XSL As %GlobalCharacterStream, delay As %GlobalCharacterStream, ByRef incell As %Boolean) as %Status
method %DrawToAnnotatedXML(ByRef context As %String, ByRef XSL As %GlobalCharacterStream, ByRef delay As %GlobalCharacterStream) as %Status
This method outputs the stylesheet that converts the input xml to the xml with Excel annotations report, table and item should override this method. Nested tables not supported.
method %DrawToHTML(ByRef context As %Library.String, ByRef XSL As %Library.GlobalCharacterStream, delay As %Library.GlobalCharacterStream, ByRef incell As %Library.Boolean) as %Status
Inherited description: This method outputs the necessary stylesheet information for the HTML report. Every tag should override this method.
method %DrawToXSLFO(ByRef context As %String, ByRef XSL As %GlobalCharacterStream, delay As %GlobalCharacterStream, ByRef incell As %Boolean = 0) as %Status
Inherited description: This method outputs the necessary stylesheet information for the PDF report. Every tag should override this method.
method DisplayFOChildrenByCols(ByRef context As %String, ByRef XSL As %GlobalCharacterStream, ByRef delay As %GlobalCharacterStream, pLevel As %Integer) as %Status
method DisplayFOChildrenByRows(ByRef context As %String, ByRef XSL As %GlobalCharacterStream, ByRef delay As %GlobalCharacterStream, pLevel As %Integer, containsHeader, containsFooter, IsSQL As %Boolean, tableSection As %String)
method DisplayHTMLChildrenByCols(ByRef context As %String, ByRef XSL As %GlobalCharacterStream, ByRef delay As %GlobalCharacterStream, pLevel As %Integer)
method DisplayHTMLChildrenByRows(ByRef context As %String, ByRef XSL As %GlobalCharacterStream, ByRef delay As %GlobalCharacterStream, pLevel As %Integer, IsSQL As %Boolean) as %Status
method UseCallBack()
method UseSQL()
method UseXSLT()
classmethod XpathWidthExpression(width As %String)
method childHasWidth() as %String
method containsFooter() as %Boolean
method containsHeader() as %Boolean
method getColumnWidth(colType As %String) as %String
Note: colType is either "header", "body", or "footer" used only in tables by row

Inherited Members

Inherited Properties

Inherited Methods

FeedbackOpens in a new tab