Mercurial > repos > shellac > sam_consensus_v3
view env/lib/python3.9/site-packages/cwltool/schemas/v1.1/salad/schema_salad/metaschema/ident_res.yml @ 0:4f3585e2f14b draft default tip
"planemo upload commit 60cee0fc7c0cda8592644e1aad72851dec82c959"
author | shellac |
---|---|
date | Mon, 22 Mar 2021 18:12:50 +0000 |
parents | |
children |
line wrap: on
line source
- | ## Identifier resolution The schema may designate one or more fields as identifier fields to identify specific objects. Processing must resolve relative identifiers to absolute identifiers using the following rules: * If an identifier URI is prefixed with `#` it is a URI relative fragment identifier. It is resolved relative to the base URI by setting or replacing the fragment portion of the base URI. * If an identifier URI does not contain a scheme and is not prefixed `#` it is a parent relative fragment identifier. It is resolved relative to the base URI by the following rule: if the base URI does not contain a document fragment, set the fragment portion of the base URI. If the base URI does contain a document fragment, append a slash `/` followed by the identifier field to the fragment portion of the base URI. * If an identifier URI begins with a namespace prefix declared in `$namespaces` followed by a colon `:`, the prefix and colon must be replaced by the namespace declared in `$namespaces`. * If an identifier URI is an absolute URI consisting of a scheme and path, no processing occurs. When preprocessing visits a node containing an identifier, that identifier must be used as the base URI to process child nodes. It is an error for more than one object in a document to have the same absolute URI. ### Identifier resolution example Given the following schema: ``` - $include: ident_res_schema.yml - | ``` Process the following example: ``` - $include: ident_res_src.yml - | ``` This becomes: ``` - $include: ident_res_proc.yml - | ```