@@ -153,3 +153,35 @@ specification.
153
153
154
154
- ``"uri" ``: A universal resource identifier (URI), according to
155
155
`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