XStandoff 2 Examples

Instruction manual

A quite trivial example showing the annotation of both the textual and visual representation of a part of a camera.

We split up this multimodal document into two primary data instances, one containing the textual and one containing the visual representation. Both can be seen below:

Use the mode dial to select the 'A' or 'P' mode
Press the shutter half-way down, to focus and to release the built-in flash
Alternatively, use an external flash connected to the hotshoe
Press the shutter full-way down to take the picture

This can be annotated with a very basic markup language:

<?xml version="1.0" encoding="UTF-8"?>
<manual xmlns="http://www.xstandoff.net/example/manual"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://www.xstandoff.net/example/manual ../xsd/manual.xsd">
  <step n="1">Use the <part name="mode_dial">mode dial</part> to select the 'A' or 'P' mode</step>
  <step n="2">Press the <part name="shutter">shutter</part> half-way down, to focus and to release the <part name="flash">built-in flash</part></step>
  <step n="2a">Alternatively, use an external flash connected to the <part name="hotshoe">hotshoe</part></step>
  <step n="3">Press the <part name="shutter">shutter</part> full-way down to take the picture</step>
</manual>

To annotate the graphical part one could use a coordinate system in conjunction with some basic shapes. Up to now, there is no specialized annotation tool that produces XStandoff output.

The XStandoff instance

[XML]

The resulting XStandoff instance contains both annotation layers under a single level, since they correspond to the same schema.

<?xml version="1.0" encoding="UTF-8"?>
<xsf:corpusData xml:id="c1" xmlns:xsf="http://www.xstandoff.net/2009/xstandoff/1.1"
  xmlns:olac="http://www.language-archives.org/OLAC/1.0/"
  xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.xstandoff.net/2009/xstandoff/1.1 ../xsd/xsf2_1.1.xsd">
  <xsf:primaryData xml:id="txt">
    <xsf:primaryDataRef uri="../pd/camera.txt" mimeType="text/plain" encoding="utf-8" start="0" end="238"/>
  </xsf:primaryData>
  <xsf:primaryData xml:id="img">
    <xsf:primaryDataRef uri="../pd/camera.png" mimeType="image/png" width="564" height="538"
      horizontalResolution="300" verticalResolution="300"/>
  </xsf:primaryData>
  <xsf:segmentation>
    <xsf:segment xml:id="img_seg1" primaryData="img" coords="61,137,24" shape="circle" name="shutter"/>
    <xsf:segment xml:id="img_seg2" primaryData="img" coords="285,130 396,194 363,217 354,272 241,202 250,149" shape="poly" name="flash"/>
    <xsf:segment xml:id="img_seg3" primaryData="img" coords="176,0 219,14 232,37 215,60 172,72 128,63 110,33 126,13" shape="poly" name="mode_dial" />
    <xsf:segment xml:id="img_seg4" primaryData="img" coords="371,96 448,138 388,176 310,134" shape="poly" name="hotshoe"/>
    <xsf:segment xml:id="txt_seg1" primaryData="txt" start="0" end="238"/>
    <xsf:segment xml:id="txt_seg2" primaryData="txt" start="0" end="47"/>
    <xsf:segment xml:id="txt_seg3" primaryData="txt" start="8" end="17"/>
    <xsf:segment xml:id="txt_seg4" primaryData="txt" start="49" end="124"/>
    <xsf:segment xml:id="txt_seg5" primaryData="txt" start="59" end="66"/>
    <xsf:segment xml:id="txt_seg6" primaryData="txt" start="110" end="124"/>
    <xsf:segment xml:id="txt_seg7" primaryData="txt" start="125" end="186"/>
    <xsf:segment xml:id="txt_seg8" primaryData="txt" start="179" end="186"/>
    <xsf:segment xml:id="txt_seg9" primaryData="txt" start="187" end="238"/>
    <xsf:segment xml:id="txt_seg10" primaryData="txt" start="197" end="204"/>
  </xsf:segmentation>
  <xsf:annotation>
    <xsf:level xml:id="camera_manual">
      <xsf:layer xmlns="http://www.xstandoff.net/example/manual" priority="0"
        xsi:schemaLocation="http://www.xstandoff.net/example/manual ../xsd/manual.xsd">
        <manual xsf:segment="txt_seg1">
          <step n="1" xsf:segment="txt_seg2">
            <part name="mode_dial" xsf:segment="txt_seg3 img_seg3"/>
          </step>
          <step n="2" xsf:segment="txt_seg4">
            <part name="shutter" xsf:segment="txt_seg5 img_seg1"/>
            <part name="flash" xsf:segment="txt_seg6 img_seg2"/>
          </step>
          <step n="2a" xsf:segment="txt_seg7">
            <part name="hotshoe" xsf:segment="txt_seg8 img_seg4"/>
          </step>
          <step n="3" xsf:segment="txt_seg9">
            <part name="shutter" xsf:segment="txt_seg10 img_seg1"/>
          </step>
        </manual>
      </xsf:layer>
    </xsf:level>
  </xsf:annotation>
</xsf:corpusData>