     end
   end
 
+  @doc """
+  Checks if the value is a valid date time.
+
+  This function returns `true` if the value is a string and is formatted as
+  defined by [RFC 3339](https://tools.ietf.org/html/rfc3339), `false` otherwise.
+  """
   @spec is_date_time?(any) :: boolean
   def is_date_time?(string) when is_binary(string) do
     regex = ~r/^

      (is_nil(uri.fragment) || is_uri_fragment?(uri.fragment))
  end

  @spec is_host?(any) :: boolean
  def is_host?(string) when is_binary(string) do
    is_ipv4?(string) || is_ipv6?(string) || is_hostname?(string)
  end

  def is_host?(_), do: false

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


  def is_uri_query?(_), do: false

  @doc """
  Checks if the value is a valid uri fragment.

  See also `Xema.Format.is_uri?/1`.
  """
  @spec is_uri_fragment?(any) :: boolean
  def is_uri_fragment?(string) when is_binary(string), do: is_uri_query?(string)

