Skip to content

Commit dbb74da

Browse files
committed
Remove profile aliasing
1 parent 3784230 commit dbb74da

File tree

1 file changed

+9
-54
lines changed

1 file changed

+9
-54
lines changed

_format/1.1/index.md

Lines changed: 9 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -562,22 +562,15 @@ related resource collection:
562562
#### <a href="#profile-links" id="profile-links" class="headerlink"></a> Profile Links
563563

564564
Like all [links][link], a link in an array of `profile` links can be represented
565-
with a [link object]. In that case, the link object **MAY** contain an `aliases`
566-
member listing any [profile aliases].
565+
with a [link object].
567566

568-
Here, the `profile` key specifies an array of `profile` links, including one
569-
that includes a [profile alias][profile aliases]:
567+
Here, the `profile` key specifies an array of `profile` links:
570568

571569
```json
572570
"links": {
573571
"profile": [
574572
"http://example.com/profiles/flexible-pagination",
575-
{
576-
"href": "http://example.com/profiles/resource-versioning",
577-
"aliases": {
578-
"version": "v"
579-
}
580-
}
573+
"http://example.com/profiles/resource-versioning"
581574
]
582575
}
583576
```
@@ -2028,19 +2021,18 @@ https://example.com/?page[cursor]=xyz&profile=https://example.com/pagination-pro
20282021
```
20292022

20302023

2031-
### <a href="#profile-keywords-and-aliases" id="profile-keywords-and-aliases" class="headerlink"></a> Profile Keywords and Aliases
2024+
### <a href="#profile-keywords" id="profile-keywords" class="headerlink"></a> Profile Keywords
20322025

20332026
A profile **SHOULD** explicitly declare "keywords" for any elements that it
20342027
introduces to the document structure. If a profile does not explicitly declare a
20352028
keyword for an element, then the name of the element itself (i.e., its key in
20362029
the document) is considered to be its keyword. All profile keywords **MUST**
20372030
meet this specification's requirements for [member names].
20382031

2039-
For the purposes of aliasing, a profile's elements are defined shallowly.
20402032
In other words, if a profile introduces an object-valued document member, that
2041-
member is an element (and so subject to aliasing), but any keys in it are not
2042-
themselves elements. Likewise, if the profile defines an array-valued element,
2043-
the keys in nested objects within that array are not elements.
2033+
member is an element, but any keys in it are not themselves elements. Likewise,
2034+
if the profile defines an array-valued element, the keys in nested objects
2035+
within that array are not elements.
20442036

20452037
The following example profile defines a single keyword, `version`:
20462038

@@ -2088,42 +2080,6 @@ This profile might be applied as follows:
20882080
}
20892081
```
20902082

2091-
Documents that apply a particular profile **MAY** represent each keyword with an
2092-
alternatively named member, or "alias". An alias fully assumes any meaning
2093-
specified for a keyword, which no longer retains that meaning. Any aliases
2094-
associated with a profile **MUST** be represented in the profile's corresponding
2095-
`aliases` object within its [link object][links]. The key of each alias **MUST**
2096-
be a keyword from the profile, and the value **MUST** be an alias that applies
2097-
to this particular representation. This aliasing mechanism allows profiles to be
2098-
applied in a way that is both consistent with the rest of the representation and
2099-
does not conflict with other profiles.
2100-
2101-
For instance, the following document provides an alias for `version`: `v`.
2102-
Interpreters of this representation should treat the key `v` as if it were the
2103-
key `version` described in the profile:
2104-
2105-
```json
2106-
{
2107-
"data": {
2108-
"type": "contacts",
2109-
"id": "345",
2110-
"meta": {
2111-
"v": "2018-04-14-879976658"
2112-
},
2113-
"attributes": {
2114-
"name": "Ethan"
2115-
}
2116-
},
2117-
"links": {
2118-
"profile": [{
2119-
"href": "http://example.com/profiles/resource-versioning",
2120-
"aliases": {
2121-
"version": "v"
2122-
}
2123-
}]
2124-
}
2125-
}
2126-
```
21272083

21282084
### <a href="#profiles-processing" id="profiles-processing" class="headerlink"></a> Processing Profiled Documents/Requests
21292085

@@ -2287,8 +2243,7 @@ that "The elements... specified by a profile... **MUST NOT** change over time."
22872243

22882244
> The practical issue with adding a sibling element is that another profile
22892245
> in use on the document might already define a sibling element of the same
2290-
> name, and existing documents would not have any aliases defined to resolve
2291-
> this conflict.
2246+
> name.
22922247
22932248
However, the timestamps profile could evolve to allow other optional members,
22942249
such as `deleted`, in the `timestamps` object. This is possible because the
@@ -2435,7 +2390,7 @@ request as equivalent to one in which the square brackets were percent-encoded.
24352390
[link object]: #document-links-link-object
24362391
[profiles]: #profiles
24372392
[timestamps profile]: #profiles-timestamp-profile
2438-
[profile aliases]: #profile-keywords-and-aliases
2393+
[profile keywords]: #profile-keywords
24392394
[error details]: #errors
24402395
[error object]: #error-objects
24412396
[error objects]: #errror-objects

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy