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

`RDF.XSD.Facet` for `maxExclusive`.

`maxExclusive` is the exclusive upper bound of the value space for a datatype
with the ordered property.
The value of `maxExclusive` must be equal to some value in the value space
of the base type or be equal to `{value}` in `{base type definition}`.

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

# `max_exclusive`

```elixir
@callback max_exclusive() :: integer() | nil
```

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

# `max_exclusive_conform?`

```elixir
@callback max_exclusive_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:max_exclusive_conform?/3` implementation on the `datatype` `RDF.XSD.Datatype`.

---

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