Extends · closed
| type The schema this one names: a schema document's URL (`hm://…` or `ipfs://<cid>`). Naming one of the nine kinds grounds a schema instead (see the kind-rooted variants), so a kind URL does not belong here. The other keys refine what is named. | ||
| properties Fields the extension adds to (or overrides in) the base struct, as properties. | ⟨ * : ⟩ | optional |
| values Overrides the named schema's `values`: the schema extra keys (open struct) or map values must match. | optional | |
| items Overrides the named schema's `items`: the schema every list element must match. | optional | |
| target For a reference-valued string (`format: hm-url` or `format: ipfs-url`): the schema the referenced document or object is expected to conform to — an `hm://` schema-document URL or `ipfs://<cid>`. Advisory: an editor pre-seeds and validates the target against it; a validator does not dereference the reference. | optional | |
| description What the reference is for, when it is written inline; a published schema is described by its page. | optional | |
| params Type parameters that make this schema generic, each with its default schema. | ⟨ * : ⟩ | optional |
| args Applies a generic: binds the named schema's type parameters by name, falling back to their defaults when unbound. | ⟨ * : ⟩ | optional |
| name Legacy: a name some published schemas still carry. New schemas are named by their page. | optional |
Include: a type that names another schema by its URL and nothing else: { "type": "hm://…" }. The node becomes exactly that schema. Adding any other key, such as properties, values, items, target or a leaf constraint, makes the node refine the schema it names instead. That is an extension. References and naming covers includes, links and extensions.
This document describes the schema/include-schema type, one variant of the meta-schema. Its formal schema is attached as the schemaDefinition in this document's metadata, so the app can show it and create values of this type. Typed documents explains how that works.
See also
References and naming: include, typed link and extension, and why references are names.
Extension: an include that also carries refinements.
Link schema: a pointer to a separate block, where an include embeds a shape.
Variant: the members of the meta-schema union.
Do you like what you are reading? Subscribe to receive updates.
Unsubscribe anytime