Other specifications may reference this specification by specifying the
      location of a data file as
      $XDG_DATA_DIRS/subdir/filename. This implies that:
      
            Such file should be installed to $datadir/subdir/filename
            with $datadir defaulting to /usr/share.
          
            A user specific version of the data file may be created in
            $XDG_DATA_HOME/subdir/filename, taking into
            account the default value for $XDG_DATA_HOME if
            $XDG_DATA_HOME is not set.
          
            Lookups of the data file should search for ./subdir/filename relative to
            all base directories specified by $XDG_DATA_HOME and
            $XDG_DATA_DIRS . If an environment
            variable is either not set or empty, its default value as defined by this specification
            should be used instead.
          
      Specifications may reference this specification by specifying the
      location of a configuration file as
      $XDG_CONFIG_DIRS/subdir/filename. This implies that:
      
            Default configuration files should be installed to $sysconfdir/xdg/subdir/filename
            with $sysconfdir defaulting to /etc.
          
            A user specific version of the configuration file may be created in
            $XDG_CONFIG_HOME/subdir/filename, taking into
            account the default value for $XDG_CONFIG_HOME if
            $XDG_CONFIG_HOME is not set.
          
            Lookups of the configuration file should search for ./subdir/filename relative to
            all base directories indicated by $XDG_CONFIG_HOME and
            $XDG_CONFIG_DIRS . If an environment
            variable is either not set or empty, its default value as defined by this specification
            should be used instead.
          
      If, when attempting to write a file, the destination
      directory is non-existant an attempt should be made to create it
      with permission 0700. If the destination directory
      exists already the permissions should not be changed.
      The application should be prepared to handle the case where the file
      could not be written, either because the directory was non-existant
      and could not be created, or for any other reason. In such case it
      may chose to present an error message to the user.
    
When attempting to read a file, if for any reason a file in a certain directory is unaccessible, e.g. because the directory is non-existant, the file is non-existant or the user is not authorized to open the file, then the processing of the file in that directory should be skipped. If due to this a required file could not be found at all, the application may chose to present an error message to the user.
      A specification that refers to $XDG_DATA_DIRS or
      $XDG_CONFIG_DIRS should define what the behaviour
      must be when a file is located under multiple base directories.
      It could, for example, define that only the file under the most
      important base directory should be used or, as another example,
      it could define rules for merging the information from the different
      files.