class_docstr: MultiInterface allows wrapping around a list of tabular datasets
  including dataframes, the columnar dictionary format or 2D tabular
  NumPy arrays. Using the split method the list of tabular data can
  be split into individual datasets.
  
  The interface makes the data appear a list of tabular datasets as
  a single dataset. The interface may be used to represent geometries
  so the behavior depends on the type of geometry being represented.
class_docstr_tok: ["MultiInterface","allows","wrapping","around","a","list","of","tabular","datasets","including","dataframes",",","the","columnar","dictionary","format","or","2D","tabular","NumPy","arrays",".","Using","the","split","method","the","list","of","tabular","data","can","be","split","into","individual","datasets",".","The","interface","makes","the","data","appear","a","list","of","tabular","datasets","as","a","single","dataset",".","The","interface","may","be","used","to","represent","geometries","so","the","behavior","depends","on","the","type","of","geometry","being","represented","."]
code: def validate(cls, dataset, vdims=True):
      if not dataset.data:
          return
  
      from holoviews.element import Polygons
  
      ds = cls._inner_dataset_template(dataset, validate_vdims=vdims)
      for d in dataset.data:
          ds.data = d
          ds.interface.validate(ds, vdims)
          if (
              isinstance(dataset, Polygons)
              and ds.interface is DictInterface
          ):
              holes = ds.interface.holes(ds)
              if not isinstance(holes, list):
                  raise DataError(
                      "Polygons holes must be declared as a list-of-lists.",
                      cls,
                  )
              subholes = holes[0]
              coords = ds.data[ds.kdims[0].name]
              splits = np.isnan(coords.astype("float")).sum()
              if len(subholes) != (splits + 1):
                  raise DataError(
                      "Polygons with holes containing multi-geometries "
                      "must declare a list of holes for each geometry.",
                      cls,
                  )
  
imports: import numpy
  from ..None import util
  from ..element import Element
  from ..ndmapping import NdMapping, item_check, sorted_context
  from .dictionary import DictInterface
  from .interface import DataError, Interface
label_desc: Use image node_id 2 for calling the MultiInterface obj's underlying member method code with example usage: obj.validate(cls, dataset, vdims) without return types