code: function decodeLink(value) {                                // '</1/2>;pmin=10;pmax=60,</1/2/1>,</1/2/2>'
      var allowedAttrs = [ 'pmin', 'pmax', 'gt', 'lt', 'st' ],
          valueArray = value.split(','),                      // ['</1/2>;pmin=10;pmax=60', '</1/2/1>', '</1/2/2>']
          resrcArray = valueArray.slice(1),                   // ['</1/2/1>', '</1/2/2>']
          attrsArray = valueArray[0].split(';').slice(1),     // ['pmin=10', 'pmax=60']
          path = valueArray[0].split(';')[0].slice(1, -1),
          data = {
              path: path
          },
          rid;    
  
      if (!_.isEmpty(attrsArray)) {
          data.attrs = {};
          _.forEach(attrsArray, function (val) {
              var attr = val.split('=');
  
              if (_.includes(allowedAttrs, attr[0]))
                  data.attrs[attr[0]] = Number(attr[1]);
          });
      }
  
      if (!_.isEmpty(resrcArray)) {
          data.resrcList = [];
          _.forEach(resrcArray, function (resrc, idx) {     
              data.resrcList.push(resrc.slice(1, -1));  
          });
      }
  
      return data;     // { path: '/1/2', attrs: { pmin: 10, pmax: 60 }, resrcList: ['/1/2/1', '/1/2/2'] }
  }
docs: *******************************************************
  Link-format                                           *
  *******************************************************