IRISLIB database
DataSet Class Reference
Inheritance diagram for DataSet:
Collaboration diagram for DataSet:

Public Member Functions

_.Library.Status Close ()
 Closes the current result set cursor.
 
_.Library.Integer GetColumnCount ()
 Returns the number of columns in the result set. More...
 
_.Library.String GetColumnHeader (_.Library.Integer n)
 Returns the column header for column n in the result set. More...
 
_.Library.String GetColumnName (_.Library.Integer n)
 Returns the name of column n in the result set. More...
 
_.Library.Integer GetColumnType (_.Library.Integer n)
 Returns the type of column n in the result set where type is an integer (CLIENTDATATYPEENUM) associated with. More...
 
_.Library.RegisteredObject GetObject ()
 If this query contains an object Id then this method opens an object with this Id. More...
 
_.Library.Integer Next (_.Library.Status sc)
 Advance the result set cursor to the next row in the XML tree. More...
 
_.Library.Status ResetXML ()
 Resets the current result set cursor to the beginning of the dataset. More...
 
_.Library.String RunPropertyMethod (_.Library.List col, _.Library.String method, _.Library.String value)
 Call property method (logicalToXSD or XSDToLogical) for the specified column. More...
 
 SetArgs (args)
 Set the arguments to be used for the ResultSet.Execute.
 
_.Library.Status WriteSchema ()
 Write the XML schema for the data rows.
 
_.Library.Status WriteXML (_.Library.String top, _.Library.Boolean diffGram, _.Library.Boolean writeSchema, _.XML.Namespaces namespaces, _.Library.Boolean local, _.Library.Boolean ignoreNull)
 Write the data rows as XML with optional preceding schema.
 
- Public Member Functions inherited from ResultSet
_.Library.Status OnClose ()
 This callback method is invoked by the <METHOD>Close</METHOD> method to. More...
 
_.Library.Integer ContainsId ()
 If the current query contains an object Id (based on the CONTAINSID parameter. More...
 
_.Library.Status Execute (args)
 Executes the current query. More...
 
_.Library.String Get (_.Library.String name)
 Returns the value of the column with the name name in the current row of the result set. More...
 
_.Library.String GetColumnExtInfo (_.Library.Integer n)
 This method accepts the column number as an input parameter and will return a $list containing the class name and property. More...
 
_.Library.String GetColumnHeader (_.Library.Integer n)
 Returns the column header for column n in the result set.
 
_.Library.String GetColumnName (_.Library.Integer n)
 Returns the name of column n in the result set.
 
_.Library.Integer GetColumnType (_.Library.Integer n)
 Returns the type of column n in the result set where type is an integer associated with. More...
 
_.Library.String GetData (_.Library.Integer n)
 Returns the value of column n in the current row of the result set.
 
_.Library.String GetDataByName (_.Library.String name)
 Returns the value of the column with the name name in the current row of the result set. More...
 
_.Library.String GetExtent ()
 The name of the extent that this query will return Id values from (based on the EXTENT parameter. More...
 
_.Library.Integer GetParamCount ()
 Returns the number of input parameters for the current query.
 
_.Library.String GetParamName (_.Library.Integer n)
 Returns the name of input parameter n for the current query.
 
_.Library.String GetStatementType ()
 Returns the SQL statement type of the query if available. More...
 
_.Library.Integer Next (_.Library.Status sc)
 Advance the result set cursor to the next row. More...
 
_.Library.Status Prepare (args)
 Use this method with dynamic queries to provide the query to be. More...
 
_.Library.Integer QueryIsValid ()
 Returns true (1) if the ClassName and QueryName properties of this. More...
 
_.Library.Status SetIdInfo (_.Library.Integer idnumber, _.Library.String extent)
 Set the location of the ID in this query and the extent. More...
 
- Public Member Functions inherited from RegisteredObject
_.Library.Status OnAddToSaveSet (_.Library.Integer depth, _.Library.Integer insert, _.Library.Integer callcount)
 This callback method is invoked when the current object is added to the SaveSet,. More...
 
_.Library.Status OnConstructClone (_.Library.RegisteredObject object, _.Library.Boolean deep, _.Library.String cloned)
 This callback method is invoked by the <METHOD>ConstructClone</METHOD> method to. More...
 
_.Library.Status OnNew ()
 This callback method is invoked by the <METHOD>New</METHOD> method to. More...
 
_.Library.Status OnValidateObject ()
 This callback method is invoked by the <METHOD>ValidateObject</METHOD> method to. More...
 
- Public Member Functions inherited from Adaptor
_.Library.Status XMLExport (_.Library.String top, _.Library.String format, _.XML.Namespaces namespaces, attrs, _.Library.String createId, _.Library.String typeAttr, oreflist, idlist, _.Library.String initialIndent, _.Library.Boolean local, _.Net.MIMEPart mimeAttachments)
 Serialize an XML enabled class as an XML document and write. More...
 
_.Library.Status XMLExportToStream (_.Stream.Object export, _.Library.String top, _.Library.String format, _.XML.Namespaces namespaces, attrs, _.Library.String createId, _.Library.String typeAttr, oreflist, idlist, _.Library.String initialIndent)
 Serialize an XML enabled class as an XML document and appends it to a stream. More...
 
_.Library.Status XMLExportToString (_.Library.String export, _.Library.String top, _.Library.String format, _.XML.Namespaces namespaces, attrs, _.Library.String createId, _.Library.String typeAttr, oreflist, idlist, _.Library.String initialIndent)
 Serialize an XML enabled class as an XML document and write it to a string. More...
 

Static Public Member Functions

_.Library.Status XMLDTD (_.Library.String top, _.Library.String format, _.Library.Boolean input, dtdlist)
 No DTD available for DataSet.
 
_.Library.Status XMLSchema (_.Library.String top, _.Library.String format, _.Library.String namespacePrefix, _.Library.Boolean input, _.Library.Boolean refOnly, schema)
 Generate hard coded schema that is used for DataSet.
 
- Static Public Member Functions inherited from ResultSet
 Test (_.Library.String ClassName, _.Library.String QueryName, args)
 This method is deprecated; use RunQuery.
 
- Static Public Member Functions inherited from AbstractResultSet
 RunQuery (_.Library.String ClassName, _.Library.String QueryName, args)
 This is a diagnostic function; it runs the specified query and prints the output to the console.
 
- Static Public Member Functions inherited from Page
_.Library.Status ConvertParameter (_.Library.String url, _.Library.String name, _.Library.String value)
 You pass this the <parameter>url</parameter> of the page you are going to and a. More...
 
_.Library.Binary Decrypt (_.Library.String data)
 Decrypts the input string using the session.Key value that is unique to. More...
 
_.Library.String Encrypt (_.Library.Binary data)
 Encrypts the input string using the session.Key value that is unique to this. More...
 
_.Library.String EscapeHTML (in)
 This method converts input HTML text into Escaped HTML text.
 
_.Library.String EscapeURL (_.Library.String in, _.Library.String charset)
 This method converts the in input URL string into Escaped URL string. More...
 
_.Library.String HyperEventCall (_.Library.String methodName, _.Library.String args, _.Library.Integer type, _.Library.Boolean mobile)
 This method returns the string that needs to be written to the current. More...
 
_.Library.String HyperEventHead (_.Library.Boolean iframeOnly, _.Library.Boolean strict, _.Library.Boolean optionalBroker)
 This method returns the string that needs to be written to the current. More...
 
 Include (_.Library.String url)
 Include another csp page or file in the output at this point. More...
 
_.Library.String InsertHiddenField (_.Library.String url, _.Library.String name, _.Library.String value, _.Library.String extra)
 Inserts a '<input type="hidden" name="Name" value="Value">' tag into the current document. More...
 
_.Library.String InsertHiddenFields (_.Library.String url, _.Library.String query)
 Return the string containing the hidden form tags. More...
 
_.Library.Boolean IsPrivate ()
 Returns 1 if this page is in fact a private page (see <parameter>PRIVATE</parameter>).
 
_.Library.String Link (_.Library.String link, _.Library.String query, _.Library.Boolean addQ)
 Tranforms the link specified by link into a URL and returns it as a string. More...
 
_.Library.Status OnHTTPHeader (_.Library.Boolean OutputBody)
 Event handler for PAGE event: this is invoked in order to
More...
 
_.Library.Status OnPage ()
 Event handler for PAGE event: this is invoked in order to
More...
 
 OnPageError (_.Library.Status sc)
 Event handler for any error that occurs on the page. More...
 
 OnPostHTTP ()
 Event handler for POSTPAGE event: this is invoked after the data. More...
 
_.Library.Status OnPostHyperEvent (_.Library.String class, _.Library.String method)
 Event handler which is invoked after a hyperevent method is called on this page.
 
_.Library.Boolean OnPreHTTP ()
 Event handler for PreHTTP event: this is invoked before. More...
 
_.Library.Status OnPreHyperEvent (_.Library.String class, _.Library.String method)
 Event handler which is invoked before a hyperevent method is called on this page. More...
 
_.Library.Status Page (_.Library.Boolean skipheader)
 Process a request to serve a CSPPage. More...
 
_.Library.String QuoteJS (in)
 This method converts input string into quoted JavaScript literal.
 
_.Library.String RewriteURL (_.Library.String url)
 This method will rewrite a URL to use #url()# if needed.
 
 ShowError (_.Library.Status sc)
 Display a <class>Status</class> error code to the CSP Page.
 
 StartTimer (_.Library.String name)
 Used to get performance information on your CSP pages. More...
 
 StopTimer (_.Library.String name)
 Used to time performance information on your CSP pages. More...
 
 ThrowError (_.Library.Status sc)
 Passed a <class>Status</class> code this goes to the error page passing this status code.
 
_.Library.String UnescapeHTML (in)
 This method converts Escaped HTML text into normal HTML text.
 
_.Library.String UnescapeURL (_.Library.String in, _.Library.String charset)
 This method converts the in Escaped URL string back to its original form. More...
 
- Static Public Member Functions inherited from Adaptor
_.Library.RegisteredObject XMLNew (_.XML.Document document, _.Library.Integer node, _.Library.RegisteredObject containerOref)
 Get an instance of an XML enabled class. More...
 
_.Library.String XMLSchemaNamespace ()
 Get the namespace to which this class belongs for use in schema generation. More...
 
_.Library.Status XMLSchemaType (_.XML.Schema schemaInstance, _.XML.Node node, _.Library.String top, _.Library.Boolean encoded, _.Library.Boolean summary, _.Library.Boolean input, _.Library.Boolean refOnly)
 Add a complexType to the schema that is respresented by an <class>XML.Schema</class> instance. More...
 

Public Attributes

 CaseSensitive
 CaseSensitive is Boolean property which corresponds to the Microsoft CaseSensitive dataset property. More...
 
 DataSetName
 The name of the DataSet being returned. More...
 
 DiffGram
 True if the data set is to be written in Microsoft DiffGram format. More...
 
 NeedSchema
 True if the data set is to be written preceded by its schema. More...
 
 WriteEmptyDiffgram
 True if the dataset is to contain only a diffgram element if there are no rows. More...
 
- Public Attributes inherited from ResultSet
 ClassName
 The name of the class containing the query to run. More...
 
 Data
 Used to store the data returned from the resultset by column name. More...
 
 QueryName
 The name of the query to run. More...
 
 RuntimeMode
 Use this property to set the SQL runtime mode for the query to be. More...
 
- Public Attributes inherited from AbstractResultSet
 Data
 Used to store the data returned from the resultset by column name. More...
 
 RuntimeMode
 Use this method to set the SQL runtime mode for the query to be. More...
 

Static Public Attributes

 CLASSNAME = None
 The class name that contains the query for typed DataSet. More...
 
 DATAONLY = None
 If DATAONLY is set to true (=1), then the schema and diffgram will. More...
 
 LOCATION = None
 LOCATION - Should be the URL which is the location of the DataSet schema. More...
 
 NAMESPACE = None
 The XML namespace for typed DataSets.
 
 QUERYNAME = None
 The query name for typed DataSet.
 
 XMLNAME = None
 Use "DefaultDataSet" as the default DataSet name for untyped DataSets. More...
 
 XMLTYPE = None
 Use "DataSet" as the type.
 
- Static Public Attributes inherited from RegisteredObject
 CAPTION = None
 Optional name used by the Form Wizard for a class when generating forms. More...
 
 JAVATYPE = None
 The Java type to be used when exported.
 
 PROPERTYVALIDATION = None
 This parameter controls the default validation behavior for the object. More...
 
- Static Public Attributes inherited from Page
 CHARSET = None
 The <CLASS>CSP.Page</CLASS> object serves as an event handler for CSP requests. More...
 
 CONTENTTYPE = None
 Specifies the default content type for the page. More...
 
 CONVERTINPUTSTREAM = None
 Specifies if input request.Content or request.MimeData values are converted from their. More...
 
 CSPFILE = None
 If this page was compiled from a .csp file, then this parameter contains the. More...
 
 CSPSTRICT = None
 The CSPSTRICT parameter is set to 1, if the DOCTYPE indicates that this. More...
 
 CSPURL = None
 This parameter is used to make sure that if multiple. More...
 
 CSPXHTML = None
 The CSPXHTML parameter is set to 1, if the DOCTYPE indicates that this. More...
 
 DOMAIN = None
 The default domain for csp:text, span and div tags. More...
 
 ENCODED = None
 Controls how the query parameters for this page are passed, it can. More...
 
 ERRORPAGE = None
 Specify a custom error page to call if there are any problems with generating this page. More...
 
 EXPIRES = None
 Specified the default value for the response.Expires. More...
 
 NOCHARSETCONVERT = None
 Specifies if we wish to turn off charset conversion for this page. More...
 
 PAGETIMING = None
 If this parameter is true then we automatically record timing statistics of how long it takes to. More...
 
 PRIVATE = None
 Controls the access to the page, it can be set to one of the following:
More...
 
 SECURITYRESOURCE = None
 This is a comma-delimited list of system Resources and associated. More...
 
 TIMINGSLOTS = None
 Used by the timing to decide how many slots a day should be divided up into. More...
 
 UseSession = None
 This parameter controls the CSP session support. More...
 
- Static Public Attributes inherited from Adaptor
 ATTRIBUTEQUALIFIED = None
 ATTRIBUTEQUALIFIED controls the format of exported XML by controlling whether attributes. More...
 
 ELEMENTQUALIFIED = None
 ELEMENTQUALIFIED controls the format of exported XML. More...
 
 NAMESPACE = None
 NAMESPACE specifies the XML namespace to be used when projecting the. More...
 
 SUPPRESSTYPEPREFIX = None
 SUPPRESSTYPEPREFIX allows the type name that refers to this class. More...
 
 XMLDEFAULTREFERENCE = None
 XMLDEFAULTREFERENCE specifies the default value of the XMLREFERENCE property parameter. More...
 
 XMLENABLED = None
 If this parameter is true then XML-enabling methods. More...
 
 XMLFORMAT = None
 The XMLFORMAT parameter controls the generation of the XMLExport and XMLImport. More...
 
 XMLIGNOREINVALIDATTRIBUTE = None
 The XMLIGNOREINVALIDATTRIBUTE parameter allows the programmer to control handling of unexpected. More...
 
 XMLIGNOREINVALIDTAG = None
 The XMLIGNOREINVALIDTAG parameter allows the programmer to control handling of unexpected. More...
 
 XMLIGNORENULL = None
 XMLIGNORENULL allows the programmer to override the default XML handling. More...
 
 XMLINCLUDEINGROUP = None
 XMLINCLUDEINGROUP allows the programmer to control whether a class is included. More...
 
 XMLINHERITANCE = None
 If the XMLINHERITANCE parameter is set to "LEFT", then in the case of multiple. More...
 
 XMLNAME = None
 This parameter provides the default XMLNAME for the class. More...
 
 XMLNIL = None
 The XMLNIL class parameter controls the use of xsi:nil by XMLExport. More...
 
 XMLNILNOOBJECT = None
 The XMLNILNOOBJECT parameter allows creation of an object to be skipped for elements. More...
 
 XMLPREFIX = None
 The XMLPREFIX parameter controls the prefix to be used for the XML namespace that. More...
 
 XMLSEQUENCE = None
 If the XMLSEQUENCE = 1, then the order of the XML elements must match the. More...
 
 XMLSUMMARY = None
 The summary fields to be used when an object is referenced are specified. More...
 
 XMLTYPE = None
 This parameter provides the default XMLTYPE for the class. More...
 
 XMLUNSWIZZLE = None
 If the XMLUNSWIZZLE parameter is set to 1, then single object. More...
 
 XMLUSEEMPTYELEMENT = None
 If the XMLUSEEMPTYELEMENT parameter is set to 1, then the empty element shorthand (<tag>) More...
 

Private Attributes

 __ImportTopChild
 First child record of Import DataSet. More...
 
 __ImportTopChildlist
 Child list for first child record of Import DataSet. More...
 

Detailed Description

This class represents a .NET DataSet, which is an XML-enabled dataset that you can use in SOAP messages when both the web service and client are based on InterSystems IRIS or when one side uses .NET. Other SOAP vendors do not support datasets and cannot process a WSDL generated by a web service that uses them.

The <class>XML.DataSet</class> only needs to be instantiated using <method>New</method> and then returned as the result of a WebService. The Execute method should not be called. The values of the result set will automatically be retrieved by the WebService mechanism and formatted in XML as a .NET DataSet.

If arguments must be passed to the query for its proper execution, then the <method>SetArgs</method> method may be used.

The query for the DataSet may be specified either at runtime or at compile time as parameters of a subclass of XML.DataSet. If the query is specified at runtime, then a .NET untyped DataSet is returned by the SOAP support. If the query is specified by a compile time parameter, then a .NET typed DataSet is returned by the SOAP support.

If you use this class as the value returned by a web method, note that this class is designed to work only with SoapBindingStyle=document and SoapBodyUse=literal, so be sure to set those keywords.

Untyped DataSet

You can return a <class>XML.DataSet</class> object as an untyped DataSet from a WebService as follows:

ClassMethod GetByName(prefix As String) As XML.DataSet [ WebMethod ] { // Return the results of the Person class' ByName query. Set result=##class(XML.DataSet).New("Sample.Person:ByName") Do result.SetArgs(prefix) Quit result }

Note you can bind a <class>XML.DataSet</class> object to a query by either a) setting the <property>ClassName</property> and <property>QueryName</property> properties or b) passing a string containing the class name and query name (separated by a :) to the <nobr>New</nobr> method.

Dynamic SQL

You can use the <class>XML.DataSet</class> class to execute dynamic SQL queries using the system-provided <nobr>DynamicQuery:SQL</nobr> query. In this case, use the <method>Prepare</method> method to supply the text of the query. For example, execute the following to return an untyped DataSet:

ClassMethod GetBySalary(salary As Integer) As XML.DataSet [ WebMethod ] { Set result=##class(XML.DataSet).New() Do result.Prepare("SELECT ID, Name, Salary FROM Employee WHERE Salary > ?") Do result.SetArgs(salary) Quit result }

Typed DataSet

To return a typed DataSet, create a subclass of <class>XML.DataSet</class> with the NAMESPACE, CLASS and QUERY parameters specified. Assume that the subclass is called MyTypedDataSet, then the following code returns a typed DataSet:

ClassMethod GetByName(prefix As String) As MyTypedDataSet [ WebMethod ] { // Return the results of the Person class' ByName query. Set result=##class(MyTypedDataSet).New() Do result.SetArgs(prefix) Quit result }

Member Function Documentation

◆ GetColumnCount()

_.Library.Integer GetColumnCount ( )

Returns the number of columns in the result set.

Each row may be different for XML.DataSet

Reimplemented from ResultSet.

◆ GetColumnHeader()

_.Library.String GetColumnHeader ( _.Library.Integer  n)

Returns the column header for column n in the result set.

Each row may be different for XML.DataSet

◆ GetColumnName()

_.Library.String GetColumnName ( _.Library.Integer  n)

Returns the name of column n in the result set.

Each row may be different for XML.DataSet

◆ GetColumnType()

_.Library.Integer GetColumnType ( _.Library.Integer  n)

Returns the type of column n in the result set where type is an integer (CLIENTDATATYPEENUM) associated with.

the client datatype. Reference occName for an explanation of the integer values. If the type cannot be determined, 0 (zero) is returned

◆ GetObject()

If this query contains an object Id then this method opens an object with this Id.

and returns the object reference. Otherwise it returns a null object reference.

Reimplemented from ResultSet.

◆ Next()

Advance the result set cursor to the next row in the XML tree.

Returns 0 if the cursor is at the end of the result set.

◆ ResetXML()

_.Library.Status ResetXML ( )

Resets the current result set cursor to the beginning of the dataset.

This method only works for datasets which have been created by reading XML input.

◆ RunPropertyMethod()

_.Library.String RunPropertyMethod ( _.Library.List  col,
_.Library.String  method,
_.Library.String  value 
)

Call property method (logicalToXSD or XSDToLogical) for the specified column.

Column is specified by a column list: $lb(name,xsdType,columnClass,columnProperty,ignoreNull)

Member Data Documentation

◆ CLASSNAME

CLASSNAME = None
static

The class name that contains the query for typed DataSet.

This class represents a .NET DataSet, which is an XML-enabled dataset that you can use in SOAP messages when both the web service and client are based on InterSystems IRIS or when one side uses .NET. Other SOAP vendors do not support datasets and cannot process a WSDL generated by a web service that uses them.

The <class>XML.DataSet</class> only needs to be instantiated using <method>New</method> and then returned as the result of a WebService. The Execute method should not be called. The values of the result set will automatically be retrieved by the WebService mechanism and formatted in XML as a .NET DataSet.

If arguments must be passed to the query for its proper execution, then the <method>SetArgs</method> method may be used.

The query for the DataSet may be specified either at runtime or at compile time as parameters of a subclass of XML.DataSet. If the query is specified at runtime, then a .NET untyped DataSet is returned by the SOAP support. If the query is specified by a compile time parameter, then a .NET typed DataSet is returned by the SOAP support.

If you use this class as the value returned by a web method, note that this class is designed to work only with SoapBindingStyle=document and SoapBodyUse=literal, so be sure to set those keywords.

Untyped DataSet

You can return a <class>XML.DataSet</class> object as an untyped DataSet from a WebService as follows:

ClassMethod GetByName(prefix As String) As XML.DataSet [ WebMethod ] { // Return the results of the Person class' ByName query. Set result=##class(XML.DataSet).New("Sample.Person:ByName") Do result.SetArgs(prefix) Quit result }

Note you can bind a <class>XML.DataSet</class> object to a query by either a) setting the <property>ClassName</property> and <property>QueryName</property> properties or b) passing a string containing the class name and query name (separated by a :) to the <nobr>New</nobr> method.

Dynamic SQL

You can use the <class>XML.DataSet</class> class to execute dynamic SQL queries using the system-provided <nobr>DynamicQuery:SQL</nobr> query. In this case, use the <method>Prepare</method> method to supply the text of the query. For example, execute the following to return an untyped DataSet:

ClassMethod GetBySalary(salary As Integer) As XML.DataSet [ WebMethod ] { Set result=##class(XML.DataSet).New() Do result.Prepare("SELECT ID, Name, Salary FROM Employee WHERE Salary > ?") Do result.SetArgs(salary) Quit result }

Typed DataSet

To return a typed DataSet, create a subclass of <class>XML.DataSet</class> with the NAMESPACE, CLASS and QUERY parameters specified. Assume that the subclass is called MyTypedDataSet, then the following code returns a typed DataSet:

ClassMethod GetByName(prefix As String) As MyTypedDataSet [ WebMethod ] { // Return the results of the Person class' ByName query. Set result=##class(MyTypedDataSet).New() Do result.SetArgs(prefix) Quit result }

◆ DATAONLY

DATAONLY = None
static

If DATAONLY is set to true (=1), then the schema and diffgram will.

not be included in dataset XML output.

◆ LOCATION

LOCATION = None
static

LOCATION - Should be the URL which is the location of the DataSet schema.

The url may be absolute or relative to the schema request URL..

◆ XMLNAME

XMLNAME = None
static

Use "DefaultDataSet" as the default DataSet name for untyped DataSets.

Use the subclass name as the default DataSet name for typed DataSets.

◆ CaseSensitive

CaseSensitive

CaseSensitive is Boolean property which corresponds to the Microsoft CaseSensitive dataset property.

 

◆ DataSetName

DataSetName

The name of the DataSet being returned.

Default set in OnNew.

 

◆ DiffGram

DiffGram

True if the data set is to be written in Microsoft DiffGram format.

 

◆ __ImportTopChild

__ImportTopChild
private

First child record of Import DataSet.

 

◆ __ImportTopChildlist

__ImportTopChildlist
private

Child list for first child record of Import DataSet.

 

◆ NeedSchema

NeedSchema

True if the data set is to be written preceded by its schema.

Default is 1 for diffgram, else 0.  

◆ WriteEmptyDiffgram

WriteEmptyDiffgram

True if the dataset is to contain only a diffgram element if there are no rows.

The default is to have an empty element with the name of the dataset inside the diffgram element.