Item Path Canonicalization Examples
Definition present = whether we have a definition of contextual object at hand (in order to derive unknown namespaces).
Item path | Definition present? | Canonical format |
---|---|---|
(null) |
- |
(empty string) |
(empty) |
- |
(empty string) |
c:name |
- |
\${common}3#name |
name |
no |
\#name |
name |
yes |
\${common}3#name |
c:assignment/[1234]/c:activation/c:administrativeStatus |
- |
\${common}3#assignment\${0}#activation\${0}#administrativeStatus |
assignment/[1234]/activation/administrativeStatus |
no |
\#assignment\#activation\#administrativeStatus |
assignment/[1234]/activation/administrativeStatus |
yes |
\${common}3#assignment\${0}#activation\${0}#administrativeStatus |
assignment/[1234]/extension/p:store/p:shelf/c:activation/c:administrativeStatus |
no |
\#assignment\#extension\http://piracy.org/inventory#store\${0}#shelf\${common}3#activation\${1}#administrativeStatus |
assignment/[1234]/extension/p:store/p:shelf/c:activation/c:administrativeStatus |
yes |
\${common}3#assignment\${0}#extension\http://piracy.org/inventory#store\${1}#shelf\${0}#activation\${0}#administrativeStatus |
c:assignment/[1234]/c:extension/p:store/p:shelf/x/c:administrativeStatus |
- |
\${common}3#assignment\${0}#extension\http://piracy.org/inventory#store\${1}#shelf\#x\${0}#administrativeStatus |
c:connectorConfiguration/icfs:configurationProperties/dummy:uselessString |
- |
\${common}3#connectorConfiguration\${icf}1/connector-schema-3#configurationProperties\${icf}1/bundle/com.evolveum.icf.dummy/com.evolveum.icf.dummy.connector.DummyConnector#uselessString |
The number in ${…} refers to the index of the namespace (only if not empty!) in the list of all unique non-empty namespaces.
E.g. in
assignment/[1234]/extension/p:store/p:shelf/c:activation/c:administrativeStatus
the first non-empty namespace is "p" (http://piracy.org/inventory), then "c" (common-3). Therefore the canonical format is:
\#assignment\#extension\http://piracy.org/inventory#store\${0}#shelf\${common}-3#activation\${1}#administrativeStatus
Also the following explicit shortcuts are provided:
Shortcut | Expansion |
---|---|
${common} |
|
${icf} |
|
${public} |
|
${midpoint} |
|
${prism} |
Rules for shortcuts:
-
Limit the number of various shortcuts.
-
Make shortcuts immutable (once defined the expansion must stay unchanged); so no specific versions should be present in the expansion text.