Index: src/main/java/org/apache/tika/metadata/IPTC.java
===================================================================
--- src/main/java/org/apache/tika/metadata/IPTC.java	(revision 1339710)
+++ src/main/java/org/apache/tika/metadata/IPTC.java	(working copy)
@@ -21,33 +21,25 @@
 package org.apache.tika.metadata;
 
 /**
- * IPTC Photo Metadata schema. This is a collection of
- * {@link Property property definition} constants for the Photo Metadata
+ * IPTC photo metadata schema.
+ * 
+ * A collection of
+ * {@link Property property definition} constants for the photo metadata
  * properties defined in the IPTC standard.
  * 
- * Note - the Properties with the _DCPROPERTY are expected to change shortly
- *
  * @since Apache Tika 1.1
  * @see <a href="http://www.iptc.org/std/photometadata/specification/IPTC-PhotoMetadata-201007_1.pdf">IPTC Photo Metadata</a>
  */
 public interface IPTC {
 
-	String NAMESPACE_URI_DC = "http://purl.org/dc/elements/1.1/";
 	String NAMESPACE_URI_IPTC_CORE = "http://iptc.org/std/Iptc4xmpCore/1.0/xmlns/";
 	String NAMESPACE_URI_IPTC_EXT = "http://iptc.org/std/Iptc4xmpExt/2008-02-29/";
-	String NAMESPACE_URI_PHOTOSHOP = "http://ns.adobe.com/photoshop/1.0/";
 	String NAMESPACE_URI_PLUS = "http://ns.useplus.org/ldf/xmp/1.0/";
-	String NAMESPACE_URI_XMP_RIGHTS = "http://ns.adobe.com/xap/1.0/rights/";
 
-	String PREFIX_DC = "dc";
 	String PREFIX_IPTC_CORE = "Iptc4xmpCore";
 	String PREFIX_IPTC_EXT = "Iptc4xmpExt";
-	String PREFIX_PHOTOSHOP = "photoshop";
 	String PREFIX_PLUS = "plus";
-	String PREFIX_XMP_RIGHTS = "xmpRights";
 
-	String PREFIX_DELIMITER = ":";
-
 	/**
 	 * Name of the city the content is focussing on -- either the place shown
 	 * in visual media or referenced by text or audio media. This element is at
@@ -60,9 +52,10 @@
 	 * in the Image.
 	 * <p>
 	 * Maps to this IIM property: 2:90 City
+	 * 
+	 * @see Photoshop#CITY
 	 */
-	Property CITY = Property.internalText(
-			PREFIX_PHOTOSHOP + PREFIX_DELIMITER + "City");
+	Property CITY = Photoshop.CITY;
 
 	/**
 	 * Full name of the country the content is focussing on -- either the
@@ -78,9 +71,10 @@
 	 * in the Image.
 	 * <p>
 	 * Maps to this IIM property: 2:101 Country/Primary Location Name
+	 * 
+	 * @see Photoshop#COUNTRY
 	 */
-	Property COUNTRY = Property.internalText(
-			PREFIX_PHOTOSHOP + PREFIX_DELIMITER + "Country");
+	Property COUNTRY = Photoshop.COUNTRY;
 
 	/**
 	 * Code of the country the content is focussing on -- either the country
@@ -98,7 +92,7 @@
 	 * Maps to this IIM property: 2:100 Country/Primary Location Code
 	 */
 	Property COUNTRY_CODE = Property.internalText(
-			PREFIX_IPTC_CORE + PREFIX_DELIMITER + "CountryCode");
+			PREFIX_IPTC_CORE + Metadata.NAMESPACE_PREFIX_DELIMITER + "CountryCode");
 
 	/**
 	 * A textual description, including captions, of the item's content,
@@ -110,17 +104,19 @@
 	 * Lang Alt value type as specified by the XMP specifications.
 	 * <p>
 	 * Maps to this IIM property: 2:120 Caption/Abstract
+	 * 
+	 * @see DublinCore#DESCRIPTION
 	 */
-	Property DESCRIPTION_DCPROPERTY = Property.internalText(
-			PREFIX_DC + PREFIX_DELIMITER + "description");
+    Property DESCRIPTION = DublinCore.DESCRIPTION;
 
 	/**
 	 * A brief synopsis of the caption. Headline is not the same as Title.
 	 * <p>
 	 * Maps to this IIM property: 2:105 Headline
+	 * 
+	 * @see Photoshop#HEADLINE
 	 */
-	Property HEADLINE = Property.internalText(
-			PREFIX_PHOTOSHOP + PREFIX_DELIMITER + "Headline");
+	Property HEADLINE = Photoshop.HEADLINE;
 
 	/**
 	 * Describes the nature, intellectual, artistic or journalistic
@@ -133,7 +129,7 @@
 	 * Maps to this IIM property: 2:04 Object Attribute Reference
 	 */
 	Property INTELLECTUAL_GENRE = Property.internalText(
-			PREFIX_IPTC_CORE + PREFIX_DELIMITER + "IntellectualGenre");
+			PREFIX_IPTC_CORE + Metadata.NAMESPACE_PREFIX_DELIMITER + "IntellectualGenre");
 
 	/**
 	 * Keywords to express the subject of the content. Keywords may be free
@@ -145,9 +141,10 @@
 	 * but must allow for phrases as well.
 	 * <p>
 	 * Maps to this IIM property: 2:25 Keywords
-	 */
-	Property KEYWORDS_DCPROPERTY = Property.internalTextBag(
-			PREFIX_DC + PREFIX_DELIMITER + "subject");
+	 * 
+     * @see DublinCore#SUBJECT
+     */
+    Property KEYWORDS = DublinCore.SUBJECT;
 
 	/**
 	 * Name of the subregion of a country -- either called province or state or
@@ -162,9 +159,10 @@
 	 * in the Image.
 	 * <p>
 	 * Maps to this IIM property: 2:95 Province/State
+	 * 
+	 * @see Photoshop#STATE
 	 */
-	Property PROVINCE_OR_STATE = Property.internalText(
-			PREFIX_PHOTOSHOP + PREFIX_DELIMITER + "State");
+	Property PROVINCE_OR_STATE = Photoshop.STATE;
 
 	/**
 	 * Describes the scene of a news content. Specifies one or more terms
@@ -175,7 +173,7 @@
 	 * about the IPTC Scene-NewsCodes at www.newscodes.org.
 	 */
 	Property SCENE_CODE = Property.internalText(
-			PREFIX_IPTC_CORE + PREFIX_DELIMITER + "Scene");
+			PREFIX_IPTC_CORE + Metadata.NAMESPACE_PREFIX_DELIMITER + "Scene");
 
 	/**
 	 * Specifies one or more Subjects from the IPTC Subject-NewsCodes taxonomy
@@ -187,7 +185,7 @@
 	 * IPTC Subject-NewsCodes at www.newscodes.org.
 	 */
 	Property SUBJECT_CODE = Property.internalTextBag(
-			PREFIX_IPTC_CORE + PREFIX_DELIMITER + "SubjectCode");
+			PREFIX_IPTC_CORE + Metadata.NAMESPACE_PREFIX_DELIMITER + "SubjectCode");
 
 	/**
 	 * Name of a sublocation the content is focussing on -- either the
@@ -206,7 +204,7 @@
 	 * Maps to this IIM property: 2:92 Sublocation
 	 */
 	Property SUBLOCATION = Property.internalText(
-			PREFIX_IPTC_CORE + PREFIX_DELIMITER + "Location");
+			PREFIX_IPTC_CORE + Metadata.NAMESPACE_PREFIX_DELIMITER + "Location");
 
 	/**
 	 * Designates the date and optionally the time the intellectual content was
@@ -225,27 +223,30 @@
 	 * camera to the user for entering this date for the first time.
 	 * <p>
 	 * Maps to this IIM property: 2:55 Date Created
+	 * 
+	 * @see Photoshop#DATE_CREATED
 	 */
-	Property DATE_CREATED = Property.internalDate(
-			PREFIX_PHOTOSHOP + PREFIX_DELIMITER + "DateCreated");
+	Property DATE_CREATED = Photoshop.DATE_CREATED;
 
 	/**
 	 * Identifier or the name of the person involved in writing, editing or
 	 * correcting the description of the content.
 	 * <p>
 	 * Maps to this IIM property: 2:122 Writer/Editor
+	 * 
+	 * @see Photoshop#CAPTION_WRITER
 	 */
-	Property DESCRIPTION_WRITER = Property.internalText(
-			PREFIX_PHOTOSHOP + PREFIX_DELIMITER + "CaptionWriter");
+	Property DESCRIPTION_WRITER = Photoshop.CAPTION_WRITER;
 
 	/**
 	 * Any of a number of instructions from the provider or creator to the
 	 * receiver of the item.
 	 * <p>
 	 * Maps to this IIM property: 2:40 Special Instruction
+	 * 
+	 * @see Photoshop#INSTRUCTIONS
 	 */
-	Property INSTRUCTIONS = Property.internalText(
-			PREFIX_PHOTOSHOP + PREFIX_DELIMITER + "Instructions");
+	Property INSTRUCTIONS = Photoshop.INSTRUCTIONS;
 
 	/**
 	 * Number or identifier for the purpose of improved workflow handling. This
@@ -258,9 +259,10 @@
 	 * to this field.
 	 * <p>
 	 * Maps to this IIM property: 2:103 Original Transmission Reference
+	 * 
+	 * @see Photoshop#TRANSMISSION_REFERENCE
 	 */
-	Property JOB_ID = Property.internalText(
-			PREFIX_PHOTOSHOP + PREFIX_DELIMITER + "TransmissionReference");
+	Property JOB_ID = Photoshop.TRANSMISSION_REFERENCE;
 
 	/**
 	 * A shorthand reference for the item. Title provides a short human readable
@@ -279,9 +281,10 @@
 	 * Alt value type as specified by the XMP specifications.
 	 * <p>
 	 * Maps to this IIM property: 2:05 Object Name
-	 */
-	Property TITLE_DCPROPERTY = Property.internalText(
-			PREFIX_DC + PREFIX_DELIMITER + "title");
+	 * 
+     * @see DublinCore#TITLE
+     */
+    Property TITLE = DublinCore.TITLE;
 
 	/**
 	 * Contains any necessary copyright notice for claiming the intellectual
@@ -301,9 +304,10 @@
 	 * value type as specified by the XMP specifications.
 	 * <p>
 	 * Maps to this IIM property: 2:116 Copyright Notice
-	 */
-	Property COPYRIGHT_NOTICE = Property.internalText(
-			PREFIX_DC + PREFIX_DELIMITER + "rights");
+	 * 
+     * @see DublinCore#RIGHTS
+     */
+    Property COPYRIGHT_NOTICE = DublinCore.RIGHTS;
 
 	/**
 	 * Contains the name of the person who created the content of this item, a
@@ -317,9 +321,10 @@
 	 * fields in sync.
 	 * <p>
 	 * Maps to this IIM property: 2:80 By-line
-	 */
-	Property CREATOR_DCPROPERTY = Property.internalText(
-			PREFIX_DC + PREFIX_DELIMITER + "creator");
+	 * 
+     * @see DublinCore#CREATOR
+     */
+    Property CREATOR = DublinCore.CREATOR;
 
 	/**
 	 * The creator's contact information provides all necessary information to
@@ -338,7 +343,7 @@
 	 * specification RFC 2426.
 	 */
 	Property CREATORS_CONTACT_INFO = Property.internalText(
-			PREFIX_IPTC_CORE + PREFIX_DELIMITER + "CreatorContactInfo");
+			PREFIX_IPTC_CORE + Metadata.NAMESPACE_PREFIX_DELIMITER + "CreatorContactInfo");
 
 	/**
 	 * Contains the job title of the person who created the content of this
@@ -346,9 +351,10 @@
 	 * in as mandatory prerequisite for using Creator's Jobtitle.
 	 * <p>
 	 * Maps to this IIM property: 2:85 By-line Title
+	 * 
+	 * @see Photoshop#AUTHORS_POSITION
 	 */
-	Property CREATORS_JOB_TITLE = Property.internalText(
-			PREFIX_PHOTOSHOP + PREFIX_DELIMITER + "AuthorsPosition");
+	Property CREATORS_JOB_TITLE = Photoshop.AUTHORS_POSITION;
 
 	/**
 	 * The credit to person(s) and/or organisation(s) required by the supplier
@@ -362,9 +368,10 @@
 	 * "Credit Line" as the field is used for this purpose by many users.
 	 * <p>
 	 * Maps to this IIM property: 2:110 Credit
+	 * 
+	 * @see Photoshop#CREDIT_LINE
 	 */
-	Property CREDIT_LINE = Property.internalText(
-			PREFIX_PHOTOSHOP + PREFIX_DELIMITER + "Credit");
+	Property CREDIT_LINE = Photoshop.CREDIT;
 
 	/**
 	 * The licensing parameters of the item expressed in free-text.
@@ -372,8 +379,7 @@
 	 * The PLUS fields of the IPTC Extension can be used in parallel to express
 	 * the licensed usage in more controlled terms.
 	 */
-	Property RIGHTS_USAGE_TERMS = Property.internalText(
-			PREFIX_XMP_RIGHTS + PREFIX_DELIMITER + "UsageTerms");
+	Property RIGHTS_USAGE_TERMS = XMPRights.USAGE_TERMS;
 
 	/**
 	 * Identifies the original owner of the copyright for the intellectual
@@ -386,9 +392,10 @@
 	 * entered following the news object's initial creation.
 	 * <p>
 	 * Maps to this IIM property: 2:115 Source
+	 * 
+	 * @see Photoshop#SOURCE
 	 */
-	Property SOURCE = Property.internalText(
-			PREFIX_PHOTOSHOP + PREFIX_DELIMITER + "Source");
+	Property SOURCE = Photoshop.SOURCE;
 
 	/**
 	 * The contact information address part. Comprises an optional company name
@@ -400,7 +407,7 @@
 	 * Note 2: the ContactInfo naming aligns with the vCard specification RFC 2426.
 	 */
 	Property CONTACT_INFO_ADDRESS = Property.internalText(
-			PREFIX_IPTC_CORE + PREFIX_DELIMITER + "CiAdrExtadr");
+			PREFIX_IPTC_CORE + Metadata.NAMESPACE_PREFIX_DELIMITER + "CiAdrExtadr");
 
 	/**
 	 * The contact information city part.
@@ -410,7 +417,7 @@
 	 * Note 2: the ContactInfo naming aligns with the vCard specification RFC 2426.
 	 */
 	Property CONTACT_INFO_CITY = Property.internalText(
-			PREFIX_IPTC_CORE + PREFIX_DELIMITER + "CiAdrCity");
+			PREFIX_IPTC_CORE + Metadata.NAMESPACE_PREFIX_DELIMITER + "CiAdrCity");
 
 	/**
 	 * The contact information country part.
@@ -420,7 +427,7 @@
 	 * Note 2: the ContactInfo naming aligns with the vCard specification RFC 2426.
 	 */
 	Property CONTACT_INFO_COUNTRY = Property.internalText(
-			PREFIX_IPTC_CORE + PREFIX_DELIMITER + "CiAdrCtry");
+			PREFIX_IPTC_CORE + Metadata.NAMESPACE_PREFIX_DELIMITER + "CiAdrCtry");
 
 	/**
 	 * The contact information email address part.
@@ -437,7 +444,7 @@
 	 * specification RFC 2426.
 	 */
 	Property CONTACT_INFO_EMAIL = Property.internalText(
-			PREFIX_IPTC_CORE + PREFIX_DELIMITER + "CiEmailWork");
+			PREFIX_IPTC_CORE + Metadata.NAMESPACE_PREFIX_DELIMITER + "CiEmailWork");
 
 	/**
 	 * The contact information phone number part.
@@ -454,7 +461,7 @@
 	 * specification RFC 2426.
 	 */
 	Property CONTACT_INFO_PHONE = Property.internalText(
-			PREFIX_IPTC_CORE + PREFIX_DELIMITER + "CiTelWork");
+			PREFIX_IPTC_CORE + Metadata.NAMESPACE_PREFIX_DELIMITER + "CiTelWork");
 
 	/**
 	 * The contact information part denoting the local postal code.
@@ -464,7 +471,7 @@
 	 * Note 2: the ContactInfo naming aligns with the vCard specification RFC 2426.
 	 */
 	Property CONTACT_INFO_POSTAL_CODE = Property.internalText(
-			PREFIX_IPTC_CORE + PREFIX_DELIMITER + "CiAdrPcode");
+			PREFIX_IPTC_CORE + Metadata.NAMESPACE_PREFIX_DELIMITER + "CiAdrPcode");
 
 	/**
 	 * The contact information part denoting regional information such as state or province.
@@ -474,7 +481,7 @@
 	 * Note 2: the ContactInfo naming aligns with the vCard specification RFC 2426.
 	 */
 	Property CONTACT_INFO_STATE_PROVINCE = Property.internalText(
-			PREFIX_IPTC_CORE + PREFIX_DELIMITER + "CiAdrRegion");
+			PREFIX_IPTC_CORE + Metadata.NAMESPACE_PREFIX_DELIMITER + "CiAdrRegion");
 
 	/**
 	 * The contact information web address part. Multiple addresses can be given, separated by a comma.
@@ -487,7 +494,7 @@
 	 * specification RFC 2426.
 	 */
 	Property CONTACT_INFO_WEB_URL = Property.internalText(
-			PREFIX_IPTC_CORE + PREFIX_DELIMITER + "CiUrlWork");
+			PREFIX_IPTC_CORE + Metadata.NAMESPACE_PREFIX_DELIMITER + "CiUrlWork");
 
 	/**
 	 * As this metadata element pertains to distribution management, it was not
@@ -497,8 +504,7 @@
 	 *
 	 * @deprecated
 	 */
-	Property PHOTOSHOP_URGENCY = Property.internalText(
-			PREFIX_PHOTOSHOP + PREFIX_DELIMITER + "Urgency");
+	Property PHOTOSHOP_URGENCY = Photoshop.URGENCY;
 
 	/**
 	 * As this metadata element was earmarked as deprecated already for IIM 4.1,
@@ -510,8 +516,7 @@
 	 *
 	 * @deprecated
 	 */
-	Property PHOTOSHOP_CATEGORY = Property.internalText(
-			PREFIX_PHOTOSHOP + PREFIX_DELIMITER + "Category");
+	Property PHOTOSHOP_CATEGORY = Photoshop.CATEGORY;
 
 	/**
 	 * As this metadata element was earmarked as deprecated already for IIM 4.1,
@@ -521,8 +526,7 @@
 	 *
 	 * @deprecated
 	 */
-	Property PHOTOSHOP_SUPPLEMENTAL_CATEGORIES = Property.internalTextBag(
-			PREFIX_PHOTOSHOP + PREFIX_DELIMITER + "SupplementalCategories");
+	Property PHOTOSHOP_SUPPLEMENTAL_CATEGORIES = Photoshop.SUPPLEMENTAL_CATEGORIES;
 
 	/**
 	 * Information about the ethnicity and other facets of the model(s) in a
@@ -531,19 +535,19 @@
 	 * Use the Model Age field for the age of model(s).
 	 */
 	Property ADDITIONAL_MODEL_INFO = Property.internalText(
-			PREFIX_IPTC_EXT + PREFIX_DELIMITER + "AddlModelInfo");
+			PREFIX_IPTC_EXT + Metadata.NAMESPACE_PREFIX_DELIMITER + "AddlModelInfo");
 
 	/**
 	 * A set of metadata about artwork or an object in the item
 	 */
 	Property ARTWORK_OR_OBJECT = Property.internalTextBag(
-			PREFIX_IPTC_EXT + PREFIX_DELIMITER + "ArtworkOrObject");
+			PREFIX_IPTC_EXT + Metadata.NAMESPACE_PREFIX_DELIMITER + "ArtworkOrObject");
 
 	/**
 	 * A set of metadata about artwork or an object in the item
 	 */
 	Property ORGANISATION_CODE = Property.internalTextBag(
-			PREFIX_IPTC_EXT + PREFIX_DELIMITER + "OrganisationInImageCode");
+			PREFIX_IPTC_EXT + Metadata.NAMESPACE_PREFIX_DELIMITER + "OrganisationInImageCode");
 
 	/**
 	 * A term to describe the content of the image by a value from a Controlled
@@ -554,7 +558,7 @@
 	 * IPTC metadata or other user interfaces unless agreed by the IPTC.
 	 */
 	Property CONTROLLED_VOCABULARY_TERM = Property.internalTextBag(
-			PREFIX_IPTC_EXT + PREFIX_DELIMITER + "CVterm");
+			PREFIX_IPTC_EXT + Metadata.NAMESPACE_PREFIX_DELIMITER + "CVterm");
 
 	/**
 	 * A location the content of the item is about. For photos that is a
@@ -564,7 +568,7 @@
 	 * the property Location Created should be used too.
 	 */
 	Property LOCATION_SHOWN = Property.internalTextBag(
-			PREFIX_IPTC_EXT + PREFIX_DELIMITER + "LocationShown");
+			PREFIX_IPTC_EXT + Metadata.NAMESPACE_PREFIX_DELIMITER + "LocationShown");
 
 	/**
 	 * Age of the human model(s) at the time this image was taken in a model
@@ -574,7 +578,7 @@
 	 * young models. Ages below 18 years should not be included.
 	 */
 	Property MODEL_AGE = Property.internalTextBag(
-			PREFIX_IPTC_EXT + PREFIX_DELIMITER + "ModelAge");
+			PREFIX_IPTC_EXT + Metadata.NAMESPACE_PREFIX_DELIMITER + "ModelAge");
 
 	/**
 	 * Name of the organisation or company which is featured in the content.
@@ -583,14 +587,14 @@
 	 * Organisation Code field.
 	 */
 	Property ORGANISATION_NAME = Property.internalTextBag(
-			PREFIX_IPTC_EXT + PREFIX_DELIMITER + "OrganisationInImageName");
+			PREFIX_IPTC_EXT + Metadata.NAMESPACE_PREFIX_DELIMITER + "OrganisationInImageName");
 
 	/**
 	 * Name of a person the content of the item is about. For photos that is a
 	 * person shown in the image.
 	 */
 	Property PERSON = Property.internalTextBag(
-			PREFIX_IPTC_EXT + PREFIX_DELIMITER + "PersonInImage");
+			PREFIX_IPTC_EXT + Metadata.NAMESPACE_PREFIX_DELIMITER + "PersonInImage");
 
 	/**
 	 * Globally unique identifier for the item. It is created and applied by the
@@ -621,7 +625,7 @@
 	 * its type and brand can be found in the Exif/technical metadata.
 	 */
 	Property DIGITAL_IMAGE_GUID = Property.internalText(
-			PREFIX_IPTC_EXT + PREFIX_DELIMITER + "DigImageGUID");
+			PREFIX_IPTC_EXT + Metadata.NAMESPACE_PREFIX_DELIMITER + "DigImageGUID");
 
 	/**
 	 * The type of the source digital file.
@@ -631,13 +635,13 @@
 	 * @deprecated
 	 */
 	Property DIGITAL_SOURCE_FILE_TYPE = Property.internalText(
-			PREFIX_IPTC_EXT + PREFIX_DELIMITER + "DigitalSourcefileType");
+			PREFIX_IPTC_EXT + Metadata.NAMESPACE_PREFIX_DELIMITER + "DigitalSourcefileType");
 
 	/**
 	 * The type of the source of this digital image
 	 */
 	Property DIGITAL_SOURCE_TYPE = Property.internalText(
-			PREFIX_IPTC_EXT + PREFIX_DELIMITER + "DigitalSourceType");
+			PREFIX_IPTC_EXT + Metadata.NAMESPACE_PREFIX_DELIMITER + "DigitalSourceType");
 
 	/**
 	 * Names or describes the specific event the content relates to.
@@ -648,7 +652,7 @@
 	 * be named by this property too.
 	 */
 	Property EVENT = Property.internalText(
-			PREFIX_IPTC_EXT + PREFIX_DELIMITER + "Event");
+			PREFIX_IPTC_EXT + Metadata.NAMESPACE_PREFIX_DELIMITER + "Event");
 
 	/**
 	 * Both a Registry Item Id and a Registry Organisation Id to record any
@@ -662,7 +666,7 @@
 	 * fields should be made mandatory.
 	 */
 	Property IMAGE_REGISTRY_ENTRY = Property.internalTextBag(
-			PREFIX_IPTC_EXT + PREFIX_DELIMITER + "RegistryId");
+			PREFIX_IPTC_EXT + Metadata.NAMESPACE_PREFIX_DELIMITER + "RegistryId");
 
 	/**
 	 * Identifies the most recent supplier of the item, who is not necessarily
@@ -677,7 +681,7 @@
 	 * schema.
 	 */
 	Property IMAGE_SUPPLIER = Property.internalText(
-			PREFIX_PLUS + PREFIX_DELIMITER + "ImageSupplier");
+			PREFIX_PLUS + Metadata.NAMESPACE_PREFIX_DELIMITER + "ImageSupplier");
 
 	/**
 	 * Identifies the most recent supplier of the item, who is not necessarily
@@ -692,7 +696,7 @@
 	 * schema.
 	 */
 	Property IMAGE_SUPPLIER_ID = Property.internalText(
-			PREFIX_PLUS + PREFIX_DELIMITER + "ImageSupplierId");
+			PREFIX_PLUS + Metadata.NAMESPACE_PREFIX_DELIMITER + "ImageSupplierId");
 
 	/**
 	 * Identifies the most recent supplier of the item, who is not necessarily
@@ -707,7 +711,7 @@
 	 * schema.
 	 */
 	Property IMAGE_SUPPLIER_NAME = Property.internalText(
-			PREFIX_PLUS + PREFIX_DELIMITER + "ImageSupplierName");
+			PREFIX_PLUS + Metadata.NAMESPACE_PREFIX_DELIMITER + "ImageSupplierName");
 
 	/**
 	 * Optional identifier assigned by the Image Supplier to the image.
@@ -716,7 +720,7 @@
 	 * schema.
 	 */
 	Property IMAGE_SUPPLIER_IMAGE_ID = Property.internalText(
-			PREFIX_PLUS + PREFIX_DELIMITER + "ImageSupplierImageID");
+			PREFIX_PLUS + Metadata.NAMESPACE_PREFIX_DELIMITER + "ImageSupplierImageID");
 
 	/**
 	 * The date and optionally time when any of the IPTC photo metadata fields
@@ -732,7 +736,7 @@
 	 * property of the XMP Basic scheme.
 	 */
 	Property IPTC_LAST_EDITED = Property.internalDate(
-			PREFIX_IPTC_EXT + PREFIX_DELIMITER + "IptcLastEdited");
+			PREFIX_IPTC_EXT + Metadata.NAMESPACE_PREFIX_DELIMITER + "IptcLastEdited");
 
 	/**
 	 * The location the content of the item was created.
@@ -742,21 +746,21 @@
 	 * used.
 	 */
 	Property LOCATION_CREATED = Property.internalTextBag(
-			PREFIX_IPTC_EXT + PREFIX_DELIMITER + "LocationCreated");
+			PREFIX_IPTC_EXT + Metadata.NAMESPACE_PREFIX_DELIMITER + "LocationCreated");
 
 	/**
 	 * The maximum available height in pixels of the original photo from which
 	 * this photo has been derived by downsizing.
 	 */
 	Property MAX_AVAIL_HEIGHT = Property.internalInteger(
-			PREFIX_IPTC_EXT + PREFIX_DELIMITER + "MaxAvailHeight");
+			PREFIX_IPTC_EXT + Metadata.NAMESPACE_PREFIX_DELIMITER + "MaxAvailHeight");
 
 	/**
 	 * The maximum available width in pixels of the original photo from which
 	 * this photo has been derived by downsizing.
 	 */
 	Property MAX_AVAIL_WIDTH = Property.internalInteger(
-			PREFIX_IPTC_EXT + PREFIX_DELIMITER + "MaxAvailWidth");
+			PREFIX_IPTC_EXT + Metadata.NAMESPACE_PREFIX_DELIMITER + "MaxAvailWidth");
 
 	/**
 	 * The version number of the PLUS standards in place at the time of the
@@ -767,7 +771,7 @@
 	 * "PLUS Version" should be set to the string "1.2.0"
 	 */
 	Property PLUS_VERSION = Property.internalText(
-			PREFIX_PLUS + PREFIX_DELIMITER + "Version");
+			PREFIX_PLUS + Metadata.NAMESPACE_PREFIX_DELIMITER + "Version");
 
 	/**
 	 * Owner or owners of the copyright in the licensed image.
@@ -779,7 +783,7 @@
 	 * schema.
 	 */
 	Property COPYRIGHT_OWNER = Property.internalTextBag(
-			PREFIX_PLUS + PREFIX_DELIMITER + "CopyrightOwner");
+			PREFIX_PLUS + Metadata.NAMESPACE_PREFIX_DELIMITER + "CopyrightOwner");
 
 	/**
 	 * The ID of the owner or owners of the copyright in the licensed image.
@@ -791,7 +795,7 @@
 	 * schema.
 	 */
 	Property COPYRIGHT_OWNER_ID = Property.internalTextBag(
-			PREFIX_PLUS + PREFIX_DELIMITER + "CopyrightOwnerId");
+			PREFIX_PLUS + Metadata.NAMESPACE_PREFIX_DELIMITER + "CopyrightOwnerId");
 
 	/**
 	 * The name of the owner or owners of the copyright in the licensed image.
@@ -803,7 +807,7 @@
 	 * schema.
 	 */
 	Property COPYRIGHT_OWNER_NAME = Property.internalTextBag(
-			PREFIX_PLUS + PREFIX_DELIMITER + "CopyrightOwnerName");
+			PREFIX_PLUS + Metadata.NAMESPACE_PREFIX_DELIMITER + "CopyrightOwnerName");
 
 	/**
 	 * Creator or creators of the image.
@@ -818,7 +822,7 @@
 	 * schema.
 	 */
 	Property IMAGE_CREATOR = Property.internalTextBag(
-			PREFIX_PLUS + PREFIX_DELIMITER + "ImageCreator");
+			PREFIX_PLUS + Metadata.NAMESPACE_PREFIX_DELIMITER + "ImageCreator");
 
 	/**
 	 * The ID of the creator or creators of the image.
@@ -833,7 +837,7 @@
 	 * schema.
 	 */
 	Property IMAGE_CREATOR_ID = Property.internalTextBag(
-			PREFIX_PLUS + PREFIX_DELIMITER + "ImageCreatorId");
+			PREFIX_PLUS + Metadata.NAMESPACE_PREFIX_DELIMITER + "ImageCreatorId");
 
 	/**
 	 * The name of the creator or creators of the image.
@@ -848,7 +852,7 @@
 	 * schema.
 	 */
 	Property IMAGE_CREATOR_NAME = Property.internalTextBag(
-			PREFIX_PLUS + PREFIX_DELIMITER + "ImageCreatorName");
+			PREFIX_PLUS + Metadata.NAMESPACE_PREFIX_DELIMITER + "ImageCreatorName");
 
 	/**
 	 * A person or company that should be contacted to obtain a licence for
@@ -858,7 +862,7 @@
 	 * schema.
 	 */
 	Property LICENSOR = Property.internalTextBag(
-			PREFIX_PLUS + PREFIX_DELIMITER + "Licensor");
+			PREFIX_PLUS + Metadata.NAMESPACE_PREFIX_DELIMITER + "Licensor");
 
 	/**
 	 * The ID of the person or company that should be contacted to obtain a licence for
@@ -868,7 +872,7 @@
 	 * schema.
 	 */
 	Property LICENSOR_ID = Property.internalTextBag(
-			PREFIX_PLUS + PREFIX_DELIMITER + "LicensorId");
+			PREFIX_PLUS + Metadata.NAMESPACE_PREFIX_DELIMITER + "LicensorId");
 
 	/**
 	 * The name of the person or company that should be contacted to obtain a licence for
@@ -878,7 +882,7 @@
 	 * schema.
 	 */
 	Property LICENSOR_NAME = Property.internalTextBag(
-			PREFIX_PLUS + PREFIX_DELIMITER + "LicensorName");
+			PREFIX_PLUS + Metadata.NAMESPACE_PREFIX_DELIMITER + "LicensorName");
 
 	/**
 	 * The city of a person or company that should be contacted to obtain a licence for
@@ -888,7 +892,7 @@
 	 * schema.
 	 */
 	Property LICENSOR_CITY = Property.internalTextBag(
-			PREFIX_PLUS + PREFIX_DELIMITER + "LicensorCity");
+			PREFIX_PLUS + Metadata.NAMESPACE_PREFIX_DELIMITER + "LicensorCity");
 
 	/**
 	 * The country of a person or company that should be contacted to obtain a licence for
@@ -898,7 +902,7 @@
 	 * schema.
 	 */
 	Property LICENSOR_COUNTRY = Property.internalTextBag(
-			PREFIX_PLUS + PREFIX_DELIMITER + "LicensorCountry");
+			PREFIX_PLUS + Metadata.NAMESPACE_PREFIX_DELIMITER + "LicensorCountry");
 
 	/**
 	 * The email of a person or company that should be contacted to obtain a licence for
@@ -908,7 +912,7 @@
 	 * schema.
 	 */
 	Property LICENSOR_EMAIL = Property.internalTextBag(
-			PREFIX_PLUS + PREFIX_DELIMITER + "LicensorEmail");
+			PREFIX_PLUS + Metadata.NAMESPACE_PREFIX_DELIMITER + "LicensorEmail");
 
 	/**
 	 * The extended address of a person or company that should be contacted to obtain a licence for
@@ -918,7 +922,7 @@
 	 * schema.
 	 */
 	Property LICENSOR_EXTENDED_ADDRESS = Property.internalTextBag(
-			PREFIX_PLUS + PREFIX_DELIMITER + "LicensorExtendedAddress");
+			PREFIX_PLUS + Metadata.NAMESPACE_PREFIX_DELIMITER + "LicensorExtendedAddress");
 
 	/**
 	 * The postal code of a person or company that should be contacted to obtain a licence for
@@ -928,7 +932,7 @@
 	 * schema.
 	 */
 	Property LICENSOR_POSTAL_CODE = Property.internalTextBag(
-			PREFIX_PLUS + PREFIX_DELIMITER + "LicensorPostalCode");
+			PREFIX_PLUS + Metadata.NAMESPACE_PREFIX_DELIMITER + "LicensorPostalCode");
 
 	/**
 	 * The region of a person or company that should be contacted to obtain a licence for
@@ -938,7 +942,7 @@
 	 * schema.
 	 */
 	Property LICENSOR_REGION = Property.internalTextBag(
-			PREFIX_PLUS + PREFIX_DELIMITER + "LicensorRegion");
+			PREFIX_PLUS + Metadata.NAMESPACE_PREFIX_DELIMITER + "LicensorRegion");
 
 	/**
 	 * The street address of a person or company that should be contacted to obtain a licence for
@@ -948,7 +952,7 @@
 	 * schema.
 	 */
 	Property LICENSOR_STREET_ADDRESS = Property.internalTextBag(
-			PREFIX_PLUS + PREFIX_DELIMITER + "LicensorStreetAddress");
+			PREFIX_PLUS + Metadata.NAMESPACE_PREFIX_DELIMITER + "LicensorStreetAddress");
 
 	/**
 	 * The phone number of a person or company that should be contacted to obtain a licence for
@@ -958,7 +962,7 @@
 	 * schema.
 	 */
 	Property LICENSOR_TELEPHONE_1 = Property.internalTextBag(
-			PREFIX_PLUS + PREFIX_DELIMITER + "LicensorTelephone1");
+			PREFIX_PLUS + Metadata.NAMESPACE_PREFIX_DELIMITER + "LicensorTelephone1");
 
 	/**
 	 * The phone number of a person or company that should be contacted to obtain a licence for
@@ -968,7 +972,7 @@
 	 * schema.
 	 */
 	Property LICENSOR_TELEPHONE_2 = Property.internalTextBag(
-			PREFIX_PLUS + PREFIX_DELIMITER + "LicensorTelephone2");
+			PREFIX_PLUS + Metadata.NAMESPACE_PREFIX_DELIMITER + "LicensorTelephone2");
 
 	/**
 	 * The URL of a person or company that should be contacted to obtain a licence for
@@ -978,7 +982,7 @@
 	 * schema.
 	 */
 	Property LICENSOR_URL = Property.internalTextBag(
-			PREFIX_PLUS + PREFIX_DELIMITER + "LicensorURL");
+			PREFIX_PLUS + Metadata.NAMESPACE_PREFIX_DELIMITER + "LicensorURL");
 
 	/**
 	 * Age of the youngest model pictured in the image, at the time that the
@@ -992,7 +996,7 @@
 	 * schema.
 	 */
 	Property MINOR_MODEL_AGE_DISCLOSURE = Property.internalText(
-			PREFIX_PLUS + PREFIX_DELIMITER + "MinorModelAgeDisclosure");
+			PREFIX_PLUS + Metadata.NAMESPACE_PREFIX_DELIMITER + "MinorModelAgeDisclosure");
 
 	/**
 	 * Optional identifier associated with each Model Release.
@@ -1001,7 +1005,7 @@
 	 * schema.
 	 */
 	Property MODEL_RELEASE_ID = Property.internalTextBag(
-			PREFIX_PLUS + PREFIX_DELIMITER + "ModelReleaseID");
+			PREFIX_PLUS + Metadata.NAMESPACE_PREFIX_DELIMITER + "ModelReleaseID");
 
 	/**
 	 * Summarizes the availability and scope of model releases authorizing usage
@@ -1015,7 +1019,7 @@
 	 * schema.
 	 */
 	Property MODEL_RELEASE_STATUS = Property.internalText(
-			PREFIX_PLUS + PREFIX_DELIMITER + "ModelReleaseStatus");
+			PREFIX_PLUS + Metadata.NAMESPACE_PREFIX_DELIMITER + "ModelReleaseStatus");
 
 	/**
 	 * Optional identifier associated with each Property Release.
@@ -1024,7 +1028,7 @@
 	 * schema.
 	 */
 	Property PROPERTY_RELEASE_ID = Property.internalTextBag(
-			PREFIX_PLUS + PREFIX_DELIMITER + "PropertyReleaseID");
+			PREFIX_PLUS + Metadata.NAMESPACE_PREFIX_DELIMITER + "PropertyReleaseID");
 
 	/**
 	 * Summarises the availability and scope of property releases authorizing
@@ -1037,7 +1041,7 @@
 	 * schema.
 	 */
 	Property PROPERTY_RELEASE_STATUS = Property.internalText(
-			PREFIX_PLUS + PREFIX_DELIMITER + "PropertyReleaseStatus");
+			PREFIX_PLUS + Metadata.NAMESPACE_PREFIX_DELIMITER + "PropertyReleaseStatus");
 
 	/**
 	 * Contains any necessary copyright notice for claiming the intellectual
@@ -1046,13 +1050,13 @@
 	 * property rights.
 	 */
 	Property ARTWORK_OR_OBJECT_DETAIL_COPYRIGHT_NOTICE = Property.internalText(
-			PREFIX_IPTC_EXT + PREFIX_DELIMITER + "AOCopyrightNotice");
+			PREFIX_IPTC_EXT + Metadata.NAMESPACE_PREFIX_DELIMITER + "AOCopyrightNotice");
 
 	/**
 	 * Contains the name of the artist who has created artwork or an object in the image.
 	 */
 	Property ARTWORK_OR_OBJECT_DETAIL_CREATOR = Property.internalText(
-			PREFIX_IPTC_EXT + PREFIX_DELIMITER + "AOCreator");
+			PREFIX_IPTC_EXT + Metadata.NAMESPACE_PREFIX_DELIMITER + "AOCreator");
 
 	/**
 	 * Designates the date and optionally the time the artwork or object in the
@@ -1060,34 +1064,34 @@
 	 * intellectual property rights.
 	 */
 	Property ARTWORK_OR_OBJECT_DETAIL_DATE_CREATED = Property.internalDate(
-			PREFIX_IPTC_EXT + PREFIX_DELIMITER + "AODateCreated");
+			PREFIX_IPTC_EXT + Metadata.NAMESPACE_PREFIX_DELIMITER + "AODateCreated");
 
 	/**
 	 * The organisation or body holding and registering the artwork or object in
 	 * the image for inventory purposes.
 	 */
 	Property ARTWORK_OR_OBJECT_DETAIL_SOURCE = Property.internalText(
-			PREFIX_IPTC_EXT + PREFIX_DELIMITER + "AOSource");
+			PREFIX_IPTC_EXT + Metadata.NAMESPACE_PREFIX_DELIMITER + "AOSource");
 
 	/**
 	 * The inventory number issued by the organisation or body holding and
 	 * registering the artwork or object in the image.
 	 */
 	Property ARTWORK_OR_OBJECT_DETAIL_SOURCE_INVENTORY_NUMBER = Property.internalText(
-			PREFIX_IPTC_EXT + PREFIX_DELIMITER + "AOSourceInvNo");
+			PREFIX_IPTC_EXT + Metadata.NAMESPACE_PREFIX_DELIMITER + "AOSourceInvNo");
 
 	/**
 	 * A reference for the artwork or object in the image.
 	 */
 	Property ARTWORK_OR_OBJECT_DETAIL_TITLE = Property.internalText(
-			PREFIX_IPTC_EXT + PREFIX_DELIMITER + "AOTitle");
+			PREFIX_IPTC_EXT + Metadata.NAMESPACE_PREFIX_DELIMITER + "AOTitle");
 
 	/**
 	 * Name of the city of a location. This element is at the fourth level of a
 	 * top-down geographical hierarchy.
 	 */
 	Property LOCATION_SHOWN_CITY = Property.internalText(
-			PREFIX_IPTC_EXT + PREFIX_DELIMITER + "LocationShownCity");
+			PREFIX_IPTC_EXT + Metadata.NAMESPACE_PREFIX_DELIMITER + "LocationShownCity");
 
 	/**
 	 * The ISO code of a country of a location. This element is at the second
@@ -1098,14 +1102,14 @@
 	 * scheme as no explicit indication can be provided.
 	 */
 	Property LOCATION_SHOWN_COUNTRY_CODE = Property.internalText(
-			PREFIX_IPTC_EXT + PREFIX_DELIMITER + "LocationShownCountryCode");
+			PREFIX_IPTC_EXT + Metadata.NAMESPACE_PREFIX_DELIMITER + "LocationShownCountryCode");
 
 	/**
 	 * The name of a country of a location. This element is at the second level
 	 * of a top-down geographical hierarchy.
 	 */
 	Property LOCATION_SHOWN_COUNTRY_NAME = Property.internalText(
-			PREFIX_IPTC_EXT + PREFIX_DELIMITER + "LocationShownCountryName");
+			PREFIX_IPTC_EXT + Metadata.NAMESPACE_PREFIX_DELIMITER + "LocationShownCountryName");
 
 	/**
 	 * The name of a subregion of a country - a province or state - of a
@@ -1113,7 +1117,7 @@
 	 * hierarchy.
 	 */
 	Property LOCATION_SHOWN_PROVINCE_OR_STATE = Property.internalText(
-			PREFIX_IPTC_EXT + PREFIX_DELIMITER + "LocationShownProvinceState");
+			PREFIX_IPTC_EXT + Metadata.NAMESPACE_PREFIX_DELIMITER + "LocationShownProvinceState");
 
 	/**
 	 * Name of a sublocation. This sublocation name could either be the name of
@@ -1122,21 +1126,21 @@
 	 * element is at the fifth level of a top-down geographical hierarchy.
 	 */
 	Property LOCATION_SHOWN_SUBLOCATION = Property.internalText(
-			PREFIX_IPTC_EXT + PREFIX_DELIMITER + "LocationShownSublocation");
+			PREFIX_IPTC_EXT + Metadata.NAMESPACE_PREFIX_DELIMITER + "LocationShownSublocation");
 
 	/**
 	 * The name of a world region of a location. This element is at the first
 	 * (topI) level of a top- down geographical hierarchy.
 	 */
 	Property LOCATION_SHOWN_WORLD_REGION = Property.internalText(
-			PREFIX_IPTC_EXT + PREFIX_DELIMITER + "LocationShownWorldRegion");
+			PREFIX_IPTC_EXT + Metadata.NAMESPACE_PREFIX_DELIMITER + "LocationShownWorldRegion");
 
 	/**
 	 * Name of the city of a location. This element is at the fourth level of a
 	 * top-down geographical hierarchy.
 	 */
 	Property LOCATION_CREATED_CITY = Property.internalText(
-			PREFIX_IPTC_EXT + PREFIX_DELIMITER + "LocationCreatedCity");
+			PREFIX_IPTC_EXT + Metadata.NAMESPACE_PREFIX_DELIMITER + "LocationCreatedCity");
 
 	/**
 	 * The ISO code of a country of a location. This element is at the second
@@ -1147,14 +1151,14 @@
 	 * scheme as no explicit indication can be provided.
 	 */
 	Property LOCATION_CREATED_COUNTRY_CODE = Property.internalText(
-			PREFIX_IPTC_EXT + PREFIX_DELIMITER + "LocationCreatedCountryCode");
+			PREFIX_IPTC_EXT + Metadata.NAMESPACE_PREFIX_DELIMITER + "LocationCreatedCountryCode");
 
 	/**
 	 * The name of a country of a location. This element is at the second level
 	 * of a top-down geographical hierarchy.
 	 */
 	Property LOCATION_CREATED_COUNTRY_NAME = Property.internalText(
-			PREFIX_IPTC_EXT + PREFIX_DELIMITER + "LocationCreatedCountryName");
+			PREFIX_IPTC_EXT + Metadata.NAMESPACE_PREFIX_DELIMITER + "LocationCreatedCountryName");
 
 	/**
 	 * The name of a subregion of a country - a province or state - of a
@@ -1162,7 +1166,7 @@
 	 * hierarchy.
 	 */
 	Property LOCATION_CREATED_PROVINCE_OR_STATE = Property.internalText(
-			PREFIX_IPTC_EXT + PREFIX_DELIMITER + "LocationCreatedProvinceState");
+			PREFIX_IPTC_EXT + Metadata.NAMESPACE_PREFIX_DELIMITER + "LocationCreatedProvinceState");
 
 	/**
 	 * Name of a sublocation. This sublocation name could either be the name of
@@ -1171,14 +1175,14 @@
 	 * element is at the fifth level of a top-down geographical hierarchy.
 	 */
 	Property LOCATION_CREATED_SUBLOCATION = Property.internalText(
-			PREFIX_IPTC_EXT + PREFIX_DELIMITER + "LocationCreatedSublocation");
+			PREFIX_IPTC_EXT + Metadata.NAMESPACE_PREFIX_DELIMITER + "LocationCreatedSublocation");
 
 	/**
 	 * The name of a world region of a location. This element is at the first
 	 * (topI) level of a top- down geographical hierarchy.
 	 */
 	Property LOCATION_CREATED_WORLD_REGION = Property.internalText(
-			PREFIX_IPTC_EXT + PREFIX_DELIMITER + "LocationCreatedWorldRegion");
+			PREFIX_IPTC_EXT + Metadata.NAMESPACE_PREFIX_DELIMITER + "LocationCreatedWorldRegion");
 
 	/**
 	 * A unique identifier created by a registry and applied by the creator of
@@ -1186,23 +1190,23 @@
 	 * identifier is linked to a corresponding Registry Organisation Identifier.
 	 */
 	Property REGISTRY_ENTRY_CREATED_ITEM_ID = Property.internalText(
-			PREFIX_IPTC_EXT + PREFIX_DELIMITER + "RegItemId");
+			PREFIX_IPTC_EXT + Metadata.NAMESPACE_PREFIX_DELIMITER + "RegItemId");
 
 	/**
 	 * An identifier for the registry which issued the corresponding Registry Image Id.
 	 */
 	Property REGISTRY_ENTRY_CREATED_ORGANISATION_ID = Property.internalText(
-			PREFIX_IPTC_EXT + PREFIX_DELIMITER + "RegOrgId");
+			PREFIX_IPTC_EXT + Metadata.NAMESPACE_PREFIX_DELIMITER + "RegOrgId");
 
 
 	Property[] PROPERTY_GROUP_IPTC_CORE = new Property[] {
 		CITY,
 		COUNTRY,
 		COUNTRY_CODE,
-		DESCRIPTION_DCPROPERTY,
+		DESCRIPTION,
 		HEADLINE,
 		INTELLECTUAL_GENRE,
-		KEYWORDS_DCPROPERTY,
+		KEYWORDS,
 		PROVINCE_OR_STATE,
 		SCENE_CODE,
 		SUBJECT_CODE,
@@ -1211,9 +1215,9 @@
 		DESCRIPTION_WRITER,
 		INSTRUCTIONS,
 		JOB_ID,
-		TITLE_DCPROPERTY,
+		TITLE,
 		COPYRIGHT_NOTICE,
-		CREATOR_DCPROPERTY,
+		CREATOR,
 		CREATORS_JOB_TITLE,
 		CREDIT_LINE,
 		RIGHTS_USAGE_TERMS,
Index: src/main/java/org/apache/tika/metadata/Photoshop.java
===================================================================
--- src/main/java/org/apache/tika/metadata/Photoshop.java	(revision 0)
+++ src/main/java/org/apache/tika/metadata/Photoshop.java	(revision 0)
@@ -0,0 +1,79 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * IPTC Metadata Descriptions taken from the IPTC Photo Metadata (July 2010) 
+ * standard. These parts Copyright 2010 International Press Telecommunications 
+ * Council.
+ */
+package org.apache.tika.metadata;
+
+/**
+ * XMP Photoshop metadata schema. 
+ * 
+ * A collection of property constants for the 
+ * Photo Metadata properties defined in the XMP Photoshop
+ * standard.
+ * 
+ * @see <a href="http://partners.adobe.com/public/developer/en/xmp/sdk/XMPspecification.pdf">XMP Photoshop</a>
+ */
+public interface Photoshop {
+
+    String NAMESPACE_URI_PHOTOSHOP = "http://ns.adobe.com/photoshop/1.0/";
+    String PREFIX_PHOTOSHOP = "photoshop";
+
+    Property AUTHORS_POSITION = Property.internalText(
+            PREFIX_PHOTOSHOP + Metadata.NAMESPACE_PREFIX_DELIMITER + "AuthorsPosition");
+
+    Property CAPTION_WRITER = Property.internalText(
+            PREFIX_PHOTOSHOP + Metadata.NAMESPACE_PREFIX_DELIMITER + "CaptionWriter");
+
+    Property CATEGORY = Property.internalText(
+            PREFIX_PHOTOSHOP + Metadata.NAMESPACE_PREFIX_DELIMITER + "Category");
+
+    Property CITY = Property.internalText(
+            PREFIX_PHOTOSHOP + Metadata.NAMESPACE_PREFIX_DELIMITER + "City");
+
+    Property COUNTRY = Property.internalText(
+            PREFIX_PHOTOSHOP + Metadata.NAMESPACE_PREFIX_DELIMITER + "Country");
+
+    Property CREDIT = Property.internalText(
+            PREFIX_PHOTOSHOP + Metadata.NAMESPACE_PREFIX_DELIMITER + "Credit");
+
+    Property DATE_CREATED = Property.internalDate(
+            PREFIX_PHOTOSHOP + Metadata.NAMESPACE_PREFIX_DELIMITER + "DateCreated");
+
+    Property HEADLINE = Property.internalText(
+            PREFIX_PHOTOSHOP + Metadata.NAMESPACE_PREFIX_DELIMITER + "Headline");
+
+    Property INSTRUCTIONS = Property.internalText(
+            PREFIX_PHOTOSHOP + Metadata.NAMESPACE_PREFIX_DELIMITER + "Instructions");
+
+    Property SOURCE = Property.internalText(
+            PREFIX_PHOTOSHOP + Metadata.NAMESPACE_PREFIX_DELIMITER + "Source");
+
+    Property STATE = Property.internalText(
+            PREFIX_PHOTOSHOP + Metadata.NAMESPACE_PREFIX_DELIMITER + "State");
+
+    Property SUPPLEMENTAL_CATEGORIES = Property.internalTextBag(
+            PREFIX_PHOTOSHOP + Metadata.NAMESPACE_PREFIX_DELIMITER + "SupplementalCategories");
+
+    Property TRANSMISSION_REFERENCE = Property.internalText(
+            PREFIX_PHOTOSHOP + Metadata.NAMESPACE_PREFIX_DELIMITER + "TransmissionReference");
+
+    Property URGENCY = Property.internalText(
+            PREFIX_PHOTOSHOP + Metadata.NAMESPACE_PREFIX_DELIMITER + "Urgency");
+
+}
\ No newline at end of file
Index: src/main/java/org/apache/tika/metadata/XMPRights.java
===================================================================
--- src/main/java/org/apache/tika/metadata/XMPRights.java	(revision 0)
+++ src/main/java/org/apache/tika/metadata/XMPRights.java	(revision 0)
@@ -0,0 +1,52 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * IPTC Metadata Descriptions taken from the IPTC Photo Metadata (July 2010) 
+ * standard. These parts Copyright 2010 International Press Telecommunications 
+ * Council.
+ */
+package org.apache.tika.metadata;
+
+/**
+ * XMP Rights management schema. 
+ * 
+ * A collection of property constants for the 
+ * rights management properties defined in the XMP 
+ * standard.
+ * 
+ * @see <a href="http://partners.adobe.com/public/developer/en/xmp/sdk/XMPspecification.pdf">XMP Photoshop</a>
+ */
+public interface XMPRights {
+
+    String NAMESPACE_URI_XMP_RIGHTS = "http://ns.adobe.com/xap/1.0/rights/";
+    String PREFIX_XMP_RIGHTS = "xmpRights";
+    
+    Property CERTIFICATE = Property.internalText(
+            PREFIX_XMP_RIGHTS + Metadata.NAMESPACE_PREFIX_DELIMITER + "Certificate");
+    
+    Property MARKED = Property.internalBoolean(
+            PREFIX_XMP_RIGHTS + Metadata.NAMESPACE_PREFIX_DELIMITER + "Marked");
+    
+    Property OWNER = Property.internalTextBag(
+            PREFIX_XMP_RIGHTS + Metadata.NAMESPACE_PREFIX_DELIMITER + "Owner");
+    
+    Property USAGE_TERMS = Property.internalText(
+            PREFIX_XMP_RIGHTS + Metadata.NAMESPACE_PREFIX_DELIMITER + "UsageTerms");
+    
+    Property WEB_STATEMENT = Property.internalText(
+            PREFIX_XMP_RIGHTS + Metadata.NAMESPACE_PREFIX_DELIMITER + "WebStatement");
+
+}
\ No newline at end of file
