Gets SensorML objects for all procedures in your filtered features.

        You should override the default output_format for servers that do not
        respond properly.

def metadata(
        self, output_format=None, feature_name_callback=None, **kwargs
    ):
        """
        Gets SensorML objects for all procedures in your filtered features.

        You should override the default output_format for servers that do not
        respond properly.
        """
        callback = feature_name_callback or str
        if output_format is None:
            output_format = (
                'text/xml; subtype="sensorML/1.0.1/profiles/ioos_sos/1.0"'
            )

        responses = []
        if self.features is not None:
            for feature in self.features:
                ds_kwargs = kwargs.copy()
                ds_kwargs.update(
                    {
                        "outputFormat": output_format,
                        "procedure": callback(feature),
                    }
                )

                responses.append(
                    SensorML(self.server.describe_sensor(**ds_kwargs))
                )

        return responses