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
@@ -495,16 +495,29 @@ The Web Annotation Data Model defines several Selectors, which describe how to f
495
495
496
496
> `"type": "FragmentSelector"`
497
497
498
-
FIXME: import from WADM
498
+
Fragment Selectors use the fragment part of the URI specification to define a selection mechanism for parts of resources. The definition of the representation's media type specifies the structure of the value of the fragment. This is commonly used in IIIF to include the media fragment syntax of `xywh=<x>,<y>,<width>,<height>` to define a 2 dimension region.
499
+
500
+
For more information about Fragment Selectors, see the [Web Annotation Data Model](https://www.w3.org/TR/annotation-model/#fragment-selector).
501
+
502
+
__Properties__<br/>
503
+
A Fragment Selector _MUST_ have the following properties: [type](#type), and [value](#value)<br/><br/>
504
+
A Fragment Selector _MAY_ have the following properties: [id](#id) and [conformsTo](#conformsTo).<br/><br/>
505
+
{: .note}
499
506
500
507
501
508
#### SvgSelector
502
509
{: #SvgSelector}
503
510
504
511
> `"type": "SvgSelector"`
505
512
513
+
SVG Selectors use the [SVG specification](https://www.w3.org/TR/SVG11/) to define a non-rectangular part of a resource. This allows for polygons, circles and multiple shapes to be used to highlight or otherwise select regions of images or other 2 dimensional resources.
506
514
507
-
FIXME: import from WADM
515
+
For more information about SVG Selectors, see the [Web Annotation Data Model](https://www.w3.org/TR/annotation-model/#svg-selector).
516
+
517
+
__Properties__<br/>
518
+
An SVG Selector _MUST_ have the following properties: [type](#type), and [value](#value).<br/><br/>
519
+
A Fragment Selector _MAY_ have the following properties: [id](#id).<br/><br/>
520
+
{: .note}
508
521
509
522
510
523
#### Point Selector
@@ -1226,7 +1239,7 @@ Disjoint with `thumbnail-nav` and `no-nav`.|
1226
1239
|`thumbnail-nav`{: style="white-space:nowrap;"} | Valid only on Ranges. Ranges that have this behavior _MAY_ be used by the client to present an alternative navigation or overview based on thumbnails, such as regular keyframes along a timeline for a video, or sections of a long scroll. Clients _SHOULD NOT_ use them to generate a conventional table of contents. Child Ranges of a Range with this behavior _MUST_ have a suitable `thumbnail` property. Disjoint with `sequence` and `no-nav`.|
1227
1240
|`no-nav`| Valid only on Ranges. Ranges that have this behavior _MUST NOT_ be displayed to the user in a navigation hierarchy. This allows for Ranges to be present that capture unnamed regions with no interesting content, such as the set of blank pages at the beginning of a book, or dead air between parts of a performance, that are still part of the Manifest but do not need to be navigated to directly. Disjoint with `sequence` and `thumbnail-nav`.|
1228
1241
||**Miscellaneous Behaviors**|
1229
-
|`hidden`| Valid on Annotation Collections, Annotation Pages, Annotations, Specific Resources, Lights, Cameras and Choices. If this behavior is provided, then the client _SHOULD NOT_ render the resource by default, but allow the user to turn it on and off. This behavior does not inherit, as it is not valid on Collections, Manifests, Ranges or Canvases. |
1242
+
|`hidden`{: #hidden-value}| Valid on Annotation Collections, Annotation Pages, Annotations, Specific Resources, Lights, Cameras and Choices. If this behavior is provided, then the client _SHOULD NOT_ render the resource by default, but allow the user to turn it on and off. This behavior does not inherit, as it is not valid on Collections, Manifests, Ranges or Canvases. |
1230
1243
{: .api-table #table-behavior}
1231
1244
1232
1245
{% include api/code_header.html %}
@@ -2075,13 +2088,36 @@ The value of the quality parameter in the IIIF Image API URL structure, as recor
2075
2088
{ "quality": "default" }
2076
2089
```
2077
2090
2091
+
### quantity
2092
+
2093
+
The `quantity` property of a Unit Value conveys its numerical component.
2094
+
2095
+
The value _MUST_ be a floating point number.
2096
+
2097
+
* A UnitValue _MUST_ have the `quantity` property.<br/>
2098
+
Clients _MUST_ process the `quantity` property on a Unit Value.
2099
+
2100
+
{% include api/code_header.html %}
2101
+
```json-doc
2102
+
{ "quantity": 0.1234123 }
2103
+
```
2104
+
2078
2105
### refinedBy
2079
2106
{: #refinedBy}
2080
2107
2081
-
FIXME: import from WADM
2108
+
The `refinedBy` property allows Selectors to be chained together to incrementally select more specific aspects of the resource given in `source` on the Specific Resource. The first selector on a Specific Resource describes how to select part of the main resource, and a subsequent selector in `refinedBy` then describes how to further select part of that part. This can be used, for example, to extract a rectangular region with a `FragmentSelector` and then further refine that region with an `SvgSelector` or `WktSelector`.
2082
2109
2110
+
For more information about `refinedBy`, please see the [Web Annotation Data Model](https://www.w3.org/TR/annotation-model/#refinement-of-selection).
2083
2111
2112
+
The value of the `refinedBy` property _MUST_ be a JSON Object, which _MUST_ describe a Selector.
2084
2113
2114
+
* A Selector _MAY_ have the `refinedBy` property with exactly one value.<br/>
2115
+
Clients _SHOULD_ process the `refinedBy` property on Selectors.
@@ -2317,7 +2353,7 @@ The value _MUST_ be an array of JSON objects. Each object _MUST_ be a service re
2317
2353
2318
2354
The value of the size parameter in the IIIF Image API URL structure, as recorded in an Image API Selector.
2319
2355
2320
-
*The IIIF Image API Selector _MAY_ have the `size` property with exactly one value.<br/>
2356
+
*A IIIF Image API Selector _MAY_ have the `size` property with exactly one value.<br/>
2321
2357
Clients _MUST_ process the `size` property on a IIIF Image API Selector.
2322
2358
* Other types of resource _MUST NOT_ have the `size` property.<br/>
2323
2359
Clients _MUST_ ignore the `size` property on other types of resource.
@@ -2330,9 +2366,21 @@ The value of the size parameter in the IIIF Image API URL structure, as recorded
2330
2366
### source
2331
2367
{: #source}
2332
2368
2333
-
SpecificResource
2369
+
The `source` property refers to the URI of the resource that the Specific Resource is a more constrained version or representation of.
2370
+
2371
+
For more information about source and Specific Resources, see the [W3C Annotation Model](For more information about Annotation bodies, see the [W3C Annotation Model](https://www.w3.org/TR/annotation-model/#bodies-and-targets).
2372
+
2373
+
The value _MUST_ be a string, and the value _MUST_ be a URI.
2334
2374
2335
-
FIXME: import from WADM
2375
+
* A SpecificResource _MUST_ have the `source` property with exactly one value.<br/>
2376
+
Clients _MUST_ process the `source` property on a SpecificResource.
2377
+
* Other types of resource _MUST NOT_ have the `source` property.<br/>
2378
+
Clients _MUST_ ignore the `source` property on other types of resource.
@@ -2400,7 +2448,14 @@ The value _MUST_ be a JSON object, which _MUST_ have the `id` and `type` propert
2400
2448
### startIndex
2401
2449
{: #startIndex}
2402
2450
2403
-
FIXME
2451
+
A non-negative, 0-based integer value identifying the relative position of the first entry in the `items` list of a Collection Page or Annotation Collection Page within the overall logical order of its parent Collection or Annotation Collection. If this is the second page, and there are 100 entries on the first page, then the value is 100 (the first page contains entries 0 through 99 inclusive).
2452
+
2453
+
The value of `startIndex` must be an integer greater than -1.
2454
+
2455
+
* An Annotation Page _MAY_ have the `startIndex` property.<br/>
2456
+
Clients _MAY_ process `startIndex` on an Annotation Page.
2457
+
* A Collection Page _MAY_ have the `startIndex` property.<br/>
2458
+
Clients _MAY_ process `startIndex` on a Collection Page.
2404
2459
2405
2460
2406
2461
### structures
@@ -2431,12 +2486,15 @@ The value _MUST_ be an array of JSON objects. Each item _MUST_ have the `id` and
2431
2486
### styleClass
2432
2487
{: #styleClass}
2433
2488
2434
-
FIXME: Import from WADM
2489
+
The name of a CSS class to apply when rendering the Specific Resource it is associated with.
2490
+
2491
+
FIXME: Get rid of styles completely???
2435
2492
2436
2493
### stylesheet
2437
2494
{: #stylesheet}
2438
2495
2439
-
FIXME: Import from WADM
2496
+
FIXME: Delete???
2497
+
2440
2498
2441
2499
### summary
2442
2500
{: #summary}
@@ -2479,8 +2537,19 @@ The value _MUST_ be a JSON object, which _MUST_ have the `id` and `type` propert
2479
2537
### target
2480
2538
{: #target}
2481
2539
2482
-
FIXME: Import from WADM
2540
+
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.
2541
+
2542
+
For more information about Annotation targets, see the [W3C Annotation Model](https://www.w3.org/TR/annotation-model/#bodies-and-targets).
2483
2543
2544
+
The value _MUST_ be an array of JSON objects.
2545
+
2546
+
* An Annotation _MUST_ have the `target` property.<br/>
2547
+
Clients _MUST_ process the `target` property on Annotations.
@@ -2490,6 +2559,14 @@ A single UnitValue that defines a multiplier or scale factor for the `duration`
2490
2559
2491
2560
To assert a `temporalScale` for a Content Resource, the resource _MUST_ first be painted into a Container with a `duration` and the `temporalScale` is asserted on that Container. For example, an Audio file is painted into a Timeline, and then `temporalScale` is asserted on the Timeline.
2492
2561
2562
+
* A Timeline _MAY_ have the `temporalScale` property.<br/>
2563
+
Clients _MAY_ process `temporalScale` on a Timeline.
2564
+
* A Canvas _MAY_ have the `temporalScale` property.<br/>
2565
+
Clients _MAY_ process `temporalScale` on a Canvas.
2566
+
* A Scene _MAY_ have the `temporalScale` property.<br/>
2567
+
Clients _MAY_ process `temporalScale` on a Scene.
2568
+
2569
+
2493
2570
{% include api/code_header.html %}
2494
2571
```json-doc
2495
2572
{
@@ -2502,14 +2579,6 @@ To assert a `temporalScale` for a Content Resource, the resource _MUST_ first be
2502
2579
}
2503
2580
```
2504
2581
2505
-
* A Timeline _MAY_ have the `temporalScale` property.<br/>
2506
-
Clients _MAY_ process `temporalScale` on a Timeline.
2507
-
* A Canvas _MAY_ have the `temporalScale` property.<br/>
2508
-
Clients _MAY_ process `temporalScale` on a Canvas.
2509
-
* A Scene _MAY_ have the `temporalScale` property.<br/>
2510
-
Clients _MAY_ process `temporalScale` on a Scene.
2511
-
2512
-
2513
2582
### thumbnail
2514
2583
{: #thumbnail}
2515
2584
@@ -2578,6 +2647,8 @@ The value of this property _MUST_ be a non-negative integer.
2578
2647
2579
2648
* An AnnotationCollection _SHOULD_ have the `total` property.<br/>
2580
2649
Clients _SHOULD_ process the `total` property on an AnnotationCollection.
2650
+
* A Collection with Collection Pages _SHOULD_ have the `total` property.<br/>
2651
+
Clients _SHOULD_ process the `total` property on a Collection.
2581
2652
2582
2653
{% include api/code_header.html %}
2583
2654
```json-doc
@@ -2639,7 +2710,6 @@ The value _MUST_ be a string.
2639
2710
!!! note
2640
2711
For compatibility with previous versions, clients _SHOULD_ accept `Sound` as a synonym for `Audio`.
2641
2712
2642
-
2643
2713
{% include api/code_header.html %}
2644
2714
```json-doc
2645
2715
{ "type": "Image" }
@@ -2663,57 +2733,39 @@ FIXME: possible values are 'm' and 's' and 'relative'. Is relative always 0-1.0
2663
2733
2664
2734
### value
2665
2735
2666
-
the`value` property is used as a language mapped key value pair where the langauge key string is always an array.
2736
+
The`value` property is used in several situations to convey a value of a resource. The value is always string-based, however the strings might be wrapped in the language map construction.
2667
2737
2668
-
```json
2669
-
{
2670
-
"label":
2671
-
"value": {
2672
-
"en": ["foo"]
2673
-
}
2674
-
}
2675
-
```
2676
-
TODO: if we are happy with the new value property names we need to update references in the rest of the Model doc and Index doc
2677
-
2678
-
### quantity
2679
-
2680
-
The `quantity` property of a UnitValue represents the numerical component of a `UnitValue`.
2738
+
In the `metadata` and `requiredStatement` properties, the `value` property is used to record the text of the metadata field or statement. The value of the property in this case is a [language map](#language-of-property-values) represented as a JSON object, as previously described.
2681
2739
2682
-
The value_MUST_ be a floating point number.
2740
+
Many selector classes use `value` to convey a string representation of the selection definition, such as `FragmentSelector` and `WktSelector`. The `TextualBody` similarly uses `value` to convey the string of the body of an Annotation. In these cases the value of `value`_MUST_ be a string.
2683
2741
2684
-
* A UnitValue _MUST_ have the `value` property.
2685
2742
2686
-
`"quantity": 0.1234123`
2687
-
2688
-
### wktLiteral
2689
-
2690
-
the `wktLiteral` property of a WktSelector is a string for representing space in vector geometry. a `wktLiteral` of a WktSelector _MUST_ be a valid structured Well-Known Text (WKT) string.
a `value` of a TextualBody follows the Web Annotation data model and _MUST NOT_ be a language mapped string. Instead the string value and the language of the string are represeted by separate properties.
The `via` property of a resource _MAY_ be used to indicate the URI that is the source from which the current resource was obtained. The `via`URI_MUST_ be different from the URI in `id`, but _MAY_ be the same as the URI in `canonical` if it is present. Recording `via` allows servers to provide access to modified versions of other resources, while still providing the provenance of the resource.
2758
+
The `via` property of a resource _MAY_ be used to indicate one or more URIs which are the chain of sources from which the current resource was obtained. Each URI in the `via`list_MUST_ be different from the URI in `id`, but _MAY_ be the same as the URI in `canonical` if it is present. Recording `via` allows servers to provide the provenance chain of the resource, regardless of how many copy operations have occurred in the past.
2713
2759
2760
+
The value of the `via` property _MUST_ be an array of strings, and each string _MUST_ be a valid URI.
2714
2761
2715
-
FIXME: finish
2762
+
* Any resource _MAY_ have the `via` property.<br/>
2763
+
Clients _SHOULD_ process `via` on any resource.
2716
2764
2765
+
{% include api/code_header.html %}
2766
+
```json-doc
2767
+
{ "via": [ "https://example.com/manifests/6" ] }
2768
+
```
2717
2769
2718
2770
2719
2771
### viewingDirection
@@ -2762,6 +2814,12 @@ The `value` property of the UnitValue _MUST_ be between 0.0 and 1.0.
2762
2814
* Audio resource types _SHOULD_ have the `volume` property.<br/>
2763
2815
Clients _SHOULD_ process the `volume` property on an Audio resource.
0 commit comments