%ZEN.Report.Display.node
class %ZEN.Report.Display.node extends %ZEN.Report.Display.controller, %XML.Adaptor
Base class for all nodes in the ReportDisplay XData block.Property Inventory
- class
- htmlstyle
- level
- selectstylecond
- selectstylelist
- style
- stylecall
- styleparamNames
- styleparams
- tag
- template
- width
- withinSmallmultiple
- xmlnamespace
- xmlnamespaceprefix
- xpath
- xslfostyle
Method Inventory
- %ApplyClass()
- %DrawToAnnotatedXML()
- %DrawToHTML()
- %DrawToXSLFO()
- %GetAbsoluteURL()
- %StyleHTML()
- %StyleXSLFO()
- ApplyClass()
- CSPLinkToFileLink()
- CountSpaces()
- DoDocForHTML()
- GetDocForXSLFO()
- HTMLStyle()
- OutputId()
- XSLFOStyle()
- insertAxis()
- isCSPLink()
- needsURL()
- parent()
- processExclamationPoint()
- qualify()
- tagGet()
Parameters
parameter NAMESPACE = http://www.intersystems.com/zen/report/display;
XML namespace used for Zen Report display definitions.
parameter XMLIGNOREINVALIDATTRIBUTE = 0;
By setting this to 0, we disallow use of invalid attribute names in Zen Report XML documents.
parameter XMLIGNORENULL = 1;
Inherited description: XMLIGNORENULL allows the programmer to override the default XML handling
of empty strings for properties of type %String. By default (XMLIGNORENULL = 0),
empty strings in the XML input are stored as $c(0) and $c(0) is written to XML
as an empty tag. A missing tag in the XML input is always stored as "" and
"" is always output to XML as no tag.
If XMLIGNORENULL is set = 1, then both missing tags in the XML and empty strings are input as "", and both "" and $c(0) are output as empty tags (i.e. <tag></tag>).
If XMLIGNORENULL is set = "inputonly", then both missing tags in the XML and empty strings are input as "". Output of "" and $c(0) are for XMLIGNORENULL = 0: $c(0) is output as an empty tag (i.e. <tag></tag>) and "" is output as no tag.
If XMLIGNORENULL = "runtime" (runtime is not case sensitive), then the behavior of XMLIGNORENULL is determined by the format parameter of XMLExport, XMLImport and %XML.Reader.OpenFile. The default behavior for XMLIGNORENULL="runtime is the same as XMLIGNORENULL=0. Adding "ignorenull" to the format argument changes the behavior to that of XMLIGNORENULL=1. "ignorenull" shoud be separated by a comma from literal/encoded part of the format. Example values for format are "", ",ignorenull", "literal,ignorenull" and "encoded,ignorenull". Note that "inputonly" is equivalent to using ,ignorenull for XMLExport and not for %XML.Reader.
If XMLIGNORENULL is set = 1, then both missing tags in the XML and empty strings are input as "", and both "" and $c(0) are output as empty tags (i.e. <tag></tag>).
If XMLIGNORENULL is set = "inputonly", then both missing tags in the XML and empty strings are input as "". Output of "" and $c(0) are for XMLIGNORENULL = 0: $c(0) is output as an empty tag (i.e. <tag></tag>) and "" is output as no tag.
If XMLIGNORENULL = "runtime" (runtime is not case sensitive), then the behavior of XMLIGNORENULL is determined by the format parameter of XMLExport, XMLImport and %XML.Reader.OpenFile. The default behavior for XMLIGNORENULL="runtime is the same as XMLIGNORENULL=0. Adding "ignorenull" to the format argument changes the behavior to that of XMLIGNORENULL=1. "ignorenull" shoud be separated by a comma from literal/encoded part of the format. Example values for format are "", ",ignorenull", "literal,ignorenull" and "encoded,ignorenull". Note that "inputonly" is equivalent to using ,ignorenull for XMLExport and not for %XML.Reader.
Properties
property class as %ZEN.Datatype.cssClass;
Specifies the node's style class. Some classes come pre-defined when standard styling
is specified for the report, and custom classes may be define by the <class> tag
within the <document> tag. Note: parent tags propagate their class attribute to their
children if the child class does not have an explicit class defined. In HTML tags,
class is rendered using the class attribtue, and in XSL-FO tags it is rendered using
the xsl:use-attribute-set attribute. It is a fatal error to specify a class that is
not defined. For more information on classes, see the tag.
Property methods: classDisplayToLogical(), classGet(), classIsValid(), classLogicalToDisplay(), classLogicalToOdbc(), classNormalize(), classSet()
property htmlstyle as %ZEN.Datatype.style;
same as style only HTML only
Property methods: htmlstyleDisplayToLogical(), htmlstyleGet(), htmlstyleIsValid(), htmlstyleLogicalToDisplay(), htmlstyleLogicalToOdbc(), htmlstyleNormalize(), htmlstyleSet()
property level as %ZEN.Datatype.integer (XMLPROJECTION = "NONE");
use to pass down result set from table when table uses sql to generate itself
Property methods: levelDisplayToLogical(), levelGet(), levelIsValid(), levelLogicalToDisplay(), levelLogicalToOdbc(), levelNormalize(), levelSet()
property selectstylecond as %ZEN.Datatype.string;
list of conditions - true one at index i selects style
Property methods: selectstylecondDisplayToLogical(), selectstylecondGet(), selectstylecondIsValid(), selectstylecondLogicalToDisplay(), selectstylecondLogicalToOdbc(), selectstylecondNormalize(), selectstylecondSet()
property selectstylelist as %ZEN.Datatype.string;
list of styles - picked by first true index i in list of conditions
for more information about individual values in list see style property
Property methods: selectstylelistDisplayToLogical(), selectstylelistGet(), selectstylelistIsValid(), selectstylelistLogicalToDisplay(), selectstylelistLogicalToOdbc(), selectstylelistNormalize(), selectstylelistSet()
property style as %ZEN.Datatype.style;
The style string is given in the form "attribute1:value1;attribute2:value2;...",
just as in CSS. In general, the style string is directly copied into HTML tags
as the style attribute. In XSL-FO, each attribute is rendered separately. That is,
the resulting HTML tag would look like <tag style='attribute1:value1;...'/> and the
resulting XSL-FO tag would look like <tag attribute1='value1' ... />.
Property methods: styleDisplayToLogical(), styleGet(), styleIsValid(), styleLogicalToDisplay(), styleLogicalToOdbc(), styleNormalize(), styleSet()
property stylecall as %ZEN.Datatype.string;
stylecall - name of xsl:template to call to output style attributes
Property methods: stylecallDisplayToLogical(), stylecallGet(), stylecallIsValid(), stylecallLogicalToDisplay(), stylecallLogicalToOdbc(), stylecallNormalize(), stylecallSet()
property styleparamNames as %ZEN.Datatype.list (DELIMITER = ";");
for each name here an xsl:with-param is generated with its name attribute set from here
Property methods: styleparamNamesDisplayToLogical(), styleparamNamesGet(), styleparamNamesIsValid(), styleparamNamesLogicalToDisplay(), styleparamNamesLogicalToOdbc(), styleparamNamesNormalize(), styleparamNamesSet()
property styleparams as %ZEN.Datatype.list (DELIMITER = ";");
list of xpaths, xpath function calls, and XSLT function calls.
for each string here an xsl:with-param is generated with its select attribute set from here
Property methods: styleparamsDisplayToLogical(), styleparamsGet(), styleparamsIsValid(), styleparamsLogicalToDisplay(), styleparamsLogicalToOdbc(), styleparamsNormalize(), styleparamsSet()
property tag as %String (XMLPROJECTION = "none") [ Calculated ];
Calculated property that contains the tag name of the node.
This corresponds to the classname.
Property methods: tagDisplayToLogical(), tagIsValid(), tagLogicalToDisplay(), tagLogicalToOdbc(), tagNormalize()
property template as %ZEN.Datatype.string;
Specifies the template that can be used to add children to the node
The format is :
Property methods: templateDisplayToLogical(), templateGet(), templateIsValid(), templateLogicalToDisplay(), templateLogicalToOdbc(), templateNormalize(), templateSet()
property width as %ZEN.Datatype.length;
Specifies the width of the element within its containing object (page, table cell, etc.)
Property methods: widthDisplayToLogical(), widthGet(), widthIsValid(), widthLogicalToDisplay(), widthLogicalToOdbc(), widthNormalize(), widthSet()
property withinSmallmultiple as %Boolean (XMLPROJECTION = "none") [ InitialExpression = 0 ];
used to flag table or item, etc., as being under a small mutiple
Property methods: withinSmallmultipleDisplayToLogical(), withinSmallmultipleGet(), withinSmallmultipleIsValid(), withinSmallmultipleLogicalToDisplay(), withinSmallmultipleLogicalToXSD(), withinSmallmultipleNormalize(), withinSmallmultipleSet(), withinSmallmultipleXSDToLogical()
property xmlnamespace as %String (XMLPROJECTION = "none");
We use these to record namespace and namespace prefix for qualified name
Property methods: xmlnamespaceDisplayToLogical(), xmlnamespaceGet(), xmlnamespaceIsValid(), xmlnamespaceLogicalToDisplay(), xmlnamespaceLogicalToOdbc(), xmlnamespaceNormalize(), xmlnamespaceSet()
property xmlnamespaceprefix as %String (XMLPROJECTION = "none");
Property methods: xmlnamespaceprefixDisplayToLogical(), xmlnamespaceprefixGet(), xmlnamespaceprefixIsValid(), xmlnamespaceprefixLogicalToDisplay(), xmlnamespaceprefixLogicalToOdbc(), xmlnamespaceprefixNormalize(), xmlnamespaceprefixSet()
property xpath as %String (XMLPROJECTION = "NONE");
Property methods: xpathDisplayToLogical(), xpathGet(), xpathIsValid(), xpathLogicalToDisplay(), xpathLogicalToOdbc(), xpathNormalize(), xpathSet()
property xslfostyle as %ZEN.Datatype.style;
same as style only XSL-FO only
Property methods: xslfostyleDisplayToLogical(), xslfostyleGet(), xslfostyleIsValid(), xslfostyleLogicalToDisplay(), xslfostyleLogicalToOdbc(), xslfostyleNormalize(), xslfostyleSet()
Methods
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 %String, ByRef XSL As %GlobalCharacterStream, ByRef delay As %GlobalCharacterStream, ByRef incell As %Boolean) as %Status
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, ByRef delay As %GlobalCharacterStream, ByRef incell As %Boolean) as %Status
This method outputs the necessary stylesheet information for the PDF report.
Every tag should override this method.
method %StyleHTML(ByRef context As %String, ByRef XSL As %GlobalCharacterStream, ByRef delay As %GlobalCharacterStream, backgroundImage As %String = "", ignoreId As %Boolean = 0, pStyle As %String = "")
method %StyleXSLFO(ByRef context As %String, ByRef XSL As %GlobalCharacterStream, ByRef delay As %GlobalCharacterStream, isTableCell As %Boolean = 0, ignoreId As %Boolean = 0) as %Status
classmethod CSPLinkToFileLink(url As %String, ByRef newUrl As %String, ext As %String, makeAbsoluteURL As %Boolean = 0) as %Status
classmethod CountSpaces(literal As %String)
classmethod DoDocForHTML(this, ByRef context As %String, ByRef XSL As %GlobalCharacterStream, children As %ZEN.Report.Display.childrenNode, xpath As %String)
classmethod GetDocForXSLFO(this, ByRef context As %String, ByRef XSL As %GlobalCharacterStream, children As %ZEN.Report.Display.childrenNode, xpath As %String) as document
classmethod HTMLStyle(ByRef context As %String, ByRef XSL As %GlobalCharacterStream, ByRef delay As %GlobalCharacterStream, style As %String, class As %String = "", width As %String = "", htmlstyle As %String = "", id As %String = "", selectstylecond As %String = "", stylecall As %String = "", styleparams As %String = "")
method OutputId(ByRef context As %String, ByRef XSL As %GlobalCharacterStream, ByRef delay As %GlobalCharacterStream)
classmethod XSLFOStyle(ByRef context As %String, ByRef XSL As %GlobalCharacterStream, ByRef delay As %GlobalCharacterStream, style As %String, class As %String = "", width As %String = "", xslfostyle As %String = "", id As %String = "", selectstylecond As %String = "", stylecall As %String = "", styleparams As %String = "")
classmethod isCSPLink(url As %String)
classmethod needsURL(url As %String)
classmethod parent(xpath As %String)
classmethod processExclamationPoint(x As %String)
method qualify(xpath As %String)
method tagGet() as %String
Inherited Members
Inherited Properties
- applyLevel
- composite
- id
- ifexpression
- ifxpath
- includeColIfExpression
- includeColIfXPath
- includeColUnlessExpression
- includeColUnlessXPath
- unlessexpression
Inherited Methods
- %AddToSaveSet()
- %ApplyLevelParameters()
- %ClassIsLatestVersion()
- %ClassName()
- %ConstructClone()
- %DeclareLevelParameters()
- %DispatchClassMethod()
- %DispatchGetModified()
- %DispatchGetProperty()
- %DispatchMethod()
- %DispatchSetModified()
- %DispatchSetMultidimProperty()
- %DispatchSetProperty()
- %EndLevel()
- %Extends()
- %GetParameter()
- %IncLevel()
- %IsA()
- %IsModified()
- %New()
- %NormalizeObject()
- %ObjectModified()
- %OriginalNamespace()
- %PackageName()
- %QuoteValue()
- %QuoteValueEmbedded()
- %QuoteValueL10N()
- %RemoveFromSaveSet()
- %SerializeObject()
- %SetModified()
- %ValidateObject()
- XMLDTD()
- XMLExport()
- XMLExportToStream()
- XMLExportToString()
- XMLNew()
- XMLSchema()
- XMLSchemaNamespace()
- XMLSchemaType()
Subclasses
- %ZEN.Report.Display.COSChart.abstractController
- %ZEN.Report.Display.COSChart.arrayProvider
- %ZEN.Report.Display.COSChart.cchart
- %ZEN.Report.Display.COSChart.dataSeries
- %ZEN.Report.Display.COSChart.dataValue
- %ZEN.Report.Display.COSChart.scoreCardColumn
- %ZEN.Report.Display.Chart.axis
- %ZEN.Report.Display.att
- %ZEN.Report.Display.call
- %ZEN.Report.Display.callsvg
- %ZEN.Report.Display.childrenNode
- %ZEN.Report.Display.contentNode
- %ZEN.Report.Display.cssinclude
- %ZEN.Report.Display.pagebreak
- %ZEN.Report.Display.xslinclude
- %ZEN.Report.Display.xslt