mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-03-13 16:47:58 +08:00
[svn-r610] Made ddl.html consistent with dumper output.
This commit is contained in:
parent
49133159c8
commit
278a9b9486
@ -44,36 +44,35 @@ of the some symbols used.
|
||||
|
||||
<attr_name> ::= <identifier>
|
||||
|
||||
<datatype> ::= datatype "<datatype_name>" ; | // shared data type
|
||||
datatype { <scalar_datatype> } ; |
|
||||
datatype { <dt_definition>+ } ;
|
||||
<datatype> ::= datatype { "<datatype_name>" } | // shared data type
|
||||
datatype { <scalar_datatype> } |
|
||||
datatype { <dt_definition>+ }
|
||||
|
||||
<datatype_name> ::= <identifier>
|
||||
|
||||
<scalar_datatype> ::= int8 | uint8 | ... // data types supported by HDF5
|
||||
<scalar_datatype> ::= H5T_NATIVE_CHAR | H5T_NATIVE_INT | ... // data types supported by HDF5
|
||||
|
||||
<dt_definition> ::= "<datatype_name>" <field_name> ; | <scalar_datatype> <field_name> ;
|
||||
<dt_definition> ::= <scalar_datatype> <field_name> ;
|
||||
|
||||
<field_name> ::= one or more field names separated by ","
|
||||
<field_name> ::= <identifier>
|
||||
|
||||
<dataspace> ::= dataspace "<dataspace_name>" ; |
|
||||
dataspace {array <current_dims> <max_dims>} ; |
|
||||
dataspace {other <ds_definition>+ } ;
|
||||
<dataspace> ::= dataspace { "<dataspace_name>" } |
|
||||
dataspace { array <current_dims> <max_dims>} |
|
||||
dataspace { other <ds_definition>+ }
|
||||
|
||||
<dataspace_name> ::= <identifier>
|
||||
|
||||
<current_dims> ::= a list of integers represented of the form ( , , .. , )
|
||||
<current_dims> ::= a list of integers represented as (<i>i<FONT SIZE=1.0>1</i></FONT>, <i>i<FONT SIZE=1.0>2</i></FONT>, ... ) where <i>i<FONT SIZE=1.0>k</i></FONT> is an integer, <i>k</i> = 1,2,...
|
||||
|
||||
<max_dims> ::= a list of integers or H5S_UNLIMITED represented of the form ( , , .. , )
|
||||
<max_dims> ::= (<i>i<FONT SIZE=1.0>1</i></FONT>, <i>i<FONT SIZE=1.0>2</i></FONT>, ... ) where <i>i<FONT SIZE=1.0>k</i></FONT> is an integer or H5S_UNLIMITED
|
||||
|
||||
<ds_definition> ::= TBD
|
||||
|
||||
<data> ::= data {TBD} ;
|
||||
<data> ::= data {TBD}
|
||||
|
||||
<group_member> ::= <named_datatype> | <named_dataspace> | <group> | <dataset> | <link>
|
||||
|
||||
<named_datatype> ::= datatype "<datatype_name>" { <scalar_datatype> } |
|
||||
datatype "<datatype_name>" { <dt_definition>+ }
|
||||
<named_datatype> ::= datatype "<datatype_name>" { <dt_definition>+ }
|
||||
|
||||
<named_dataspace> ::= dataspace "<dataspace_name>" {array <current_dims> <max_dims> } |
|
||||
dataspace "<dataspace_name>" { other <ds_definition>+ }
|
||||
@ -94,18 +93,18 @@ of the some symbols used.
|
||||
|
||||
<dataset_name> ::= <identifier>
|
||||
|
||||
<storagelayout> :: = storagelayout <contiguous_layout> ; |
|
||||
storagelayout <chunked_layout> ; |
|
||||
storagelayout <compact_layout> ; |
|
||||
storagelayout <external_layout> ;
|
||||
<storagelayout> :: = storagelayout <contiguous_layout> |
|
||||
storagelayout <chunked_layout> |
|
||||
storagelayout <compact_layout> |
|
||||
storagelayout <external_layout>
|
||||
|
||||
<contiguous_layout> ::= {contiguous} // default
|
||||
|
||||
<chunked_layout> ::= {chunked <dims> }
|
||||
|
||||
<dims> ::= a list of integers represented of the form ( , , .. , )
|
||||
<dims> ::= (<i>i<FONT SIZE=1.0>1</i></FONT>, <i>i<FONT SIZE=1.0>2</i></FONT>, ... ), <i>i<FONT SIZE=1.0>k</i></FONT> is an integer, <i>k</i> = 1,2,...
|
||||
|
||||
<compact_layout> ::= TBD // not implemented yet
|
||||
<compact_layout> ::= TBD
|
||||
|
||||
<external_layout> ::= {external <external_file>+ }
|
||||
|
||||
@ -115,19 +114,19 @@ of the some symbols used.
|
||||
|
||||
<size> ::= an integer
|
||||
|
||||
<compression> :: = compression { TBD } ; //algorithm name and properties?
|
||||
<compression> :: = compression { TBD }
|
||||
|
||||
<dataset_attribute> ::= <attribute> ;
|
||||
<dataset_attribute> ::= <attribute>
|
||||
|
||||
<link> ::= <hardlink> | <softlink>
|
||||
|
||||
<hardlink> ::= hardlink "<hardlink_name>" { linktarget "<target>"; }
|
||||
<hardlink> ::= hardlink "<hardlink_name>" { linktarget "<target>" }
|
||||
|
||||
<hardlink_name> ::= <identifier>
|
||||
|
||||
<target> ::= <identifier>
|
||||
|
||||
<softlink> ::= softlink "<softlink_name>" { linktarget "<target>"; }
|
||||
<softlink> ::= softlink "<softlink_name>" { linktarget "<target>" }
|
||||
|
||||
<softlink_name> ::= <identifier>
|
||||
|
||||
@ -146,94 +145,61 @@ Consider an HDF5 file, example.h5, with the following structure:
|
||||
|
||||
/ | \
|
||||
group1 group3 dataset3
|
||||
/ \ | ^
|
||||
group2 dataset2 hardlink --|
|
||||
/ \ ^
|
||||
dataset1 softlink |
|
||||
|------|
|
||||
/ \ |
|
||||
group2 dataset2 softlink
|
||||
/
|
||||
dataset1
|
||||
|
||||
|
||||
|
||||
hdf5 "example" {
|
||||
|
||||
group "/" {
|
||||
|
||||
datatype "shared_datatype1" { // named data type
|
||||
char name[20], address[40];
|
||||
int32 id;
|
||||
datatype "shared_datatype" { // named data type
|
||||
H5T_NATIVE_CHAR c[20];
|
||||
H5T_NATIVE_INT i;
|
||||
}
|
||||
|
||||
datatype "shared_datatype2" {
|
||||
"shared_datatype1" rec[100];
|
||||
float32 total;
|
||||
}
|
||||
|
||||
dataspace "shared_dataspace1" { array (1000) (1000)} // named data space
|
||||
|
||||
|
||||
|
||||
attribute "group_attribute1" { //group attribute
|
||||
datatype {int32};
|
||||
dataspace "shared_dataspace1";
|
||||
attribute "group_attribute" { //attribute
|
||||
datatype {H5T_NATIVE_CHAR}
|
||||
dataspace {array (20) (20)}
|
||||
data { "group attribute" }
|
||||
}
|
||||
|
||||
attribute "group_attribute2" {
|
||||
datatype {int32};
|
||||
dataspace {array (3,5) (3,5)} ;
|
||||
data {(0,0,0,0,0) (1,1,1,1,1) (2,2,2,2,2)};
|
||||
}
|
||||
|
||||
|
||||
group "group1" {
|
||||
|
||||
attribute "group1_attribute" {
|
||||
datatype {char};
|
||||
dataspace {array (100) (200)};
|
||||
data {("attribute_of_group_1")};
|
||||
}
|
||||
|
||||
group "group2" {
|
||||
|
||||
datatype "shared_datatype3" {
|
||||
int8 z;
|
||||
int32 x;
|
||||
}
|
||||
|
||||
dataset "dataset1" {
|
||||
dataspace "shared_dataspace1";
|
||||
datatype "shared_datatype3";
|
||||
dataspace {array (4) (4)}
|
||||
datatype {"shared_datatype"}
|
||||
attribute "dataset1_attr" {
|
||||
datatype {char};
|
||||
dataspace {array (10) (10)};
|
||||
data {("data1")};
|
||||
};
|
||||
datatype {H5T_NATIVE_CHAR}
|
||||
dataspace {array (10) (10)}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
softlink "sl" {
|
||||
linktarget "/group1/dataset2";
|
||||
}
|
||||
}
|
||||
|
||||
dataset "dataset2" {
|
||||
datatype {int8};
|
||||
dataspace {array (2,5) (unlimited, 5)};
|
||||
data {(0,0,0,0,0) (0,0,0,0,0)};
|
||||
datatype {H5T_NATIVE_INT}
|
||||
dataspace {array (2,5) (H5S_UNLIMITED, 5)}
|
||||
data {0,0,0,0,0,0,0,0,0,0}
|
||||
}
|
||||
}
|
||||
|
||||
group "group3" {
|
||||
hardlink "hl" {
|
||||
linktarget "/dataset3" ;
|
||||
softlink "slink" {
|
||||
linktarget "/sometarget"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
dataset "dataset3" {
|
||||
datatype { float32 };
|
||||
dataspace {array (1000,1000) (1000,1000) };
|
||||
storagelayout {chunked (250,1000)};
|
||||
datatype {H5T_NATIVE_FLOAT}
|
||||
dataspace {array (100,100) (100,100)}
|
||||
}
|
||||
|
||||
} // root group
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user