I have created an extractor that reads XMP metadata from a number of file types. The code and test cases can be downloaded here:
The test data makes the file too large to be attached to the feature request.
Committed the xmp extractor to the trunk. Fixed some little glitches, now all the tests pass. The .png file from the Custom test doesn't work but a glimpse with a hex editor showed that it doesn't contain any XMP at all. Is that intentional.
The XMP extractor has not been added to the DefaultExtractorRegistry, nor is the XmpExtractorActivator invoked by the ApertureRuntimeActivator. The problem is that most Aperture apps don't actually know how to use two extractors for a single mime type correctly. We need to figure out a way to use both the XmpExtractor and a JpgExtractor on a single stream. (some producer-consumer extractor pipeline hack is due).
Until that is done, I'd keep this ticket open.
Now that we decided that buffering the entire stream to use it with multiple extractors is the lesser evil (r2122, aperture dev mail http://bit.ly/29rPUi\), can we close this ticket?
I close the ticket. Arjohn suggested to use FileInputStreams instead of ByteArrayInputStreams. This is possible with the functionality we provided fro FileExtractors and is therefore within the scope of the application and not aperture itself.
I close this ticket as done.