class_docstr: A file-like interface to features of a vector dataset
  
  Python text file objects are iterators over lines of a file. Fiona
  Collections are similar iterators (not lists!) over features
  represented as GeoJSON-like mappings.
class_docstr_tok: ["A","file-like","interface","to","features","of","a","vector","dataset","Python","text","file","objects","are","iterators","over","lines","of","a","file",".","Fiona","Collections","are","similar","iterators","(","not","lists","!",")","over","features","represented","as","GeoJSON-like","mappings","."]
docstr: Check support for the schema against the driver
  
  See GH#572 for discussion.
docstr_tok: ["Check","support","for","the","schema","against","the","driver","See","GH","#","572","for","discussion","."]
code: def _check_schema_driver_support(self):
      """Check support for the schema against the driver
  
      See GH#572 for discussion.
      """
      gdal_version_major = _GDAL_VERSION_TUPLE.major
  
      for field in self._schema["properties"].values():
          field_type = field.split(":")[0]
  
          if not _driver_supports_field(self.driver, field_type):
              if (
                  self.driver == "GPKG"
                  and gdal_version_major < 2
                  and field_type == "datetime"
              ):
                  raise DriverSupportError(
                      "GDAL 1.x GPKG driver does not support datetime fields"
                  )
              else:
                  raise DriverSupportError(
                      f"{self.driver} does not support {field_type} fields"
                  )
          elif field_type in {
              "time",
              "datetime",
              "date",
          } and _driver_converts_field_type_silently_to_str(
              self.driver, field_type
          ):
              if (
                  self._driver == "GeoJSON"
                  and gdal_version_major < 2
                  and field_type in {"datetime", "date"}
              ):
                  warnings.warn(
                      "GeoJSON driver in GDAL 1.x silently converts "
                      f"{field_type} to string in non-standard format"
                  )
              else:
                  warnings.warn(
                      f"{self.driver} driver silently converts {field_type} "
                      "to string"
                  )
  
imports: from contextlib import ExitStack
  import logging
  import os
  import warnings
  from fiona import compat, vfs
  from fiona.ogrext import Iterator, ItemsIterator, KeysIterator
  from fiona.ogrext import Session, WritingSession
  from fiona.ogrext import buffer_to_virtual_file, remove_virtual_file, GEOMETRY_TYPES
  from fiona.errors import DriverError, DriverSupportError, GDALVersionError, SchemaError, UnsupportedGeometryTypeError, UnsupportedOperation
  from fiona.logutils import FieldSkipLogFilter
  from fiona.crs import CRS
  from fiona._env import get_gdal_release_name, get_gdal_version_tuple
  from fiona.env import env_ctx_if_needed
  from fiona.errors import FionaDeprecationWarning
  from fiona.drvsupport import driver_from_extension, supported_drivers, driver_mode_mingdal, _driver_converts_field_type_silently_to_str, _driver_supports_field
  from fiona.path import Path, vsi_path, parse_path
label_desc: Use image node_id 27 for calling the Collection obj's underlying member method code with example usage: obj._check_schema_driver_support() without return types