This task outputs a high level (syntax orientated) description of the given dataset. The syntax of the output is essentially the same as that expected by dsvalidate and dsverify.
The output has the form:
dataset < <dataset items> >
where,
<dataset items> is a list of one or more of
<name> <attribute> <block>
where <block> has the form
block < <block items> >
<block items > is a list of one or more of
<attribute> <array> <table>
where <array> has the form
array < <array items> >
where array is a list of one or more or
<attrribute>
For example, if a dataset is created with the following code
// ESA (C) 2000-2018 // // This file is part of ESA's XMM-Newton Scientific Analysis System (SAS). // // SAS is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // SAS is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with SAS. If not, see <http://www.gnu.org/licenses/>. #include <Dal.h> int main() { DataSet* set = dataSetServer -> open( "test.dat", Dal::Create ); Attribute* att = set -> addAttribute( "att1", "an attribute", "mm" ); *att = 123; Table* tab = set -> addTable( "table1", 10, "a table" ); Column* col = tab -> addColumn( "col1", Column::Int32, "a column" ); att = col -> addAttribute( "TLMAX", "std attribute", "Nm" ); *att = 1000; dataSetServer -> close( set ); }
i.e. creates a dataset with name "test.dat" containing a dataset attribute called att1, ...
then the command dsstruct –set=test.dat produces the following output:
dataset < name "test.dat" attribute < name "ATT1" type Int value "123" > table < name "table1" rows 10 column < name "col1" type Int32 attribute < name "TLMAX" type Int value "1000" > > > >
If the output is redirected to the file check.ds (easily achieved e.g. use the command dsstruct –set=test.dat > check.ds )
then the command dsverify –file=check.ds or dsvalidate –sets=test.dat –template=check.sc
can be used to check the validity of the dataset test.dat.
XMM-Newton SOC -- 2025-01-27