JSV.RNS (jsv v0.7.2)

View Source

A namespace for a schema ID or reference.

In the JSV library, each schema or subschema belongs to a namespace. Sub-schemas with an $id property define a new namespace.

A namespace can be :root if there is no URI or $id to identify a schema or an URI without a query string or fragment.

Summary

Functions

Returns a new string namespace by appending a relative path to a base namespace. If the relative is absolute or :root, returns the relative.

Parses the given URL or URN and returns an internal representation of its namespace.

Returns the string value of the namespace, or :root.

Types

t()

@type t() :: URI.t() | :root

Functions

derive(base, relative)

@spec derive(binary() | :root, binary() | :root) ::
  {:ok, binary() | :roo} | {:error, term()}

Returns a new string namespace by appending a relative path to a base namespace. If the relative is absolute or :root, returns the relative.

parse(uri)

@spec parse(binary() | :root) :: t()

Parses the given URL or URN and returns an internal representation of its namespace.

Also accepts :root for root schemas without $id.

to_ns(uri)

@spec to_ns(t()) :: binary() | :root

Returns the string value of the namespace, or :root.