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

`RDF.XSD.Facet` for `totalDigits`.

`totalDigits` restricts the magnitude and arithmetic precision of values in
the value spaces of decimal and datatypes derived from it.

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

# `total_digits`

```elixir
@callback total_digits() :: pos_integer() | nil
```

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

# `total_digits_conform?`

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

---

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