Adobe的XMP Media Management资料将InstanceID定义为资源某个具体incarnation的标识,并说每次保存文件时更新这一标识。[1] 这里记录的是一次具体保存实例的身份。另一个字段OriginalDocumentID则连接当前资源所衍生自的最初来源,回答的不是“这一份保存实例是哪一个”。

OriginalDocumentID的说明给出连续更换格式的例子:一份资源先存为另一格式,再存为第三种格式,各格式资源产生各自的DocumentID,但在OriginalDocumentID中保留源文件的id。[1] 因而,当前格式资源的身份和它所指回的原源身份可以不同;保留来源关系并不要求把连续几个格式文件写成同一个保存实例。

DerivedFrom采用的是最小ResourceRef引用,缺少的组成部分可视为没有改变。原文举两种情形:新版本可能只需指出前一版本的instance ID与版本号;一个衍生呈现可能只需指出原文档的instance ID和rendition class。[1] 两个例子分别保留版本联系和呈现联系,不要求每条引用都重复写出一整套相同字段。

ResourceRef本身被定义为多部分的资源引用,实际出现哪些字段,取决于用途和被引用资源是否受管理。它的documentID、instanceID和versionID分别取被引用资源的相应属性,filePath则是该资源的文件路径或URL。[2] 因此,引用里的编号与路径并非照片像素,也不是给引用所在文件另造的一组相同名称。

VersionID描述文档版本标识。Adobe说,常见约定是整数逐次增加,但媒体管理系统也可采用其他规则,或因分支需要更复杂的编号。[1] 同一说明已经保留“通常”与“还可有其他约定”,不能将整数递增当作所有文件的既定版本格式。

Versions保存有序的版本历史:第一项是最老的已知版本,最后一项是最新版本。原文同时说,内部版本信息可以压缩或消去,历史也可在某处截断,不保证从最初到当前全部齐备。[1] “最老的已知版本”便与“资源最初产生的那一版”有了区别;数组首项说明现有历史的起点,不会自动补回被截去的部分。

History记录形成资源的高层用户行动,目标是描述前一版到这一版发生了什么,并不是逐个按键的详尽日志。Ingredients则是被纳入当前资源的其他资源引用,属于无序数组。[1] 一份记录关心变化行动,一份关心组成来源;组成引用没有按数组位置承担Versions那种最老到最新的次序含义。

XMP namespace总述还说明,属性可以出现,也可以缺少;除另有规定外,结构中的字段也不必全部存在,一个packet可以含多个namespace。[3] 因而,上述字段是可描述的资料关系,不能反向证明某张交付照片已经携带完整历史。本文没有读写照片、定位私人文件或进行真实性、版权与备份安全判断。

资料来源:
[1] [XMP Media Management namespace](https://developer.adobe.com/xmp/docs/xmp-namespaces/xmp-mm/)
[2] [ResourceRef — XMP data types](https://developer.adobe.com/xmp/docs/xmp-namespaces/xmp-data-types/resource-ref/)
[3] [XMP namespace definitions](https://developer.adobe.com/xmp/docs/xmp-namespaces/)

信息来源

本文基于上述公开资料整理,未使用来源页面的图片、视频或嵌入媒体。