[ https://issues.apache.org/jira/browse/TIKA-842?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13197361#comment-13197361 ]
Ray Gauss II edited comment on TIKA-842 at 1/31/12 11:06 PM: ------------------------------------------------------------- If we're going to have Metadata implement all metadata keys that come up like this in the future my suggestion would be to: 1) Deprecate the existing DublinCore string metadata keys 2) Create new DublinCore Property keys which have a prefixed name and name attribute 3) Prefix all IPTC Property key names 4) Map appropriate IPTC Property keys directly to the DublinCore Keys For example, in DublinCore: {code:title=DublinCore.java} String SUBJECT = "subject"; {code} would become: {code:title=DublinCore.java} @Deprecated String SUBJECT = "subject"; Property DC_SUBJECT = Property.internalTextBag(PREFIX_DC + PREFIX_DELIMITER + "subject"); {code} and in IPTC what is currently: {code:title=IPTC.java} Property KEYWORDS = Property.internalTextBag(PREFIX_DC + PREFIX_DELIMITER + "subject"); {code} would become: {code:title=IPTC.java} Property IPTC_KEYWORDS = DublinCore.DC_SUBJECT; {code} This approach should help avoid collisions of key names in interfaces Metadata implements and allow for more precise definition of DublinCore. The same could be applied for all metadata key interfaces. was (Author: rgauss): If we're going to have Metadata implement all metadata keys that come up like this in the future my suggestion would be to: 1) Deprecate the existing DublinCore string metadata keys 2) Create new DublinCore Property keys which have a prefixed name and name attribute 3) Prefix all IPTC Property key names 4) Map appropriate IPTC Property keys directly to the DublinCore Keys For example, in DublinCore: String SUBJECT = "subject"; would become: @Deprecated String SUBJECT = "subject"; Property DC_SUBJECT = Property.internalTextBag(PREFIX_DC + PREFIX_DELIMITER + "subject"); and in IPTC what is currently: Property KEYWORDS = Property.internalTextBag(PREFIX_DC + PREFIX_DELIMITER + "subject"); would become: Property IPTC_KEYWORDS = DublinCore.DC_SUBJECT; This approach should help avoid collisions of key names in interfaces Metadata implements and allow for more precise definition of DublinCore. The same could be applied for all metadata key interfaces. > IPTC Properties Should be Defined Completely and Independently of the Drew > Library > ---------------------------------------------------------------------------------- > > Key: TIKA-842 > URL: https://issues.apache.org/jira/browse/TIKA-842 > Project: Tika > Issue Type: Improvement > Components: metadata > Affects Versions: 1.0 > Reporter: Ray Gauss II > Fix For: 1.1 > > Attachments: IPTC-metadata-def-patch.diff > > > All of the IPTC XMP specification should be defined in tika-core and should > not be reliant on the Drew Noakes library as it is incomplete in its support > of the standard and the properties are not defined in proper namespaces or > prefixed. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira