Page tree

The license could not be verified: License Certificate has expired!

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »









Determines whether an HDF5 path is valid and, optionally, whether the path resolves to an HDF5 object.


H5LT_PATH_VALID(loc_id, path, check_object_valid)


htri_t H5LTpath_valid ( hid_t loc_id, const char *path, hbool_t check_object_valid)

SUBROUTINE h5ltpath_valid_f(loc_id, path, check_object_valid, path_valid, &
   INTEGER(HID_T)  , INTENT(IN)  :: loc_id       ! An identifier of an object 
                                                 ! in the file
   CHARACTER(LEN=*), INTENT(IN)  :: path         ! Path to the object to check, 
                                                 ! relative to loc_id
   LOGICAL         , INTENT(IN)  :: check_object_valid  
                                                 ! Indicates whether to determine 
                                                 ! whether final component of path
                                                 ! resolves to an object 
   LOGICAL         , INTENT(OUT) :: path_valid   ! Object status
   INTEGER         , INTENT(OUT) :: errcode      ! Error code: 0 on success 
                                                 ! and -1 on failure
END SUBROUTINE h5ltpath_valid_f

hid_t loc_idIN: An identifier of an object in the file.
const char *pathIN: The path to the object to check. 
Links in path may be of any type.
hbool_t check_object_valid   IN: If TRUE, determine whether the final component of path resolves to an object; if FALSE, do not check.


H5LTpath_valid checks the validity of path relative to the identifier of an object, loc_id. Optionally, check_object_validcan be set to determine whether the final component of path resolves to an HDF5 object; if not, the final component is a dangling link.

The meaning of the function’s return value depends on the value of check_object_valid: 
If check_object_valid is set to FALSE,   H5LTpath_valid will check all links in path to verify that they exist. If all the links in path exist, the function will return TRUE; otherwise the function will return FALSE.

If check_object_valid is set to TRUE,   H5LTpath_valid will first check the links in path, as described above. If all the links exist, check_object_valid will then determine whether the final component of path resolves to an actual HDF5 object.H5LTpath_valid will return TRUE if all the links in path exist and the final component resolves to an actual object; otherwise, it will return FALSE.

path can be any one of the following:

  • An absolute path, which starts with a slash ( / ) indicating the file’s root group, followed by the members
  • A relative path with respect to loc_id
  • A dot ( . ), if loc_id is the object identifier for the object itself

If path is an absolute path, then loc_id can be an identifier for any object in the file as it is used only to identify the file. If path is a relative path, then loc_id must be a file or a group identifier.

Note on Behavior Change:

The behavior of H5LTpath_valid was changed in the 1.10.0 release in the case where the root group, “/”, is the value of path. This change is described below: 

  1. Let loc_id denote a valid HDF5 file identifier, and let check_object_valid be set to true or false. A call to H5LTpath_valid with arguments loc_id, “/”, and check_object_valid returns a positive value; in other words,H5LTpath_valid(loc_id, "/", check_object_valid) returns a positive value. In HDF5 version 1.8.16, this function returns 0.
  2. Let ‘root’ denote a valid HDF5 group identifier that refers to the root group of an HDF5 file, and let check_object_valid be set to true or false. A call to H5LTpath_valid with arguments ‘root’, “/”, andcheck_object_valid returns a positive value; in other words, H5LTpath_valid(root, "/", check_object_valid)returns a postive value. In HDF5 version 1.8.16, this function returns 0.


Upon success:

If check_object_valid is set to FALSE

Returns TRUE if the path is valid; otherwise returns FALSE.

If check_object_valid is set to TRUE

Returns TRUE if the path is valid and resolves to an HDF5 object; otherwise returns FALSE.

Upon error, returns a negative value.


examples / h5_subset.c [32:42]  1.10/master  HDFFV/hdf5
main (void)
    hsize_t     dims[2], dimsm[2];   
    int         data[DIM0][DIM1];           /* data to write */
    int         sdata[DIM0_SUB][DIM1_SUB];  /* subset to write */
    int         rdata[DIM0][DIM1];          /* buffer for read */
    hid_t       file_id, dataset_id;        /* handles */
    hid_t       dataspace_id, memspace_id; 


     USE HDF5 ! This module contains all necessary modules


     CHARACTER(LEN=11), PARAMETER :: filename = "compound.h5" ! File name
     CHARACTER(LEN=8), PARAMETER :: dsetname = "Compound"     ! Dataset name
     INTEGER, PARAMETER :: dimsize = 6 ! Size of the dataset

     INTEGER(HID_T) :: file_id       ! File identifier

c++ / examples / create.cpp [33:43]  1.10/master  HDFFV/hdf5
int main (void)
    * Data initialization.
   int i, j;
   int data[NX][NY];          // buffer for data to write
   for (j = 0; j < NX; j++)
      for (i = 0; i < NY; i++)

public class H5Ex_D_Chunk {
    private static String FILENAME = "H5Ex_D_Chunk.h5";
    private static String DATASETNAME = "DS1";
    private static final int DIM_X = 6;
    private static final int DIM_Y = 8;
    private static final int CHUNK_X = 4;
    private static final int CHUNK_Y = 4;
    private static final int RANK = 2;
    private static final int NDIMS = 2;

Release    Change
1.10.0Function behavior changed in this release. See the “Note on Behavior Change” section above.

--- Last Modified: November 15, 2017 | 10:44 AM