XMP Specification Part 3: Storage in Files - Adobe
XMP Specification Part 3: Storage in Files - Adobe
XMP Specification Part 3: Storage in Files - Adobe
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
The marker types FFE0-FFEF are generally used for application data, named APPn. By convention, an APPn<br />
marker beg<strong>in</strong>s with a str<strong>in</strong>g identify<strong>in</strong>g the usage, called a namespace or signature str<strong>in</strong>g. An APP1 marker<br />
identifies Exif and TIFF metadata; an APP13 marker designates a Photoshop Image Resource (PSIR) that<br />
conta<strong>in</strong>s IPTC metadata; another APP1 marker designates the location of the <strong>XMP</strong> packet.<br />
Figure 3 shows APP markers with<strong>in</strong> JPEG.<br />
Markers<br />
(other markers)<br />
APP1: Exif/TIFF<br />
APP1: <strong>XMP</strong><br />
APP13: PSIR/<br />
(other markers)<br />
SOF marker<br />
Image data<br />
Figure 3 — Layout of JPEG with APP markers<br />
The JFIF standard has been largely abandoned; most importantly, all modern digital cameras follow Exif. Both<br />
JFIF and Exif specify a particular APPn marker segment as immediately follow<strong>in</strong>g the SOI marker. Neither of<br />
the JFIF and Exif specifications references the other, so there is no declared standard for mix<strong>in</strong>g them.<br />
Readers should be prepared to encounter files that conta<strong>in</strong> an Exif APP1 marker segment follow<strong>in</strong>g the JFIF<br />
and JFXX APP0 marker segments.<br />
The <strong>XMP</strong> APP1 and PSIR/IPTC APP13 markers must be placed before the first SOF marker. For maximum<br />
compatibility, readers should tolerate f<strong>in</strong>d<strong>in</strong>g them between the first SOF marker and first SOS marker. (Earlier<br />
versions of the <strong>XMP</strong> <strong>Specification</strong> were ambiguous about the placement rules.)<br />
After the type, the marker conta<strong>in</strong>s a length value and the identify<strong>in</strong>g namespace str<strong>in</strong>g. The length value is 2<br />
(the length field itself) plus the length of the namespace field, plus the length of the data <strong>in</strong> bytes. Metadata<br />
markers share the convention of hav<strong>in</strong>g NULL-term<strong>in</strong>ated namespace str<strong>in</strong>gs:<br />
Table 5 shows the entry format for the <strong>XMP</strong> section:<br />
Table 4 — Content and usage of APP markers<br />
Marker Signature, <strong>in</strong>clud<strong>in</strong>g NULLs Usage<br />
APP1 "Exif\0\0” (2 NULLs) TIFF and Exif metadata<br />
APP1 "http://ns.adobe.com/xap/1.0/\0” <strong>XMP</strong><br />
APP13 "Photoshop 3.0\0” Photoshop image resources, <strong>in</strong>clud<strong>in</strong>g<br />
IPTC metadata, but not <strong>in</strong>clud<strong>in</strong>g <strong>XMP</strong><br />
or Exif metadata<br />
Byte offset,<br />
length<br />
Table 5 — Entry format for <strong>XMP</strong> section <strong>in</strong> JPEG<br />
Field value Field name Comments<br />
0, 2 bytes 0xFFE1 APP1 APP1 marker identifies metadata<br />
section.<br />
18 ©<strong>Adobe</strong> Systems Incorporated, 2010