@adobe/jsonschema2md
Version:
Validate and document complex JSON Schemas the easy way.
162 lines (99 loc) • 4.04 kB
Markdown
---
template: reference
foo: bar
---
# Deeply Extending Schema
```
https://example.com/schemas/deepextending
```
This is an extending schema. It is extending another extending schema. It pulls `definitions` from other schemas.
| [Abstract](../abstract.md) | Extensible | [Status](../status.md) | Identifiable | Custom Properties | Additional Properties | Defined In |
| -------------------------- | ---------- | ---------------------- | ------------ | ----------------- | --------------------- | ------------------------------------------------------ |
| Can be instantiated | Yes | Experimental | Yes | Forbidden | Permitted | [deepextending.schema.json](deepextending.schema.json) |
## Schema Hierarchy
- Deeply Extending `https://example.com/schemas/deepextending`
- [Extensible](extensible.schema.md) `https://example.com/schemas/extensible`
- [Definitions](definitions.schema.md) `https://example.com/schemas/definitions`
- [Extending](extending.schema.md) `https://example.com/schemas/extending`
# Deeply Extending Properties
| Property | Type | Required | Nullable | Defined by |
| ------------------ | -------- | ---------- | -------- | ------------------------------------------- |
| [@id](#id) | `string` | Optional | No | [Definitions](definitions.schema.md#id) |
| [bar](#bar) | `string` | Optional | No | [Extensible](extensible.schema.md#bar) |
| [baz](#baz) | `string` | Optional | No | [Extending](extending.schema.md#baz) |
| [hey](#hey) | `string` | Optional | No | Deeply Extending (this schema) |
| [id](#id-1) | `string` | Optional | No | [Definitions](definitions.schema.md#id-1) |
| [meta:id](#metaid) | `string` | Optional | No | [Definitions](definitions.schema.md#metaid) |
| `*` | any | Additional | Yes | this schema _allows_ additional properties |
## @id
An `id` with an `@` in front of it. The `@` stands for "dot com"
`@id`
- is optional
- type: `string`
- defined in [Definitions](definitions.schema.md#id)
### @id Type
`string`
- format: `uri` – Uniformous Resource Identifier (according to [RFC3986](http://tools.ietf.org/html/rfc3986))
## bar
A horse walks into it.
`bar`
- is optional
- type: `string`
- defined in [Extensible](extensible.schema.md#bar)
### bar Type
`string`
### bar Examples
```json
"whoo"
```
```json
"hoo"
```
## baz
### BAAAZ!
This property has a unique name to demonstrate it's uniqueness.
`baz`
- is optional
- type: `string`
- defined in [Extending](extending.schema.md#baz)
### baz Type
`string`
### baz Example
```json
"I'm just a humble example"
```
## hey
A unique identifier given to every addressable thing.
`hey`
- is optional
- type: `string`
- defined in this schema
### hey Type
`string`
## id
A unique identifier given to every addressable thing.
`id`
- is optional
- type: `string`
- defined in [Definitions](definitions.schema.md#id-1)
### id Type
`string`
- format: `uri-reference` – URI Reference (according to [RFC3986](https://tools.ietf.org/html/rfc3986))
## meta:id
An about ids. It is meta. If you are confused, send an email to the address specified in this property value.
`meta:id`
- is optional
- type: `string`
- defined in [Definitions](definitions.schema.md#metaid)
### meta:id Type
`string`
- format: `email` – email address (according to [RFC 5322, section 3.4.1](https://tools.ietf.org/html/rfc5322))
**All** of the following _requirements_ need to be fulfilled.
#### Requirement 1
- []() – `https://example.com/schemas/extensible#/definitions/second`
#### Requirement 2
- []() – `https://example.com/schemas/definitions#/definitions/myid`
#### Requirement 3
- []() – `https://example.com/schemas/extending#/definitions/third`
#### Requirement 4
- []() – `#/definitions/fourth`