Just looking at my Digikam/darktable sidecars, I see the folowing namespaces being used:
- xmlns:MicrosoftPhoto=“http://ns.microsoft.com/photo/1.0/”
- xmlns:acdsee=“http://ns.acdsee.com/iptc/1.0/”
- xmlns:digiKam=“http://www.digikam.org/ns/1.0/”
- xmlns:exif=“http://ns.adobe.com/exif/1.0/”
- xmlns:mediapro=“http://ns.iview-multimedia.com/mediapro/1.0/”
- xmlns:photoshop=“http://ns.adobe.com/photoshop/1.0/”
- xmlns:tiff=“http://ns.adobe.com/tiff/1.0/”
- xmlns:xmp=“http://ns.adobe.com/xap/1.0/”
- xmlns:xmpMM=“http://ns.adobe.com/xap/1.0/mm/”
- xmlns:darktable=“http://darktable.sf.net/”
- xmlns:dc=“DCMI: DCMI Metadata Terms”
- xmlns:lr=“http://ns.adobe.com/lightroom/1.0/”
Unless you mean something else, looks to me there are 8 or 9 software-specific namespaces in there…
Most are used for storing versions of title, caption or keywords.
But as @paperdigits said, XMP is extendable. The extension is done through namespaces, with a namespace definition of the form xmlns:<name>="<URI>"
. The URI’s aren’t looked up by the parser, they are just there to create a unique name.
Those sidecars are xml files btw, so XSLT would be a possible way to transform the sidecars. And if you are careful, the resulting sidecar would be usable by others (unknown tags are supposed to be ignored, and not treated as an error)