 
   def is_uri_path?(_), do: false
 
+  @doc """
+  Checks if the value is a valid uri qurey.
+
+  See also `Xema.Format.is_uri?/1`.
+  """
   @spec is_uri_query?(any) :: boolean
   def is_uri_query?(string) when is_binary(string) do
     regex = ~r/

    end
  end

  @spec is_date_time?(any) :: boolean
  def is_date_time?(string) when is_binary(string) do
    regex = ~r/^

    end
  end

  @doc """
  This function returns `true` for a valid format type, `false` otherwise.
  This function can be used in guards.
  """
  @spec supports(format) :: boolean
  defguard supports(format) when format in @formats

  @doc """
  Checks if the value matches the given type.
  """
  @spec is?(format, any) :: boolean
  for fmt <- @formats do
    def is?(unquote(fmt), string) do
