mirror of
https://github.com/HDFGroup/hdf5.git
synced 2024-12-15 07:40:23 +08:00
3e755623cb
Users can create external links using H5L_create_external(). These links point to an object in another HDF5 file. Users can alter the behavior of external links or create new kinds of links by registering callbacks using the H5L interface. Added tests, tools support, etc. Also a number of other, minor changes have been made (some restructuring of the H5L interface, for instance). Additional documentation and examples are forthcoming.
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://hdf.ncsa.uiuc.edu/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdf.ncsa.uiuc.edu/DTDs/HDF5File http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.xsd">
|
|
<hdf5:RootGroup OBJ-XID="xid_96" H5Path="/">
|
|
<hdf5:Group Name="g1" OBJ-XID="xid_792" H5Path="/g1" Parents="xid_96" H5ParentPaths="/" >
|
|
<hdf5:Group Name="g1.1" OBJ-XID="xid_1816" H5Path="/g1/g1.1" Parents="xid_792" H5ParentPaths="/g1" >
|
|
<hdf5:Dataset Name="dset1" OBJ-XID="xid_2840" H5Path= "/g1/g1.1/dset1" Parents="xid_1816" 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" DimPerm="0"/>
|
|
<hdf5:ArrayDimension DimSize="2" DimPerm="1"/>
|
|
<hdf5:ArrayDimension DimSize="2" DimPerm="2"/>
|
|
<hdf5:ArrayDimension DimSize="2" DimPerm="3"/>
|
|
<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" DimPerm="0"/>
|
|
<hdf5:ArrayDimension DimSize="2" DimPerm="1"/>
|
|
<hdf5:ArrayDimension DimSize="2" DimPerm="2"/>
|
|
<hdf5:ArrayDimension DimSize="2" DimPerm="3"/>
|
|
<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" DimPerm="0"/>
|
|
<hdf5:ArrayDimension DimSize="2" DimPerm="1"/>
|
|
<hdf5:ArrayDimension DimSize="2" DimPerm="2"/>
|
|
<hdf5:ArrayDimension DimSize="2" DimPerm="3"/>
|
|
<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_6040" H5Path="/g1/g1.2" Parents="xid_792" H5ParentPaths="/g1" >
|
|
<hdf5:Dataset Name="link1" OBJ-XID="xid_2840-1" H5Path="/g1/g1.2/link1" Parents="xid_6040" H5ParentPaths="/g1/g1.2">
|
|
<hdf5:DatasetPtr OBJ-XID="xid_2840" H5Path="/g1/g1.2/link1"/>
|
|
</hdf5:Dataset>
|
|
</hdf5:Group>
|
|
</hdf5:Group>
|
|
<hdf5:Group Name="g2" OBJ-XID="xid_6520" H5Path="/g2" Parents="xid_96" H5ParentPaths="/" >
|
|
<hdf5:SoftLink LinkName="slink2" OBJ-XID="xid_792" H5SourcePath="/g2/slink2" TargetPath="/g1" TargetObj="xid_792" Parents="xid_6520" H5ParentPaths="/g2" />
|
|
</hdf5:Group>
|
|
<hdf5:Group Name="g3" OBJ-XID="xid_10160" H5Path="/g3" Parents="xid_96" H5ParentPaths="/" >
|
|
<hdf5:Dataset Name="link3" OBJ-XID="xid_11552" H5Path= "/g3/link3" Parents="xid_10160" 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_10856" H5Path="/g4" Parents="xid_96" H5ParentPaths="/" >
|
|
<hdf5:Dataset Name="dset2" OBJ-XID="xid_11552-2" H5Path="/g4/dset2" Parents="xid_10856" H5ParentPaths="/g4">
|
|
<hdf5:DatasetPtr OBJ-XID="xid_11552" H5Path="/g4/dset2"/>
|
|
</hdf5:Dataset>
|
|
</hdf5:Group>
|
|
<hdf5:Group Name="g5" OBJ-XID="xid_8512" H5Path="/g5" Parents="xid_96" H5ParentPaths="/" >
|
|
<hdf5:SoftLink LinkName="slink4" OBJ-XID="xid_15872" H5SourcePath="/g5/slink4" TargetPath="/g6/dset3" TargetObj="xid_15872" Parents="xid_8512" H5ParentPaths="/g5" />
|
|
</hdf5:Group>
|
|
<hdf5:Group Name="g6" OBJ-XID="xid_8560" H5Path="/g6" Parents="xid_96" H5ParentPaths="/" >
|
|
<hdf5:Dataset Name="dset3" OBJ-XID="xid_15872" H5Path= "/g6/dset3" Parents="xid_8560" 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_12688" H5Path="/g7" Parents="xid_96" H5ParentPaths="/" >
|
|
<hdf5:SoftLink LinkName="slink5" OBJ-XID="xid_18446744073709551614" H5SourcePath="/g7/slink5" TargetPath="/g8/elink" Parents="xid_12688" H5ParentPaths="/g7" />
|
|
<hdf5:SoftLink LinkName="slink6" OBJ-XID="xid_18446744073709551613" H5SourcePath="/g7/slink6" TargetPath="/g8/udlink" Parents="xid_12688" H5ParentPaths="/g7" />
|
|
</hdf5:Group>
|
|
<hdf5:Group Name="g8" OBJ-XID="xid_720" H5Path="/g8" Parents="xid_96" H5ParentPaths="/" >
|
|
<hdf5:ExternalLink LinkName="elink" OBJ-XID="xid_18446744073709551612" H5SourcePath="/g8/elink" TargetFilename="somefile" TargetPath="somepath" Parents="xid_720" H5ParentPaths="/g8" />
|
|
<hdf5:UserDefined LinkName="udlink" OBJ-XID="xid_18446744073709551611" H5SourcePath="/g8/udlink" LinkClass="187" Parents="xid_720" H5ParentPaths="/g8" />
|
|
</hdf5:Group>
|
|
</hdf5:RootGroup>
|
|
</hdf5:HDF5-File>
|