OK, I've been trying to read/write RDF in JPEGs in Java based on Adobe's own published XMP spec. With each successive version, Photoshop seems to depart further from its own stated documentation. My issues?
1) The XMP packet begin attribute (byte-order marker), is supposed to be either empty for UTF-8 or for Unicode the "zero width non-breaking space character" (U+FEFF). Both CS and CS2 produce a begin attribute with a contained byte sequence of 0xEF, 0xBB, 0xBF. What is that?? Am I reading their spec wrong?
2) CS at least produces valid RDF resources and properties, but does not seem to accept any other formatting except for the "abbreviated" form with inline sets. CS2 has devolved. It does not produce RDF that can even be read by typical RDF packages (I'm using Jena) because now the rdf:about attribute on all of the resources is empty - no base URI? no dice. CS produces a UUID for the rdf:about value for *some of the resources.
3) Neither version seems to be able to read RDF that was not generated by Photoshop itself. Is this due to the RDF formatting? Does this happen because all of the XMP fields don't match the EXIF and IPTC fields? I have no way of telling this - the most verbose error message Photoshop displays is "This file contains file info data which cannot be read and will be ignored". Great! No log files, no details.
Has anyone figured out the Photoshop's quirks with respect to XMP? Is there a new, unpublished spec besides the xmpspecification.pdf on Adobe's site that details what is going on??
Thanks!
1) The XMP packet begin attribute (byte-order marker), is supposed to be either empty for UTF-8 or for Unicode the "zero width non-breaking space character" (U+FEFF). Both CS and CS2 produce a begin attribute with a contained byte sequence of 0xEF, 0xBB, 0xBF. What is that?? Am I reading their spec wrong?
2) CS at least produces valid RDF resources and properties, but does not seem to accept any other formatting except for the "abbreviated" form with inline sets. CS2 has devolved. It does not produce RDF that can even be read by typical RDF packages (I'm using Jena) because now the rdf:about attribute on all of the resources is empty - no base URI? no dice. CS produces a UUID for the rdf:about value for *some of the resources.
3) Neither version seems to be able to read RDF that was not generated by Photoshop itself. Is this due to the RDF formatting? Does this happen because all of the XMP fields don't match the EXIF and IPTC fields? I have no way of telling this - the most verbose error message Photoshop displays is "This file contains file info data which cannot be read and will be ignored". Great! No log files, no details.
Has anyone figured out the Photoshop's quirks with respect to XMP? Is there a new, unpublished spec besides the xmpspecification.pdf on Adobe's site that details what is going on??
Thanks!