Referring to segments of a file - Recommendation

This recommendation is for referring to segments within a File using the following selectors appended to URIs.  SoaF Use Cases outline most significant formats for Samvera/Fedora applications. Use cases are listed below with reference to the fragment selector spec, when available, and examples. Open Annotation Fragment Selectors covers many but not all formats to refer to segments.
 

Time-based media [spatial or temporal]

 

Fragment selector specExample

http://www.w3.org/TR/media-frags/

xywh=50,50,640,480
t=30,60

XML-encoded texts

  • Refer to a specific region of an XML document:
    • Restrict a search to all instances of an element
    • Retrieve content from a specific instance of an element for display
  • Refer a PCDM page object to a region within an XML-encoded text and vice versa
Fragment selector specExample

https://www.w3.org/TR/xptr-xpointer/

xpointer(/a/b/c)

 

PDF

  • Refer to a specific page of a PDF
  • Within a single page of PDF file:
    • Refer to a predefined anchor point ("destination" in Adobe parlance) in a PDF
      •  Requires that destination is already defined in the PDF
    • Refer to an arbitrary region of a PDF
Fragment selector specExample
http://tools.ietf.org/rfc/rfc3778

page=10
viewrect=50,50,640,480
nameddest=footnote3

 

Image

SVG

  • Draw vector as mask on region of other image file to show portion
    •  4 points (rectangular)
    •  more or less than 4 points (non-rectangular)
Fragment selector spec - 4 points (rectangular)Example

http://www.w3.org/TR/SVG/

svgView(viewBox(50,50,640,480))

Fragment selector spec - more or less than 4 points (non-rectangular)

Example
  • Undecided - Maybe pass SVG segment XML as data URI
  • Follow what GeoBlacklight uses for calling up non-rectangular segments of SVG
<svg height="100" width="100">
<circle cx="50" cy="50" r="40" stroke="black" stroke-width="3" />
</svg>


Other image formats

  • Refer to size of image to show
  • Refer to region of image to show portion
Fragment selector specExample
http://iiif.io/api/image/2.0/#image-request-parameters

size=150,
region=125,15,120,140