# `RDF.XSD.Facets.ExplicitTimezone`
[🔗](https://github.com/rdf-elixir/rdf-ex/blob/v3.0.1/lib/rdf/xsd/facets/explicit_timezone.ex#L1)

`RDF.XSD.Facet` for `explicitTimezone`.

`explicitTimezone` is a three-valued facet which can can be used to require
or prohibit the time zone offset in date/time datatypes.

see <https://www.w3.org/TR/xmlschema11-2/datatypes.html#rf-explicitTimezone>

# `t`

```elixir
@type t() :: :required | :prohibited | :optional
```

# `explicit_timezone`

```elixir
@callback explicit_timezone() :: t() | nil
```

Returns the value of this `RDF.XSD.Facet` on specific `RDF.XSD.Datatype`.

# `explicit_timezone_conform?`

```elixir
@callback explicit_timezone_conform?(
  facet_constraint_value :: any(),
  value :: any(),
  RDF.XSD.Datatype.uncanonical_lexical()
) :: boolean()
```

Validates if a `value` and `lexical` conforms with a concrete `facet_constraint_value` for this `RDF.XSD.Facet`.

This function must be implemented on a `RDF.XSD.Datatype` using this `RDF.XSD.Facet`.

# `conform?`

```elixir
@spec conform?(RDF.XSD.Datatype.t(), any(), RDF.XSD.Datatype.uncanonical_lexical()) ::
  boolean()
```

Checks if a `value` and `lexical` conforms with the `c:explicit_timezone_conform?/3` implementation on the `datatype` `RDF.XSD.Datatype`.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
