Skip to content
This repository was archived by the owner on Nov 3, 2023. It is now read-only.

Commit 0d181bb

Browse files
committed
New format values: uri-reference, uri-template, json-pointer
1 parent 2998f85 commit 0d181bb

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

source/reference/string.rst

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,3 +153,35 @@ specification.
153153

154154
- ``"uri"``: A universal resource identifier (URI), according to
155155
`RFC3986 <http://tools.ietf.org/html/rfc3986>`_.
156+
157+
- ``"uri-reference"``: |draft6| A URI Reference (either a URI or a
158+
relative-reference), according to `RFC3986, section 4.1
159+
<http://tools.ietf.org/html/rfc3986#section-4.1>`_.
160+
161+
- ``"json-pointer"``: |draft6| A JSON Pointer, according to `RFC6901
162+
<https://tools.ietf.org/html/rfc6901>`_. There is more discussion on the use
163+
of JSON Pointer within JSON Schema in `structuring`. Note that this should be
164+
used only when the entire string contains only JSON Pointer content, e.g.
165+
``/foo/bar``. JSON Pointer URI fragments, e.g. ``#/foo/bar/`` should use
166+
``"uri"`` or ``"uri-reference"``.
167+
168+
- ``"uri-template"``: |draft6| A URI Template (of any level) according to
169+
`RFC6570 <https://tools.ietf.org/html/rfc6570>`_. If you don't already know
170+
what a URI Template is, you probably don't need this value.
171+
172+
URI vs. URI reference
173+
`````````````````````
174+
175+
If the values in the schema the ability to be relative to a particular source
176+
path (such as a link from a webpage), it is generally better practice to use
177+
``"uri-reference"`` rather than ``"uri"``. ``"uri"`` should only be used when
178+
the path must be absolute.
179+
180+
.. draft_specific::
181+
182+
--Draft 4
183+
Draft 4 only includes ``"uri"``, not ``"uri-reference"``. Therefore, there is
184+
some ambiguity around whether ``"uri"`` should accept relative paths.
185+
186+
187+
.. TODO: Add some examples for ``format`` here

0 commit comments

Comments
 (0)