code: function _select (node, expr) {
          var
              resultSet,
              nodeSet = [node];
          while (expr) {
              resultSet = [];
              _test(nodeSet, expr, resultSet);
              if (0 === resultSet.length) {
                  return [];
              }
              nodeSet = resultSet;
              if (expr.filter) {
                  resultSet = [];
                  _each(nodeSet, _filter, expr.filter, resultSet);
                  if (0 === resultSet.length) {
                      return [];
                  }
                  nodeSet = resultSet;
              }
              expr = expr.then;
          }
          return resultSet;
      }
docs: Select the expression on the current node
  
  @param {gpf.xml.IXmlConstNode} node
  @param {Object} expr
  @private