mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-01-24 15:25:00 +08:00
ad28fa5b0c
Description: Improved external link traversal of h5dump. h5dump will now properly avoid all cycles, even those spanning multiple files. Improvement to the output of committed datatypes. Committed datatypes are now checked for uniqueness (like other objects). Tests added for these cases. Tested: kagiso, linew, smirom (h5committest)
369 lines
15 KiB
XML
369 lines
15 KiB
XML
#############################
|
|
Expected output for 'h5dump --xml tmany.h5'
|
|
#############################
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
<hdf5:HDF5-File xmlns:hdf5="http://hdfgroup.org/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdfgroup.org/DTDs/HDF5File http://hdfgroup.org/DTDs/HDF5-File.xsd">
|
|
<hdf5:RootGroup OBJ-XID="xid_96" H5Path="/">
|
|
<hdf5:Group Name="g1" OBJ-XID="xid_800" H5Path="/g1" Parents="xid_96" H5ParentPaths="/" >
|
|
<hdf5:Group Name="g1.1" OBJ-XID="xid_1832" H5Path="/g1/g1.1" Parents="xid_800" H5ParentPaths="/g1" >
|
|
<hdf5:Dataset Name="dset1" OBJ-XID="xid_2864" H5Path= "/g1/g1.1/dset1" Parents="xid_1832" H5ParentPaths="/g1/g1.1">
|
|
<hdf5:StorageLayout>
|
|
<hdf5:ChunkedLayout Ndims="1">
|
|
<hdf5:ChunkDimension DimSize="2" />
|
|
<hdf5:RequiredFilter>
|
|
</hdf5:RequiredFilter>
|
|
</hdf5:ChunkedLayout>
|
|
</hdf5:StorageLayout>
|
|
<hdf5:FillValueInfo FillTime="FillIfSet" AllocationTime="Incremental">
|
|
<hdf5:FillValue>
|
|
<hdf5:NoFill/>
|
|
</hdf5:FillValue>
|
|
</hdf5:FillValueInfo>
|
|
<hdf5:Dataspace>
|
|
<hdf5:SimpleDataspace Ndims="1">
|
|
<hdf5:Dimension DimSize="6" MaxDimSize="UNLIMITED"/>
|
|
</hdf5:SimpleDataspace>
|
|
</hdf5:Dataspace>
|
|
<hdf5:DataType>
|
|
<hdf5:CompoundType>
|
|
<hdf5:Field FieldName="a_array">
|
|
<hdf5:DataType>
|
|
<hdf5:ArrayType Ndims="4">
|
|
<hdf5:ArrayDimension DimSize="2"/>
|
|
<hdf5:ArrayDimension DimSize="2"/>
|
|
<hdf5:ArrayDimension DimSize="2"/>
|
|
<hdf5:ArrayDimension DimSize="2"/>
|
|
<hdf5:DataType>
|
|
<hdf5:AtomicType>
|
|
<hdf5:IntegerType ByteOrder="BE" Sign="true" Size="4" />
|
|
</hdf5:AtomicType>
|
|
</hdf5:DataType>
|
|
</hdf5:ArrayType>
|
|
</hdf5:DataType>
|
|
</hdf5:Field>
|
|
<hdf5:Field FieldName="b_array">
|
|
<hdf5:DataType>
|
|
<hdf5:ArrayType Ndims="4">
|
|
<hdf5:ArrayDimension DimSize="2"/>
|
|
<hdf5:ArrayDimension DimSize="2"/>
|
|
<hdf5:ArrayDimension DimSize="2"/>
|
|
<hdf5:ArrayDimension DimSize="2"/>
|
|
<hdf5:DataType>
|
|
<hdf5:AtomicType>
|
|
<hdf5:FloatType ByteOrder="BE" Size="8" SignBitLocation="63" ExponentBits="11" ExponentLocation="52" MantissaBits="52" MantissaLocation="0" />
|
|
</hdf5:AtomicType>
|
|
</hdf5:DataType>
|
|
</hdf5:ArrayType>
|
|
</hdf5:DataType>
|
|
</hdf5:Field>
|
|
<hdf5:Field FieldName="c_array">
|
|
<hdf5:DataType>
|
|
<hdf5:ArrayType Ndims="4">
|
|
<hdf5:ArrayDimension DimSize="2"/>
|
|
<hdf5:ArrayDimension DimSize="2"/>
|
|
<hdf5:ArrayDimension DimSize="2"/>
|
|
<hdf5:ArrayDimension DimSize="2"/>
|
|
<hdf5:DataType>
|
|
<hdf5:AtomicType>
|
|
<hdf5:FloatType ByteOrder="BE" Size="8" SignBitLocation="63" ExponentBits="11" ExponentLocation="52" MantissaBits="52" MantissaLocation="0" />
|
|
</hdf5:AtomicType>
|
|
</hdf5:DataType>
|
|
</hdf5:ArrayType>
|
|
</hdf5:DataType>
|
|
</hdf5:Field>
|
|
</hdf5:CompoundType>
|
|
</hdf5:DataType>
|
|
<hdf5:Attribute Name="attr1">
|
|
<hdf5:Dataspace>
|
|
<hdf5:SimpleDataspace Ndims="1">
|
|
<hdf5:Dimension DimSize="10" MaxDimSize="10"/>
|
|
</hdf5:SimpleDataspace>
|
|
</hdf5:Dataspace>
|
|
<hdf5:DataType>
|
|
<hdf5:AtomicType>
|
|
<hdf5:IntegerType ByteOrder="BE" Sign="true" Size="1" />
|
|
</hdf5:AtomicType>
|
|
</hdf5:DataType>
|
|
<hdf5:Data>
|
|
<hdf5:DataFromFile>
|
|
97 98 99 100 101 102 103 104 105 0
|
|
</hdf5:DataFromFile>
|
|
</hdf5:Data>
|
|
</hdf5:Attribute>
|
|
<hdf5:Attribute Name="attr2">
|
|
<hdf5:Dataspace>
|
|
<hdf5:SimpleDataspace Ndims="2">
|
|
<hdf5:Dimension DimSize="2" MaxDimSize="2"/>
|
|
<hdf5:Dimension DimSize="2" MaxDimSize="2"/>
|
|
</hdf5:SimpleDataspace>
|
|
</hdf5:Dataspace>
|
|
<hdf5:DataType>
|
|
<hdf5:AtomicType>
|
|
<hdf5:IntegerType ByteOrder="BE" Sign="true" Size="4" />
|
|
</hdf5:AtomicType>
|
|
</hdf5:DataType>
|
|
<hdf5:Data>
|
|
<hdf5:DataFromFile>
|
|
0 1
|
|
2 3
|
|
</hdf5:DataFromFile>
|
|
</hdf5:Data>
|
|
</hdf5:Attribute>
|
|
<hdf5:Attribute Name="attr3">
|
|
<hdf5:Dataspace>
|
|
<hdf5:SimpleDataspace Ndims="1">
|
|
<hdf5:Dimension DimSize="10" MaxDimSize="10"/>
|
|
</hdf5:SimpleDataspace>
|
|
</hdf5:Dataspace>
|
|
<hdf5:DataType>
|
|
<hdf5:AtomicType>
|
|
<hdf5:FloatType ByteOrder="BE" Size="8" SignBitLocation="63" ExponentBits="11" ExponentLocation="52" MantissaBits="52" MantissaLocation="0" />
|
|
</hdf5:AtomicType>
|
|
</hdf5:DataType>
|
|
<hdf5:Data>
|
|
<hdf5:DataFromFile>
|
|
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
|
|
</hdf5:DataFromFile>
|
|
</hdf5:Data>
|
|
</hdf5:Attribute>
|
|
<!-- Note: format of compound data not specified -->
|
|
<hdf5:Data>
|
|
<hdf5:DataFromFile>
|
|
0 1
|
|
0 1
|
|
0 1
|
|
0 1
|
|
0 1
|
|
0 1
|
|
0 1
|
|
0 1 0 1
|
|
0 1
|
|
0 1
|
|
0 1
|
|
0 1
|
|
0 1
|
|
0 1
|
|
0 1 6 7
|
|
6 7
|
|
6 7
|
|
6 7
|
|
6 7
|
|
6 7
|
|
6 7
|
|
6 7
|
|
1 2
|
|
1 2
|
|
1 2
|
|
1 2
|
|
1 2
|
|
1 2
|
|
1 2
|
|
1 2 1 2
|
|
1 2
|
|
1 2
|
|
1 2
|
|
1 2
|
|
1 2
|
|
1 2
|
|
1 2 7 8
|
|
7 8
|
|
7 8
|
|
7 8
|
|
7 8
|
|
7 8
|
|
7 8
|
|
7 8
|
|
2 3
|
|
2 3
|
|
2 3
|
|
2 3
|
|
2 3
|
|
2 3
|
|
2 3
|
|
2 3 2 3
|
|
2 3
|
|
2 3
|
|
2 3
|
|
2 3
|
|
2 3
|
|
2 3
|
|
2 3 8 9
|
|
8 9
|
|
8 9
|
|
8 9
|
|
8 9
|
|
8 9
|
|
8 9
|
|
8 9
|
|
3 4
|
|
3 4
|
|
3 4
|
|
3 4
|
|
3 4
|
|
3 4
|
|
3 4
|
|
3 4 3 4
|
|
3 4
|
|
3 4
|
|
3 4
|
|
3 4
|
|
3 4
|
|
3 4
|
|
3 4 9 10
|
|
9 10
|
|
9 10
|
|
9 10
|
|
9 10
|
|
9 10
|
|
9 10
|
|
9 10
|
|
4 5
|
|
4 5
|
|
4 5
|
|
4 5
|
|
4 5
|
|
4 5
|
|
4 5
|
|
4 5 4 5
|
|
4 5
|
|
4 5
|
|
4 5
|
|
4 5
|
|
4 5
|
|
4 5
|
|
4 5 10 11
|
|
10 11
|
|
10 11
|
|
10 11
|
|
10 11
|
|
10 11
|
|
10 11
|
|
10 11
|
|
5 6
|
|
5 6
|
|
5 6
|
|
5 6
|
|
5 6
|
|
5 6
|
|
5 6
|
|
5 6 5 6
|
|
5 6
|
|
5 6
|
|
5 6
|
|
5 6
|
|
5 6
|
|
5 6
|
|
5 6 11 12
|
|
11 12
|
|
11 12
|
|
11 12
|
|
11 12
|
|
11 12
|
|
11 12
|
|
11 12
|
|
</hdf5:DataFromFile>
|
|
</hdf5:Data>
|
|
</hdf5:Dataset>
|
|
</hdf5:Group>
|
|
<hdf5:Group Name="g1.2" OBJ-XID="xid_5968" H5Path="/g1/g1.2" Parents="xid_800" H5ParentPaths="/g1" >
|
|
<hdf5:Dataset Name="link1" OBJ-XID="xid_2864-1" H5Path="/g1/g1.2/link1" Parents="xid_5968" H5ParentPaths="/g1/g1.2">
|
|
<hdf5:DatasetPtr OBJ-XID="xid_2864" H5Path="/g1/g1.1/dset1"/>
|
|
</hdf5:Dataset>
|
|
</hdf5:Group>
|
|
</hdf5:Group>
|
|
<hdf5:Group Name="g2" OBJ-XID="xid_6456" H5Path="/g2" Parents="xid_96" H5ParentPaths="/" >
|
|
<hdf5:SoftLink LinkName="slink2" OBJ-XID="xid_800" H5SourcePath="/g2/slink2" TargetPath="/g1" TargetObj="xid_800" Parents="xid_6456" H5ParentPaths="/g2" />
|
|
</hdf5:Group>
|
|
<hdf5:Group Name="g3" OBJ-XID="xid_10080" H5Path="/g3" Parents="xid_96" H5ParentPaths="/" >
|
|
<hdf5:Dataset Name="link3" OBJ-XID="xid_11488" H5Path= "/g3/link3" Parents="xid_10080" H5ParentPaths="/g3">
|
|
<hdf5:StorageLayout>
|
|
<hdf5:ContiguousLayout/>
|
|
</hdf5:StorageLayout>
|
|
<hdf5:FillValueInfo FillTime="FillIfSet" AllocationTime="Late">
|
|
<hdf5:FillValue>
|
|
<hdf5:NoFill/>
|
|
</hdf5:FillValue>
|
|
</hdf5:FillValueInfo>
|
|
<hdf5:Dataspace>
|
|
<hdf5:SimpleDataspace Ndims="2">
|
|
<hdf5:Dimension DimSize="10" MaxDimSize="10"/>
|
|
<hdf5:Dimension DimSize="10" MaxDimSize="10"/>
|
|
</hdf5:SimpleDataspace>
|
|
</hdf5:Dataspace>
|
|
<hdf5:DataType>
|
|
<hdf5:AtomicType>
|
|
<hdf5:IntegerType ByteOrder="BE" Sign="true" Size="4" />
|
|
</hdf5:AtomicType>
|
|
</hdf5:DataType>
|
|
<hdf5:Data>
|
|
<hdf5:DataFromFile>
|
|
0 1 2 3 4 5 6 7 8 9
|
|
0 1 2 3 4 5 6 7 8 9
|
|
0 1 2 3 4 5 6 7 8 9
|
|
0 1 2 3 4 5 6 7 8 9
|
|
0 1 2 3 4 5 6 7 8 9
|
|
0 1 2 3 4 5 6 7 8 9
|
|
0 1 2 3 4 5 6 7 8 9
|
|
0 1 2 3 4 5 6 7 8 9
|
|
0 1 2 3 4 5 6 7 8 9
|
|
0 1 2 3 4 5 6 7 8 9
|
|
</hdf5:DataFromFile>
|
|
</hdf5:Data>
|
|
</hdf5:Dataset>
|
|
</hdf5:Group>
|
|
<hdf5:Group Name="g4" OBJ-XID="xid_10784" H5Path="/g4" Parents="xid_96" H5ParentPaths="/" >
|
|
<hdf5:Dataset Name="dset2" OBJ-XID="xid_11488-2" H5Path="/g4/dset2" Parents="xid_10784" H5ParentPaths="/g4">
|
|
<hdf5:DatasetPtr OBJ-XID="xid_11488" H5Path="/g3/link3"/>
|
|
</hdf5:Dataset>
|
|
</hdf5:Group>
|
|
<hdf5:Group Name="g5" OBJ-XID="xid_8416" H5Path="/g5" Parents="xid_96" H5ParentPaths="/" >
|
|
<hdf5:SoftLink LinkName="slink4" OBJ-XID="xid_15896" H5SourcePath="/g5/slink4" TargetPath="/g6/dset3" TargetObj="xid_15896" Parents="xid_8416" H5ParentPaths="/g5" />
|
|
</hdf5:Group>
|
|
<hdf5:Group Name="g6" OBJ-XID="xid_8456" H5Path="/g6" Parents="xid_96" H5ParentPaths="/" >
|
|
<hdf5:Dataset Name="dset3" OBJ-XID="xid_15896" H5Path= "/g6/dset3" Parents="xid_8456" H5ParentPaths="/g6">
|
|
<hdf5:StorageLayout>
|
|
<hdf5:ContiguousLayout/>
|
|
</hdf5:StorageLayout>
|
|
<hdf5:FillValueInfo FillTime="FillIfSet" AllocationTime="Late">
|
|
<hdf5:FillValue>
|
|
<hdf5:NoFill/>
|
|
</hdf5:FillValue>
|
|
</hdf5:FillValueInfo>
|
|
<hdf5:Dataspace>
|
|
<hdf5:SimpleDataspace Ndims="2">
|
|
<hdf5:Dimension DimSize="10" MaxDimSize="10"/>
|
|
<hdf5:Dimension DimSize="10" MaxDimSize="10"/>
|
|
</hdf5:SimpleDataspace>
|
|
</hdf5:Dataspace>
|
|
<hdf5:DataType>
|
|
<hdf5:AtomicType>
|
|
<hdf5:IntegerType ByteOrder="BE" Sign="true" Size="4" />
|
|
</hdf5:AtomicType>
|
|
</hdf5:DataType>
|
|
<hdf5:Data>
|
|
<hdf5:DataFromFile>
|
|
0 0 0 0 0 0 0 0 0 0
|
|
1 1 1 1 1 1 1 1 1 1
|
|
2 2 2 2 2 2 2 2 2 2
|
|
3 3 3 3 3 3 3 3 3 3
|
|
4 4 4 4 4 4 4 4 4 4
|
|
5 5 5 5 5 5 5 5 5 5
|
|
6 6 6 6 6 6 6 6 6 6
|
|
7 7 7 7 7 7 7 7 7 7
|
|
8 8 8 8 8 8 8 8 8 8
|
|
9 9 9 9 9 9 9 9 9 9
|
|
</hdf5:DataFromFile>
|
|
</hdf5:Data>
|
|
</hdf5:Dataset>
|
|
</hdf5:Group>
|
|
<hdf5:Group Name="g7" OBJ-XID="xid_8496" H5Path="/g7" Parents="xid_96" H5ParentPaths="/" >
|
|
<hdf5:SoftLink LinkName="slink5" OBJ-XID="xid_18446744073709551614" H5SourcePath="/g7/slink5" TargetPath="/g8/elink" Parents="xid_8496" H5ParentPaths="/g7" />
|
|
<hdf5:SoftLink LinkName="slink6" OBJ-XID="xid_18446744073709551613" H5SourcePath="/g7/slink6" TargetPath="/g8/udlink" Parents="xid_8496" H5ParentPaths="/g7" />
|
|
</hdf5:Group>
|
|
<hdf5:Group Name="g8" OBJ-XID="xid_12536" H5Path="/g8" Parents="xid_96" H5ParentPaths="/" >
|
|
<hdf5:ExternalLink LinkName="elink" OBJ-XID="xid_18446744073709551612" H5SourcePath="/g8/elink" TargetFilename="somefile" TargetPath="somepath" Parents="xid_12536" H5ParentPaths="/g8" />
|
|
<hdf5:UserDefined LinkName="udlink" OBJ-XID="xid_18446744073709551611" H5SourcePath="/g8/udlink" LinkClass="187" Parents="xid_12536" H5ParentPaths="/g8" />
|
|
</hdf5:Group>
|
|
</hdf5:RootGroup>
|
|
</hdf5:HDF5-File>
|