comparison env/lib/python3.9/site-packages/cwltool/schemas/v1.1.0-dev1/salad/schema_salad/metaschema/link_res.yml @ 0:4f3585e2f14b draft default tip

"planemo upload commit 60cee0fc7c0cda8592644e1aad72851dec82c959"
author shellac
date Mon, 22 Mar 2021 18:12:50 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:4f3585e2f14b
1 - |
2 ## Link resolution
3
4 The schema may designate one or more fields as link fields reference other
5 objects. Processing must resolve links to either absolute URIs using the
6 following rules:
7
8 * If a reference URI is prefixed with `#` it is a relative
9 fragment identifier. It is resolved relative to the base URI by setting
10 or replacing the fragment portion of the base URI.
11
12 * If a reference URI does not contain a scheme and is not prefixed with `#`
13 it is a path relative reference. If the reference URI contains `#` in any
14 position other than the first character, the reference URI must be divided
15 into a path portion and a fragment portion split on the first instance of
16 `#`. The path portion is resolved relative to the base URI by the following
17 rule: if the path portion of the base URI ends in a slash `/`, append the
18 path portion of the reference URI to the path portion of the base URI. If
19 the path portion of the base URI does not end in a slash, replace the final
20 path segment with the path portion of the reference URI. Replace the
21 fragment portion of the base URI with the fragment portion of the reference
22 URI.
23
24 * If a reference URI begins with a namespace prefix declared in `$namespaces`
25 followed by a colon `:`, the prefix and colon must be replaced by the
26 namespace declared in `$namespaces`.
27
28 * If a reference URI is an absolute URI consisting of a scheme and path,
29 no processing occurs.
30
31 Link resolution must not affect the base URI used to resolve identifiers
32 and other links.
33
34 ### Link resolution example
35
36 Given the following schema:
37
38 ```
39 - $include: link_res_schema.yml
40 - |
41 ```
42
43 Process the following example:
44
45 ```
46 - $include: link_res_src.yml
47 - |
48 ```
49
50 This becomes:
51
52 ```
53 - $include: link_res_proc.yml
54 - |
55 ```