You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: source/presentation/4.0/model.md
+13-9Lines changed: 13 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -492,7 +492,7 @@ A Choice _MAY_ have the following properties: [id](#id), [metadata](#metadata),
492
492
493
493
> `"type": "Composite"`
494
494
495
-
A Composite is a construction where all of the resources are required for , as opposed to Choice where the client selects only one of the items.
495
+
A Composite is a Web Annotation construction where all of the resources are required for the correct interpretation of the set of resources in the context of the Annotation, as opposed to Choice where the client selects only one of the items or allows the user to make that selection. For Composite, the client should present all of the resources listed in the `items` property, however order or priority is not specified. For example, if a Composite is used as the `target` of a commenting Annotation, then it is the unordered set of resources that is being commented on.
496
496
497
497
__Properties__<br/>
498
498
A Composite _MUST_ have the following properties: [type](#type), [items](#items)<br/><br/>
@@ -505,6 +505,8 @@ A Composite _MAY_ have the following properties: [id](#id), [metadata](#metadata
505
505
506
506
> `"type": "List"`
507
507
508
+
A List is a Web Annotation construction where all of the resources are required, in the given order, for the correct interpretation of the set. For example, if a List is used as the `target` of a commenting Annotation, then it is the ordered list of resources that are being commented on, rather than each independently.
509
+
508
510
__Properties__<br/>
509
511
A List _MUST_ have the following properties: [type](#type), [items](#items)<br/><br/>
510
512
A List _SHOULD_ have the following properties: [label](#label)<br/><br/>
@@ -516,6 +518,8 @@ A List _MAY_ have the following properties: [id](#id), [metadata](#metadata), [s
516
518
517
519
> `"type": "Independents"`
518
520
521
+
An independents is a Web Annotation construction where each of the resources independently participates in the annotation, rather than as a set. For example, if an Independents is used as the `target` of a commenting Annotation, then the body resource is about each of the entries in `items` separately, rather than the collection as a single entity. In the Web Annotation Data Model this is equivalent to having multiple independent bodies or targets listed directly in the Annotation, however this specification requires a single resource for both body and target.
522
+
519
523
__Properties__<br/>
520
524
An Independents _MUST_ have the following properties: [type](#type), [items](#items)<br/><br/>
521
525
An Independents _SHOULD_ have the following properties: [label](#label)<br/><br/>
@@ -1352,23 +1356,21 @@ The value _MUST_ be an array of strings.
1352
1356
### body
1353
1357
{: #body}
1354
1358
1355
-
The list of bodies of an Annotation. As there _MAY_ be more than one body, the value _MUST_ be an array, even though the W3C specification does not require this. The resources listed in `body` can be instances of `TextualBody`, `SpecificResource`, core Structural Resources, or Content Resources.
1359
+
The body of an Annotation. The resources listed in `body` can be instances of `TextualBody`, `SpecificResource`, core Structural Resources, Content Resources, or the Annotation aggregate constructions of `Choice`, `Composite`, `List` and `Independents` if there are multiple bodies.
1356
1360
1357
1361
Some Annotations do not have bodies at all. For example a highlighting annotation only needs to visually highlight the region targeted. Note that use of the W3C `bodyValue` property is prohibited in IIIF, and the `TextualBody` class _MUST_ be used instead.
1358
1362
1359
1363
For more information about Annotation bodies, see the [W3C Annotation Model](https://www.w3.org/TR/annotation-model/#bodies-and-targets).
1360
1364
1361
-
The value _MUST_ be an array of JSON objects. Each item _MUST_ have the `type` property. Referenced resources _MUST_ have the `id` property.
1365
+
The value _MUST_ be a JSON object. Each item _MUST_ have the `type` property. Referenced resources _MUST_ have the `id` property, which _MAY_ have a fragment component such as `#xywh=`. Aggregate constructions _MUST_ have the `items` property.
1362
1366
1363
1367
* An Annotation _SHOULD_ have the `body` property.<br/>
1364
1368
Clients _MUST_ process the `body` property on Annotations.
1365
1369
1366
1370
{% include api/code_header.html %}
1367
1371
```json-doc
1368
1372
{ "body":
1369
-
[
1370
-
{"type": "TextualBody", "value": "Great!"}
1371
-
]
1373
+
{"type": "TextualBody", "value": "Great!"}
1372
1374
}
1373
1375
```
1374
1376
@@ -2749,18 +2751,20 @@ The value _MUST_ be a JSON object, which _MUST_ have the `id` and `type` propert
2749
2751
### target
2750
2752
{: #target}
2751
2753
2752
-
The list of targets of an Annotation. As there _MAY_ be more than one target, the value _MUST_be an array, even though the W3C specification does not require this. The resources listed in `target` can be instances of `SpecificResource`, core Structural Resources, or Content Resources.
2754
+
The target of an Annotation. The resources listed in `target` can be instances of `SpecificResource`, core Structural Resources, Content Resources, or one of the aggregate constructions of `Choice`, `Composite`, `List` and `Independents` if there are multiple targets.
2753
2755
2754
2756
For more information about Annotation targets, see the [W3C Annotation Model](https://www.w3.org/TR/annotation-model/#bodies-and-targets).
2755
2757
2756
-
The value _MUST_ be an array. Each item _MUST_be a JSON object with the `type` property, and referenced resources _MUST_ also have the `id` property.
2758
+
The value _MUST_ be a JSON Object. It _MUST_have the `type` property. Referenced resources _MUST_ have the `id` property, which _MAY_ have a fragment component such as `#xywh=`. Aggregate constructions _MUST_have the `items` property.
2757
2759
2758
2760
* An Annotation _MUST_ have the `target` property.<br/>
2759
2761
Clients _MUST_ process the `target` property on Annotations.
0 commit comments