summaryrefslogtreecommitdiff
path: root/java/XMPCore/src/com/adobe
diff options
context:
space:
mode:
Diffstat (limited to 'java/XMPCore/src/com/adobe')
-rw-r--r--java/XMPCore/src/com/adobe/xmp/XMPConst.java2
-rw-r--r--java/XMPCore/src/com/adobe/xmp/XMPDateTime.java2
-rw-r--r--java/XMPCore/src/com/adobe/xmp/XMPDateTimeFactory.java2
-rw-r--r--java/XMPCore/src/com/adobe/xmp/XMPError.java2
-rw-r--r--java/XMPCore/src/com/adobe/xmp/XMPException.java2
-rw-r--r--java/XMPCore/src/com/adobe/xmp/XMPIterator.java2
-rw-r--r--java/XMPCore/src/com/adobe/xmp/XMPMeta.java18
-rw-r--r--java/XMPCore/src/com/adobe/xmp/XMPMetaFactory.java26
-rw-r--r--java/XMPCore/src/com/adobe/xmp/XMPPathFactory.java2
-rw-r--r--java/XMPCore/src/com/adobe/xmp/XMPSchemaRegistry.java59
-rw-r--r--java/XMPCore/src/com/adobe/xmp/XMPUtils.java2
-rw-r--r--java/XMPCore/src/com/adobe/xmp/XMPVersionInfo.java2
-rw-r--r--java/XMPCore/src/com/adobe/xmp/impl/Base64.java2
-rw-r--r--java/XMPCore/src/com/adobe/xmp/impl/ByteBuffer.java2
-rw-r--r--java/XMPCore/src/com/adobe/xmp/impl/CountOutputStream.java2
-rw-r--r--java/XMPCore/src/com/adobe/xmp/impl/FixASCIIControlsReader.java2
-rw-r--r--java/XMPCore/src/com/adobe/xmp/impl/ISO8601Converter.java2
-rw-r--r--java/XMPCore/src/com/adobe/xmp/impl/Latin1Converter.java2
-rw-r--r--java/XMPCore/src/com/adobe/xmp/impl/ParameterAsserts.java2
-rw-r--r--java/XMPCore/src/com/adobe/xmp/impl/ParseRDF.java33
-rw-r--r--java/XMPCore/src/com/adobe/xmp/impl/QName.java2
-rw-r--r--java/XMPCore/src/com/adobe/xmp/impl/Utils.java2
-rw-r--r--java/XMPCore/src/com/adobe/xmp/impl/XMPDateTimeImpl.java2
-rw-r--r--java/XMPCore/src/com/adobe/xmp/impl/XMPIteratorImpl.java2
-rw-r--r--java/XMPCore/src/com/adobe/xmp/impl/XMPMetaImpl.java16
-rw-r--r--java/XMPCore/src/com/adobe/xmp/impl/XMPMetaParser.java33
-rw-r--r--java/XMPCore/src/com/adobe/xmp/impl/XMPNode.java2
-rw-r--r--java/XMPCore/src/com/adobe/xmp/impl/XMPNodeUtils.java2
-rw-r--r--java/XMPCore/src/com/adobe/xmp/impl/XMPNormalizer.java2
-rw-r--r--java/XMPCore/src/com/adobe/xmp/impl/XMPSchemaRegistryImpl.java52
-rw-r--r--java/XMPCore/src/com/adobe/xmp/impl/XMPSerializerHelper.java2
-rw-r--r--java/XMPCore/src/com/adobe/xmp/impl/XMPSerializerRDF.java29
-rw-r--r--java/XMPCore/src/com/adobe/xmp/impl/XMPUtilsImpl.java6
-rw-r--r--java/XMPCore/src/com/adobe/xmp/impl/xpath/XMPPath.java2
-rw-r--r--java/XMPCore/src/com/adobe/xmp/impl/xpath/XMPPathParser.java8
-rw-r--r--java/XMPCore/src/com/adobe/xmp/impl/xpath/XMPPathSegment.java2
-rw-r--r--java/XMPCore/src/com/adobe/xmp/options/AliasOptions.java6
-rw-r--r--java/XMPCore/src/com/adobe/xmp/options/IteratorOptions.java2
-rw-r--r--java/XMPCore/src/com/adobe/xmp/options/Options.java2
-rw-r--r--java/XMPCore/src/com/adobe/xmp/options/ParseOptions.java40
-rw-r--r--java/XMPCore/src/com/adobe/xmp/options/PropertyOptions.java36
-rw-r--r--java/XMPCore/src/com/adobe/xmp/options/SerializeOptions.java27
-rw-r--r--java/XMPCore/src/com/adobe/xmp/properties/XMPAliasInfo.java9
-rw-r--r--java/XMPCore/src/com/adobe/xmp/properties/XMPProperty.java2
-rw-r--r--java/XMPCore/src/com/adobe/xmp/properties/XMPPropertyInfo.java2
-rw-r--r--java/XMPCore/src/com/adobe/xmp/version.properties15
46 files changed, 206 insertions, 267 deletions
diff --git a/java/XMPCore/src/com/adobe/xmp/XMPConst.java b/java/XMPCore/src/com/adobe/xmp/XMPConst.java
index 3f741f3..61a5ca8 100644
--- a/java/XMPCore/src/com/adobe/xmp/XMPConst.java
+++ b/java/XMPCore/src/com/adobe/xmp/XMPConst.java
@@ -1,6 +1,6 @@
// =================================================================================================
// ADOBE SYSTEMS INCORPORATED
-// Copyright 2006-2007 Adobe Systems Incorporated
+// Copyright 2006 Adobe Systems Incorporated
// All Rights Reserved
//
// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms
diff --git a/java/XMPCore/src/com/adobe/xmp/XMPDateTime.java b/java/XMPCore/src/com/adobe/xmp/XMPDateTime.java
index 918adcf..505d580 100644
--- a/java/XMPCore/src/com/adobe/xmp/XMPDateTime.java
+++ b/java/XMPCore/src/com/adobe/xmp/XMPDateTime.java
@@ -1,6 +1,6 @@
// =================================================================================================
// ADOBE SYSTEMS INCORPORATED
-// Copyright 2006-2007 Adobe Systems Incorporated
+// Copyright 2006 Adobe Systems Incorporated
// All Rights Reserved
//
// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms
diff --git a/java/XMPCore/src/com/adobe/xmp/XMPDateTimeFactory.java b/java/XMPCore/src/com/adobe/xmp/XMPDateTimeFactory.java
index 9eebc4b..ec0a116 100644
--- a/java/XMPCore/src/com/adobe/xmp/XMPDateTimeFactory.java
+++ b/java/XMPCore/src/com/adobe/xmp/XMPDateTimeFactory.java
@@ -1,6 +1,6 @@
// =================================================================================================
// ADOBE SYSTEMS INCORPORATED
-// Copyright 2006-2007 Adobe Systems Incorporated
+// Copyright 2006 Adobe Systems Incorporated
// All Rights Reserved
//
// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms
diff --git a/java/XMPCore/src/com/adobe/xmp/XMPError.java b/java/XMPCore/src/com/adobe/xmp/XMPError.java
index ebf040d..c04c834 100644
--- a/java/XMPCore/src/com/adobe/xmp/XMPError.java
+++ b/java/XMPCore/src/com/adobe/xmp/XMPError.java
@@ -1,6 +1,6 @@
// =================================================================================================
// ADOBE SYSTEMS INCORPORATED
-// Copyright 2006-2007 Adobe Systems Incorporated
+// Copyright 2006 Adobe Systems Incorporated
// All Rights Reserved
//
// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms
diff --git a/java/XMPCore/src/com/adobe/xmp/XMPException.java b/java/XMPCore/src/com/adobe/xmp/XMPException.java
index 0210143..087b0e8 100644
--- a/java/XMPCore/src/com/adobe/xmp/XMPException.java
+++ b/java/XMPCore/src/com/adobe/xmp/XMPException.java
@@ -1,6 +1,6 @@
// =================================================================================================
// ADOBE SYSTEMS INCORPORATED
-// Copyright 2006-2007 Adobe Systems Incorporated
+// Copyright 2006 Adobe Systems Incorporated
// All Rights Reserved
//
// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms
diff --git a/java/XMPCore/src/com/adobe/xmp/XMPIterator.java b/java/XMPCore/src/com/adobe/xmp/XMPIterator.java
index b70e0a5..fa4edf6 100644
--- a/java/XMPCore/src/com/adobe/xmp/XMPIterator.java
+++ b/java/XMPCore/src/com/adobe/xmp/XMPIterator.java
@@ -1,6 +1,6 @@
// =================================================================================================
// ADOBE SYSTEMS INCORPORATED
-// Copyright 2006-2007 Adobe Systems Incorporated
+// Copyright 2006 Adobe Systems Incorporated
// All Rights Reserved
//
// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms
diff --git a/java/XMPCore/src/com/adobe/xmp/XMPMeta.java b/java/XMPCore/src/com/adobe/xmp/XMPMeta.java
index 1d40688..dab0502 100644
--- a/java/XMPCore/src/com/adobe/xmp/XMPMeta.java
+++ b/java/XMPCore/src/com/adobe/xmp/XMPMeta.java
@@ -1,6 +1,6 @@
// =================================================================================================
// ADOBE SYSTEMS INCORPORATED
-// Copyright 2006-2007 Adobe Systems Incorporated
+// Copyright 2006 Adobe Systems Incorporated
// All Rights Reserved
//
// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms
@@ -12,6 +12,7 @@ package com.adobe.xmp;
import java.util.Calendar;
import com.adobe.xmp.options.IteratorOptions;
+import com.adobe.xmp.options.ParseOptions;
import com.adobe.xmp.options.PropertyOptions;
import com.adobe.xmp.properties.XMPProperty;
@@ -1152,7 +1153,20 @@ public interface XMPMeta extends Cloneable
* </ul>
*/
void sort();
-
+
+
+ /**
+ * Perform the normalization as a separate parsing step.
+ * Normally it is done during parsing, unless the parsing option
+ * {@link ParseOptions#OMIT_NORMALIZATION} is set to <code>true</code>.
+ * <em>Note:</em> It does no harm to call this method to an already normalized xmp object.
+ * It was a PDF/A requirement to get hand on the unnormalized <code>XMPMeta</code> object.
+ *
+ * @param options optional parsing options.
+ * @throws XMPException Wraps all errors and exceptions that may occur.
+ */
+ void normalize(ParseOptions options) throws XMPException;
+
/**
* Renders this node and the tree unter this node in a human readable form.
diff --git a/java/XMPCore/src/com/adobe/xmp/XMPMetaFactory.java b/java/XMPCore/src/com/adobe/xmp/XMPMetaFactory.java
index 4a3cf7a..afd437a 100644
--- a/java/XMPCore/src/com/adobe/xmp/XMPMetaFactory.java
+++ b/java/XMPCore/src/com/adobe/xmp/XMPMetaFactory.java
@@ -11,7 +11,6 @@ package com.adobe.xmp;
import java.io.InputStream;
import java.io.OutputStream;
-import java.util.Properties;
import com.adobe.xmp.impl.XMPMetaImpl;
import com.adobe.xmp.impl.XMPMetaParser;
@@ -261,24 +260,16 @@ public final class XMPMetaFactory
{
try
{
- Properties versProperties = new Properties();
- versProperties.load(XMPMetaFactory.class.getResourceAsStream("version.properties"));
+ final int major = 5;
+ final int minor = 1;
+ final int micro = 0;
+ final int engBuild = 3;
+ final boolean debug = false;
- final int major = Integer.parseInt(versProperties
- .getProperty("implementation.version.major"));
- final int minor = Integer.parseInt(versProperties
- .getProperty("implementation.version.minor"));
- final int micro = Integer.parseInt(versProperties
- .getProperty("implementation.version.micro"));
- final boolean debug = Boolean.valueOf(
- versProperties.getProperty("implementation.version.debug")).booleanValue();
- final String message;
- final int engBuild;
+ // Adobe XMP Core 5.0-jc001 DEBUG-<branch>.<changelist>, 2009 Jan 28 15:22:38-CET
+ final String message = "Adobe XMP Core 5.1.0-jc003";
+
- message = versProperties.getProperty("implementation.version");
- engBuild = Integer.parseInt(versProperties
- .getProperty("implementation.version.engbuild"));
-
versionInfo = new XMPVersionInfo()
{
public int getMajor()
@@ -321,6 +312,7 @@ public final class XMPMetaFactory
catch (Throwable e)
{
// EMTPY, severe error would be detected during the tests
+ System.out.println(e);
}
}
return versionInfo;
diff --git a/java/XMPCore/src/com/adobe/xmp/XMPPathFactory.java b/java/XMPCore/src/com/adobe/xmp/XMPPathFactory.java
index 50067a3..9d8f632 100644
--- a/java/XMPCore/src/com/adobe/xmp/XMPPathFactory.java
+++ b/java/XMPCore/src/com/adobe/xmp/XMPPathFactory.java
@@ -1,6 +1,6 @@
// =================================================================================================
// ADOBE SYSTEMS INCORPORATED
-// Copyright 2006-2007 Adobe Systems Incorporated
+// Copyright 2006 Adobe Systems Incorporated
// All Rights Reserved
//
// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms
diff --git a/java/XMPCore/src/com/adobe/xmp/XMPSchemaRegistry.java b/java/XMPCore/src/com/adobe/xmp/XMPSchemaRegistry.java
index a523d93..4608a8e 100644
--- a/java/XMPCore/src/com/adobe/xmp/XMPSchemaRegistry.java
+++ b/java/XMPCore/src/com/adobe/xmp/XMPSchemaRegistry.java
@@ -1,6 +1,6 @@
// =================================================================================================
// ADOBE SYSTEMS INCORPORATED
-// Copyright 2006-2007 Adobe Systems Incorporated
+// Copyright 2006 Adobe Systems Incorporated
// All Rights Reserved
//
// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms
@@ -11,7 +11,6 @@ package com.adobe.xmp;
import java.util.Map;
-import com.adobe.xmp.options.AliasOptions;
import com.adobe.xmp.properties.XMPAliasInfo;
/**
@@ -134,43 +133,7 @@ public interface XMPSchemaRegistry
// ---------------------------------------------------------------------------------------------
// Alias Functions
- /**
- * Associates an alias name with an actual name.
- * <p>
- * Define a alias mapping from one namespace/property to another. Both
- * property names must be simple names. An alias can be a direct mapping,
- * where the alias and actual have the same data type. It is also possible
- * to map a simple alias to an item in an array. This can either be to the
- * first item in the array, or to the 'x-default' item in an alt-text array.
- * Multiple alias names may map to the same actual, as long as the forms
- * match. It is a no-op to reregister an alias in an identical fashion.
- *
- * @param aliasNS
- * The namespace URI for the alias. Must not be null or the empty
- * string.
- * @param aliasProp
- * The name of the alias. Must be a simple name, not null or the
- * empty string and not a general path expression.
- * @param actualNS
- * The namespace URI for the actual. Must not be null or the
- * empty string.
- * @param actualProp
- * The name of the actual. Must be a simple name, not null or the
- * empty string and not a general path expression.
- * @param aliasForm
- * Provides options for aliases for simple aliases to array
- * items. This is needed to know what kind of array to create if
- * set for the first time via the simple alias. Pass
- * <code>XMP_NoOptions</code>, the default value, for all
- * direct aliases regardless of whether the actual data type is
- * an array or not (see {@link AliasOptions}).
- * @throws XMPException
- * for inconsistant aliases.
- */
- void registerAlias(String aliasNS, String aliasProp, String actualNS, String actualProp,
- AliasOptions aliasForm) throws XMPException;
-
-
+
/**
* Determines if a name is an alias, and what it is aliased to.
*
@@ -208,24 +171,6 @@ public interface XMPSchemaRegistry
/**
- * Delete an alias.
- * <p>
- * This only deletes the registration of the alias, it does not delete the
- * actual property. It does delete any view of the property through the
- * alias name. It is OK to attempt to delete an alias that does not exist,
- * that is if the alias name is not registered as an alias.
- *
- * @param aliasNS
- * The namespace URI for the alias. Must not be null or the empty
- * string.
- * @param aliasProp
- * The name of the alias. Must be a simple name, not null or the
- * empty string and not a general path expression.
- */
- void deleteAlias(String aliasNS, String aliasProp);
-
-
- /**
* @return Returns the registered aliases as map, where the key is the "qname" (prefix and name)
* and the value an <code>XMPAliasInfo</code>-object.
*/
diff --git a/java/XMPCore/src/com/adobe/xmp/XMPUtils.java b/java/XMPCore/src/com/adobe/xmp/XMPUtils.java
index b54aebb..043d533 100644
--- a/java/XMPCore/src/com/adobe/xmp/XMPUtils.java
+++ b/java/XMPCore/src/com/adobe/xmp/XMPUtils.java
@@ -1,6 +1,6 @@
// =================================================================================================
// ADOBE SYSTEMS INCORPORATED
-// Copyright 2006-2007 Adobe Systems Incorporated
+// Copyright 2006 Adobe Systems Incorporated
// All Rights Reserved
//
// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms
diff --git a/java/XMPCore/src/com/adobe/xmp/XMPVersionInfo.java b/java/XMPCore/src/com/adobe/xmp/XMPVersionInfo.java
index ff7b0c7..24b7c20 100644
--- a/java/XMPCore/src/com/adobe/xmp/XMPVersionInfo.java
+++ b/java/XMPCore/src/com/adobe/xmp/XMPVersionInfo.java
@@ -1,6 +1,6 @@
// =================================================================================================
// ADOBE SYSTEMS INCORPORATED
-// Copyright 2006-2007 Adobe Systems Incorporated
+// Copyright 2006 Adobe Systems Incorporated
// All Rights Reserved
//
// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms
diff --git a/java/XMPCore/src/com/adobe/xmp/impl/Base64.java b/java/XMPCore/src/com/adobe/xmp/impl/Base64.java
index c47d08c..a327876 100644
--- a/java/XMPCore/src/com/adobe/xmp/impl/Base64.java
+++ b/java/XMPCore/src/com/adobe/xmp/impl/Base64.java
@@ -1,6 +1,6 @@
// =================================================================================================
// ADOBE SYSTEMS INCORPORATED
-// Copyright 2001-2005 Adobe Systems Incorporated
+// Copyright 2001 Adobe Systems Incorporated
// All Rights Reserved
//
// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms
diff --git a/java/XMPCore/src/com/adobe/xmp/impl/ByteBuffer.java b/java/XMPCore/src/com/adobe/xmp/impl/ByteBuffer.java
index c8ef03f..22cbc4b 100644
--- a/java/XMPCore/src/com/adobe/xmp/impl/ByteBuffer.java
+++ b/java/XMPCore/src/com/adobe/xmp/impl/ByteBuffer.java
@@ -1,6 +1,6 @@
// =================================================================================================
// ADOBE SYSTEMS INCORPORATED
-// Copyright 2006-2007 Adobe Systems Incorporated
+// Copyright 2006 Adobe Systems Incorporated
// All Rights Reserved
//
// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms
diff --git a/java/XMPCore/src/com/adobe/xmp/impl/CountOutputStream.java b/java/XMPCore/src/com/adobe/xmp/impl/CountOutputStream.java
index c70b653..ded1296 100644
--- a/java/XMPCore/src/com/adobe/xmp/impl/CountOutputStream.java
+++ b/java/XMPCore/src/com/adobe/xmp/impl/CountOutputStream.java
@@ -1,6 +1,6 @@
// =================================================================================================
// ADOBE SYSTEMS INCORPORATED
-// Copyright 2006-2007 Adobe Systems Incorporated
+// Copyright 2006 Adobe Systems Incorporated
// All Rights Reserved
//
// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms
diff --git a/java/XMPCore/src/com/adobe/xmp/impl/FixASCIIControlsReader.java b/java/XMPCore/src/com/adobe/xmp/impl/FixASCIIControlsReader.java
index d248e0d..c6ac7d4 100644
--- a/java/XMPCore/src/com/adobe/xmp/impl/FixASCIIControlsReader.java
+++ b/java/XMPCore/src/com/adobe/xmp/impl/FixASCIIControlsReader.java
@@ -1,6 +1,6 @@
// =================================================================================================
// ADOBE SYSTEMS INCORPORATED
-// Copyright 2006-2007 Adobe Systems Incorporated
+// Copyright 2006 Adobe Systems Incorporated
// All Rights Reserved
//
// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms
diff --git a/java/XMPCore/src/com/adobe/xmp/impl/ISO8601Converter.java b/java/XMPCore/src/com/adobe/xmp/impl/ISO8601Converter.java
index 71fc7df..b38bb16 100644
--- a/java/XMPCore/src/com/adobe/xmp/impl/ISO8601Converter.java
+++ b/java/XMPCore/src/com/adobe/xmp/impl/ISO8601Converter.java
@@ -1,6 +1,6 @@
// =================================================================================================
// ADOBE SYSTEMS INCORPORATED
-// Copyright 2006-2007 Adobe Systems Incorporated
+// Copyright 2006 Adobe Systems Incorporated
// All Rights Reserved
//
// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms
diff --git a/java/XMPCore/src/com/adobe/xmp/impl/Latin1Converter.java b/java/XMPCore/src/com/adobe/xmp/impl/Latin1Converter.java
index a8707a5..118d77d 100644
--- a/java/XMPCore/src/com/adobe/xmp/impl/Latin1Converter.java
+++ b/java/XMPCore/src/com/adobe/xmp/impl/Latin1Converter.java
@@ -1,6 +1,6 @@
// =================================================================================================
// ADOBE SYSTEMS INCORPORATED
-// Copyright 2006-2007 Adobe Systems Incorporated
+// Copyright 2006 Adobe Systems Incorporated
// All Rights Reserved
//
// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms
diff --git a/java/XMPCore/src/com/adobe/xmp/impl/ParameterAsserts.java b/java/XMPCore/src/com/adobe/xmp/impl/ParameterAsserts.java
index 51c156a..78ae5d6 100644
--- a/java/XMPCore/src/com/adobe/xmp/impl/ParameterAsserts.java
+++ b/java/XMPCore/src/com/adobe/xmp/impl/ParameterAsserts.java
@@ -1,6 +1,6 @@
// =================================================================================================
// ADOBE SYSTEMS INCORPORATED
-// Copyright 2006-2007 Adobe Systems Incorporated
+// Copyright 2006 Adobe Systems Incorporated
// All Rights Reserved
//
// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms
diff --git a/java/XMPCore/src/com/adobe/xmp/impl/ParseRDF.java b/java/XMPCore/src/com/adobe/xmp/impl/ParseRDF.java
index 93e3ef0..2b96550 100644
--- a/java/XMPCore/src/com/adobe/xmp/impl/ParseRDF.java
+++ b/java/XMPCore/src/com/adobe/xmp/impl/ParseRDF.java
@@ -1092,24 +1092,12 @@ public class ParseRDF implements XMPError, XMPConst
throws XMPException
{
boolean isLang = XML_LANG.equals(name);
- boolean isCompact = "pxmp:compact".equals(name);
XMPNode newQual = null;
- if (isCompact)
- {
- if (xmpParent.getOptions().isCompositeProperty())
- {
- throw new XMPException("Only structs and arrays can be compact", BADXMP);
- }
- xmpParent.getOptions().setCompact(true);
- }
- else
- {
- // normalize value of language qualifiers
- newQual = new XMPNode(name, isLang ? Utils.normalizeLangValue(value) : value, null);
- xmpParent.addQualifier(newQual);
- }
+ // normalize value of language qualifiers
+ newQual = new XMPNode(name, isLang ? Utils.normalizeLangValue(value) : value, null);
+ xmpParent.addQualifier(newQual);
return newQual;
}
@@ -1162,20 +1150,7 @@ public class ParseRDF implements XMPError, XMPConst
for (int i = 2; i <= xmpParent.getChildrenLength(); i++)
{
XMPNode qualifier = xmpParent.getChild(i);
-
- if ("pxmp:compact".equals(qualifier.getName()))
- {
- // Compactness is an option bit, not an actual qualifier.
- if (!xmpParent.getOptions().isCompositeProperty())
- {
- throw new XMPException("Only structs and arrays can be compact", BADXMP);
- }
- xmpParent.getOptions().setCompact(true);
- }
- else
- {
- xmpParent.addQualifier(qualifier);
- }
+ xmpParent.addQualifier(qualifier);
}
// Move the options and value last, other checks need the parent's original options.
diff --git a/java/XMPCore/src/com/adobe/xmp/impl/QName.java b/java/XMPCore/src/com/adobe/xmp/impl/QName.java
index 0e9e868..783f792 100644
--- a/java/XMPCore/src/com/adobe/xmp/impl/QName.java
+++ b/java/XMPCore/src/com/adobe/xmp/impl/QName.java
@@ -1,6 +1,6 @@
// =================================================================================================
// ADOBE SYSTEMS INCORPORATED
-// Copyright 2006-2007 Adobe Systems Incorporated
+// Copyright 2006 Adobe Systems Incorporated
// All Rights Reserved
//
// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms
diff --git a/java/XMPCore/src/com/adobe/xmp/impl/Utils.java b/java/XMPCore/src/com/adobe/xmp/impl/Utils.java
index 1f4088b..7ca3b27 100644
--- a/java/XMPCore/src/com/adobe/xmp/impl/Utils.java
+++ b/java/XMPCore/src/com/adobe/xmp/impl/Utils.java
@@ -1,6 +1,6 @@
// =================================================================================================
// ADOBE SYSTEMS INCORPORATED
-// Copyright 2006-2007 Adobe Systems Incorporated
+// Copyright 2006 Adobe Systems Incorporated
// All Rights Reserved
//
// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms
diff --git a/java/XMPCore/src/com/adobe/xmp/impl/XMPDateTimeImpl.java b/java/XMPCore/src/com/adobe/xmp/impl/XMPDateTimeImpl.java
index ededcd4..f3a17e7 100644
--- a/java/XMPCore/src/com/adobe/xmp/impl/XMPDateTimeImpl.java
+++ b/java/XMPCore/src/com/adobe/xmp/impl/XMPDateTimeImpl.java
@@ -1,6 +1,6 @@
// =================================================================================================
// ADOBE SYSTEMS INCORPORATED
-// Copyright 2006-2007 Adobe Systems Incorporated
+// Copyright 2006 Adobe Systems Incorporated
// All Rights Reserved
//
// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms
diff --git a/java/XMPCore/src/com/adobe/xmp/impl/XMPIteratorImpl.java b/java/XMPCore/src/com/adobe/xmp/impl/XMPIteratorImpl.java
index 53ea83e..22ddebb 100644
--- a/java/XMPCore/src/com/adobe/xmp/impl/XMPIteratorImpl.java
+++ b/java/XMPCore/src/com/adobe/xmp/impl/XMPIteratorImpl.java
@@ -1,6 +1,6 @@
// =================================================================================================
// ADOBE SYSTEMS INCORPORATED
-// Copyright 2006-2007 Adobe Systems Incorporated
+// Copyright 2006 Adobe Systems Incorporated
// All Rights Reserved
//
// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms
diff --git a/java/XMPCore/src/com/adobe/xmp/impl/XMPMetaImpl.java b/java/XMPCore/src/com/adobe/xmp/impl/XMPMetaImpl.java
index 5f14e74..a97de99 100644
--- a/java/XMPCore/src/com/adobe/xmp/impl/XMPMetaImpl.java
+++ b/java/XMPCore/src/com/adobe/xmp/impl/XMPMetaImpl.java
@@ -1,6 +1,6 @@
// =================================================================================================
// ADOBE SYSTEMS INCORPORATED
-// Copyright 2006-2007 Adobe Systems Incorporated
+// Copyright 2006 Adobe Systems Incorporated
// All Rights Reserved
//
// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms
@@ -23,6 +23,7 @@ import com.adobe.xmp.XMPUtils;
import com.adobe.xmp.impl.xpath.XMPPath;
import com.adobe.xmp.impl.xpath.XMPPathParser;
import com.adobe.xmp.options.IteratorOptions;
+import com.adobe.xmp.options.ParseOptions;
import com.adobe.xmp.options.PropertyOptions;
import com.adobe.xmp.properties.XMPProperty;
@@ -1258,6 +1259,19 @@ public class XMPMetaImpl implements XMPMeta, XMPConst
/**
+ * @see XMPMeta#normalize(ParseOptions)
+ */
+ public void normalize(ParseOptions options) throws XMPException
+ {
+ if (options == null)
+ {
+ options = new ParseOptions();
+ }
+ XMPNormalizer.process(this, options);
+ }
+
+
+ /**
* @return Returns the root node of the XMP tree.
*/
public XMPNode getRoot()
diff --git a/java/XMPCore/src/com/adobe/xmp/impl/XMPMetaParser.java b/java/XMPCore/src/com/adobe/xmp/impl/XMPMetaParser.java
index a09f8cf..40c0ce2 100644
--- a/java/XMPCore/src/com/adobe/xmp/impl/XMPMetaParser.java
+++ b/java/XMPCore/src/com/adobe/xmp/impl/XMPMetaParser.java
@@ -1,6 +1,6 @@
// =================================================================================================
// ADOBE SYSTEMS INCORPORATED
-// Copyright 2006-2007 Adobe Systems Incorporated
+// Copyright 2006 Adobe Systems Incorporated
// All Rights Reserved
//
// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms
@@ -16,6 +16,7 @@ import java.io.Reader;
import java.io.StringReader;
import java.io.UnsupportedEncodingException;
+import javax.xml.XMLConstants;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
@@ -47,8 +48,7 @@ public class XMPMetaParser
private static final Object XMP_RDF = new Object();
/** the DOM Parser Factory, options are set */
private static DocumentBuilderFactory factory = createDocumentBuilderFactory();
-
-
+
/**
* Hidden constructor, initialises the SAX parser handler.
*/
@@ -84,7 +84,16 @@ public class XMPMetaParser
{
XMPMetaImpl xmp = ParseRDF.parse((Node) result[0]);
xmp.setPacketHeader((String) result[2]);
- return XMPNormalizer.process(xmp, options);
+
+ // Check if the XMP object shall be normalized
+ if (!options.getOmitNormalization())
+ {
+ return XMPNormalizer.process(xmp, options);
+ }
+ else
+ {
+ return xmp;
+ }
}
else
{
@@ -181,7 +190,8 @@ public class XMPMetaParser
}
catch (XMPException e)
{
- if (e.getErrorCode() == XMPError.BADXML)
+ if (e.getErrorCode() == XMPError.BADXML ||
+ e.getErrorCode() == XMPError.BADSTREAM)
{
if (options.getAcceptLatin1())
{
@@ -384,7 +394,18 @@ public class XMPMetaParser
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setNamespaceAware(true);
factory.setIgnoringComments(true);
- factory.setExpandEntityReferences(true);
+
+ try
+ {
+ // honor System parsing limits, e.g.
+ // System.setProperty("entityExpansionLimit", "10");
+ factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
+ }
+ catch (Exception e)
+ {
+ // Ignore IllegalArgumentException and ParserConfigurationException
+ // in case the configured XML-Parser does not implement the feature.
+ }
return factory;
}
} \ No newline at end of file
diff --git a/java/XMPCore/src/com/adobe/xmp/impl/XMPNode.java b/java/XMPCore/src/com/adobe/xmp/impl/XMPNode.java
index 3342514..9170efe 100644
--- a/java/XMPCore/src/com/adobe/xmp/impl/XMPNode.java
+++ b/java/XMPCore/src/com/adobe/xmp/impl/XMPNode.java
@@ -1,6 +1,6 @@
//=================================================================================================
// ADOBE SYSTEMS INCORPORATED
-// Copyright 2006-2007 Adobe Systems Incorporated
+// Copyright 2006 Adobe Systems Incorporated
// All Rights Reserved
//
// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms
diff --git a/java/XMPCore/src/com/adobe/xmp/impl/XMPNodeUtils.java b/java/XMPCore/src/com/adobe/xmp/impl/XMPNodeUtils.java
index 1bb5eda..8537469 100644
--- a/java/XMPCore/src/com/adobe/xmp/impl/XMPNodeUtils.java
+++ b/java/XMPCore/src/com/adobe/xmp/impl/XMPNodeUtils.java
@@ -1,6 +1,6 @@
// =================================================================================================
// ADOBE SYSTEMS INCORPORATED
-// Copyright 2006-2007 Adobe Systems Incorporated
+// Copyright 2006 Adobe Systems Incorporated
// All Rights Reserved
//
// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms
diff --git a/java/XMPCore/src/com/adobe/xmp/impl/XMPNormalizer.java b/java/XMPCore/src/com/adobe/xmp/impl/XMPNormalizer.java
index 043bc0a..d51d7de 100644
--- a/java/XMPCore/src/com/adobe/xmp/impl/XMPNormalizer.java
+++ b/java/XMPCore/src/com/adobe/xmp/impl/XMPNormalizer.java
@@ -1,6 +1,6 @@
// =================================================================================================
// ADOBE SYSTEMS INCORPORATED
-// Copyright 2006-2007 Adobe Systems Incorporated
+// Copyright 2006 Adobe Systems Incorporated
// All Rights Reserved
//
// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms
diff --git a/java/XMPCore/src/com/adobe/xmp/impl/XMPSchemaRegistryImpl.java b/java/XMPCore/src/com/adobe/xmp/impl/XMPSchemaRegistryImpl.java
index 926bedf..1b8430d 100644
--- a/java/XMPCore/src/com/adobe/xmp/impl/XMPSchemaRegistryImpl.java
+++ b/java/XMPCore/src/com/adobe/xmp/impl/XMPSchemaRegistryImpl.java
@@ -1,6 +1,6 @@
// =================================================================================================
// ADOBE SYSTEMS INCORPORATED
-// Copyright 2006-2007 Adobe Systems Incorporated
+// Copyright 2006 Adobe Systems Incorporated
// All Rights Reserved
//
// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms
@@ -295,10 +295,42 @@ public final class XMPSchemaRegistryImpl implements XMPSchemaRegistry, XMPConst
/**
- * @see XMPSchemaRegistry#registerAlias(String, String, String, String,
- * AliasOptions)
+ * Associates an alias name with an actual name.
+ * <p>
+ * Define a alias mapping from one namespace/property to another. Both
+ * property names must be simple names. An alias can be a direct mapping,
+ * where the alias and actual have the same data type. It is also possible
+ * to map a simple alias to an item in an array. This can either be to the
+ * first item in the array, or to the 'x-default' item in an alt-text array.
+ * Multiple alias names may map to the same actual, as long as the forms
+ * match. It is a no-op to reregister an alias in an identical fashion.
+ * Note: This method is not locking because only called by registerStandardAliases
+ * which is only called by the constructor.
+ * Note2: The method is only package-private so that it can be tested with unittests
+ *
+ * @param aliasNS
+ * The namespace URI for the alias. Must not be null or the empty
+ * string.
+ * @param aliasProp
+ * The name of the alias. Must be a simple name, not null or the
+ * empty string and not a general path expression.
+ * @param actualNS
+ * The namespace URI for the actual. Must not be null or the
+ * empty string.
+ * @param actualProp
+ * The name of the actual. Must be a simple name, not null or the
+ * empty string and not a general path expression.
+ * @param aliasForm
+ * Provides options for aliases for simple aliases to array
+ * items. This is needed to know what kind of array to create if
+ * set for the first time via the simple alias. Pass
+ * <code>XMP_NoOptions</code>, the default value, for all
+ * direct aliases regardless of whether the actual data type is
+ * an array or not (see {@link AliasOptions}).
+ * @throws XMPException
+ * for inconsistant aliases.
*/
- public synchronized void registerAlias(String aliasNS, String aliasProp, final String actualNS,
+ synchronized void registerAlias(String aliasNS, String aliasProp, final String actualNS,
final String actualProp, final AliasOptions aliasForm) throws XMPException
{
ParameterAsserts.assertSchemaNS(aliasNS);
@@ -389,17 +421,7 @@ public final class XMPSchemaRegistryImpl implements XMPSchemaRegistry, XMPConst
aliasMap.put(key, aliasInfo);
}
-
- /**
- * @see XMPSchemaRegistry#deleteAlias(String, String)
- */
- public synchronized void deleteAlias(String aliasNS, String aliasProp)
- {
- String aliasPrefix = getNamespacePrefix(aliasNS);
- aliasMap.remove(aliasPrefix + aliasProp);
- }
-
-
+
/**
* @see XMPSchemaRegistry#getAliases()
*/
diff --git a/java/XMPCore/src/com/adobe/xmp/impl/XMPSerializerHelper.java b/java/XMPCore/src/com/adobe/xmp/impl/XMPSerializerHelper.java
index 9b6c7af..ba43f01 100644
--- a/java/XMPCore/src/com/adobe/xmp/impl/XMPSerializerHelper.java
+++ b/java/XMPCore/src/com/adobe/xmp/impl/XMPSerializerHelper.java
@@ -1,6 +1,6 @@
// =================================================================================================
// ADOBE SYSTEMS INCORPORATED
-// Copyright 2006-2007 Adobe Systems Incorporated
+// Copyright 2006 Adobe Systems Incorporated
// All Rights Reserved
//
// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms
diff --git a/java/XMPCore/src/com/adobe/xmp/impl/XMPSerializerRDF.java b/java/XMPCore/src/com/adobe/xmp/impl/XMPSerializerRDF.java
index 24cafd3..b00877f 100644
--- a/java/XMPCore/src/com/adobe/xmp/impl/XMPSerializerRDF.java
+++ b/java/XMPCore/src/com/adobe/xmp/impl/XMPSerializerRDF.java
@@ -1,6 +1,6 @@
// =================================================================================================
// ADOBE SYSTEMS INCORPORATED
-// Copyright 2006-2007 Adobe Systems Incorporated
+// Copyright 2006 Adobe Systems Incorporated
// All Rights Reserved
//
// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms
@@ -512,8 +512,7 @@ public class XMPSerializerRDF
write('<');
write(elemName);
- boolean isCompact = node.getOptions().isCompact();
- boolean hasGeneralQualifiers = isCompact; // Might also become true later.
+ boolean hasGeneralQualifiers = false;
boolean hasRDFResourceQual = false;
for (Iterator iq = node.iterateQualifier(); iq.hasNext();)
@@ -538,7 +537,7 @@ public class XMPSerializerRDF
// Process the property according to the standard patterns.
if (hasGeneralQualifiers)
{
- serializeCompactRDFGeneralQualifier(indent, node, isCompact);
+ serializeCompactRDFGeneralQualifier(indent, node);
}
else
{
@@ -739,11 +738,10 @@ public class XMPSerializerRDF
* Serializes the general qualifier.
* @param node the root node of the subtree
* @param indent the current indent level
- * @param isCompact flag if qual shall be renderen in compact form.
* @throws IOException Forwards all writer exceptions.
* @throws XMPException If qualifier and element fields are mixed.
*/
- private void serializeCompactRDFGeneralQualifier(int indent, XMPNode node, boolean isCompact)
+ private void serializeCompactRDFGeneralQualifier(int indent, XMPNode node)
throws IOException, XMPException
{
// The node has general qualifiers, ones that can't be
@@ -756,14 +754,6 @@ public class XMPSerializerRDF
serializePrettyRDFProperty(node, true, indent + 1);
- if (isCompact)
- {
- // Emit a "pxmp:compact" fake qualifier.
- writeIndent(1);
- write("<pxmp:compact/>");
- writeNewline();
- }
-
for (Iterator iq = node.iterateQualifier(); iq.hasNext();)
{
XMPNode qualifier = (XMPNode) iq.next();
@@ -980,8 +970,7 @@ public class XMPSerializerRDF
write('<');
write(elemName);
- boolean isCompact = node.getOptions().isCompact();
- boolean hasGeneralQualifiers = isCompact; // Might also become true later.
+ boolean hasGeneralQualifiers = false;
boolean hasRDFResourceQual = false;
for (Iterator it = node.iterateQualifier(); it.hasNext();)
@@ -1025,14 +1014,6 @@ public class XMPSerializerRDF
serializePrettyRDFProperty(node, true, indent + 1);
- if (isCompact)
- {
- // Emit a "pxmp:compact" fake qualifier.
- writeIndent(indent);
- write("<pxmp:compact/>");
- writeNewline();
- }
-
for (Iterator it = node.iterateQualifier(); it.hasNext();)
{
XMPNode qualifier = (XMPNode) it.next();
diff --git a/java/XMPCore/src/com/adobe/xmp/impl/XMPUtilsImpl.java b/java/XMPCore/src/com/adobe/xmp/impl/XMPUtilsImpl.java
index d9b86cd..ab36996 100644
--- a/java/XMPCore/src/com/adobe/xmp/impl/XMPUtilsImpl.java
+++ b/java/XMPCore/src/com/adobe/xmp/impl/XMPUtilsImpl.java
@@ -1,6 +1,6 @@
// =================================================================================================
// ADOBE SYSTEMS INCORPORATED
-// Copyright 2006-2007 Adobe Systems Incorporated
+// Copyright 2006 Adobe Systems Incorporated
// All Rights Reserved
//
// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms
@@ -715,7 +715,7 @@ public class XMPUtilsImpl implements XMPConst
XMPNode sourceItem = (XMPNode) is.next();
boolean match = false;
- for (Iterator id = sourceNode.iterateChildren(); id.hasNext();)
+ for (Iterator id = destNode.iterateChildren(); id.hasNext();)
{
XMPNode destItem = (XMPNode) id.next();
if (itemValuesMatch(sourceItem, destItem))
@@ -803,7 +803,7 @@ public class XMPUtilsImpl implements XMPConst
XMPNode leftItem = (XMPNode) il.next();
boolean match = false;
- for (Iterator ir = leftNode.iterateChildren(); ir.hasNext();)
+ for (Iterator ir = rightNode.iterateChildren(); ir.hasNext();)
{
XMPNode rightItem = (XMPNode) ir.next();
if (itemValuesMatch(leftItem, rightItem))
diff --git a/java/XMPCore/src/com/adobe/xmp/impl/xpath/XMPPath.java b/java/XMPCore/src/com/adobe/xmp/impl/xpath/XMPPath.java
index d6979a5..ff810dc 100644
--- a/java/XMPCore/src/com/adobe/xmp/impl/xpath/XMPPath.java
+++ b/java/XMPCore/src/com/adobe/xmp/impl/xpath/XMPPath.java
@@ -1,6 +1,6 @@
// =================================================================================================
// ADOBE SYSTEMS INCORPORATED
-// Copyright 2006-2007 Adobe Systems Incorporated
+// Copyright 2006 Adobe Systems Incorporated
// All Rights Reserved
//
// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms
diff --git a/java/XMPCore/src/com/adobe/xmp/impl/xpath/XMPPathParser.java b/java/XMPCore/src/com/adobe/xmp/impl/xpath/XMPPathParser.java
index 2f01ad3..9936c06 100644
--- a/java/XMPCore/src/com/adobe/xmp/impl/xpath/XMPPathParser.java
+++ b/java/XMPCore/src/com/adobe/xmp/impl/xpath/XMPPathParser.java
@@ -1,3 +1,11 @@
+// =================================================================================================
+// ADOBE SYSTEMS INCORPORATED
+// Copyright 2006 Adobe Systems Incorporated
+// All Rights Reserved
+//
+// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms
+// of the Adobe license agreement accompanying it.
+// =================================================================================================
package com.adobe.xmp.impl.xpath;
diff --git a/java/XMPCore/src/com/adobe/xmp/impl/xpath/XMPPathSegment.java b/java/XMPCore/src/com/adobe/xmp/impl/xpath/XMPPathSegment.java
index b025170..88b42a1 100644
--- a/java/XMPCore/src/com/adobe/xmp/impl/xpath/XMPPathSegment.java
+++ b/java/XMPCore/src/com/adobe/xmp/impl/xpath/XMPPathSegment.java
@@ -1,6 +1,6 @@
// =================================================================================================
// ADOBE SYSTEMS INCORPORATED
-// Copyright 2006-2007 Adobe Systems Incorporated
+// Copyright 2006 Adobe Systems Incorporated
// All Rights Reserved
//
// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms
diff --git a/java/XMPCore/src/com/adobe/xmp/options/AliasOptions.java b/java/XMPCore/src/com/adobe/xmp/options/AliasOptions.java
index ccd3921..cf58273 100644
--- a/java/XMPCore/src/com/adobe/xmp/options/AliasOptions.java
+++ b/java/XMPCore/src/com/adobe/xmp/options/AliasOptions.java
@@ -1,6 +1,6 @@
// =================================================================================================
// ADOBE SYSTEMS INCORPORATED
-// Copyright 2006-2007 Adobe Systems Incorporated
+// Copyright 2006 Adobe Systems Incorporated
// All Rights Reserved
//
// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms
@@ -10,12 +10,10 @@
package com.adobe.xmp.options;
import com.adobe.xmp.XMPException;
-import com.adobe.xmp.XMPSchemaRegistry;
/**
- * Options for {@link XMPSchemaRegistry#registerAlias( String, String, String, String,
- * AliasOptions)}.
+ * Options for XMPSchemaRegistryImpl#registerAlias.
*
* @since 20.02.2006
*/
diff --git a/java/XMPCore/src/com/adobe/xmp/options/IteratorOptions.java b/java/XMPCore/src/com/adobe/xmp/options/IteratorOptions.java
index 5affb05..3dcb524 100644
--- a/java/XMPCore/src/com/adobe/xmp/options/IteratorOptions.java
+++ b/java/XMPCore/src/com/adobe/xmp/options/IteratorOptions.java
@@ -1,6 +1,6 @@
// =================================================================================================
// ADOBE SYSTEMS INCORPORATED
-// Copyright 2006-2007 Adobe Systems Incorporated
+// Copyright 2006 Adobe Systems Incorporated
// All Rights Reserved
//
// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms
diff --git a/java/XMPCore/src/com/adobe/xmp/options/Options.java b/java/XMPCore/src/com/adobe/xmp/options/Options.java
index 278db73..6d6bd98 100644
--- a/java/XMPCore/src/com/adobe/xmp/options/Options.java
+++ b/java/XMPCore/src/com/adobe/xmp/options/Options.java
@@ -1,6 +1,6 @@
// =================================================================================================
// ADOBE SYSTEMS INCORPORATED
-// Copyright 2006-2007 Adobe Systems Incorporated
+// Copyright 2006 Adobe Systems Incorporated
// All Rights Reserved
//
// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms
diff --git a/java/XMPCore/src/com/adobe/xmp/options/ParseOptions.java b/java/XMPCore/src/com/adobe/xmp/options/ParseOptions.java
index 04d831d..c05f871 100644
--- a/java/XMPCore/src/com/adobe/xmp/options/ParseOptions.java
+++ b/java/XMPCore/src/com/adobe/xmp/options/ParseOptions.java
@@ -1,6 +1,6 @@
// =================================================================================================
// ADOBE SYSTEMS INCORPORATED
-// Copyright 2006-2007 Adobe Systems Incorporated
+// Copyright 2006 Adobe Systems Incorporated
// All Rights Reserved
//
// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms
@@ -29,6 +29,8 @@ public final class ParseOptions extends Options
public static final int FIX_CONTROL_CHARS = 0x0008;
/** If the input is not unicode, try to parse it as ISO-8859-1. */
public static final int ACCEPT_LATIN_1 = 0x0010;
+ /** Do not carry run the XMPNormalizer on a packet, leave it as it is. */
+ public static final int OMIT_NORMALIZATION = 0x0020;
/**
@@ -113,13 +115,33 @@ public final class ParseOptions extends Options
* @param value the value to set
* @return Returns the instance to call more set-methods.
*/
+ public ParseOptions setOmitNormalization(boolean value)
+ {
+ setOption(OMIT_NORMALIZATION, value);
+ return this;
+ }
+
+
+ /**
+ * @return Returns the option "omit normalization".
+ */
+ public boolean getOmitNormalization()
+ {
+ return getOption(OMIT_NORMALIZATION);
+ }
+
+
+ /**
+ * @param value the value to set
+ * @return Returns the instance to call more set-methods.
+ */
public ParseOptions setAcceptLatin1(boolean value)
{
setOption(ACCEPT_LATIN_1, value);
return this;
}
-
+
/**
* @see Options#defineOptionName(int)
*/
@@ -127,11 +149,12 @@ public final class ParseOptions extends Options
{
switch (option)
{
- case REQUIRE_XMP_META : return "REQUIRE_XMP_META";
- case STRICT_ALIASING : return "STRICT_ALIASING";
- case FIX_CONTROL_CHARS: return "FIX_CONTROL_CHARS";
- case ACCEPT_LATIN_1: return "ACCEPT_LATIN_1";
- default: return null;
+ case REQUIRE_XMP_META : return "REQUIRE_XMP_META";
+ case STRICT_ALIASING : return "STRICT_ALIASING";
+ case FIX_CONTROL_CHARS: return "FIX_CONTROL_CHARS";
+ case ACCEPT_LATIN_1: return "ACCEPT_LATIN_1";
+ case OMIT_NORMALIZATION: return "OMIT_NORMALIZATION";
+ default: return null;
}
}
@@ -145,6 +168,7 @@ public final class ParseOptions extends Options
REQUIRE_XMP_META |
STRICT_ALIASING |
FIX_CONTROL_CHARS |
- ACCEPT_LATIN_1;
+ ACCEPT_LATIN_1 |
+ OMIT_NORMALIZATION;
}
} \ No newline at end of file
diff --git a/java/XMPCore/src/com/adobe/xmp/options/PropertyOptions.java b/java/XMPCore/src/com/adobe/xmp/options/PropertyOptions.java
index 53d2cb1..ae280fe 100644
--- a/java/XMPCore/src/com/adobe/xmp/options/PropertyOptions.java
+++ b/java/XMPCore/src/com/adobe/xmp/options/PropertyOptions.java
@@ -1,6 +1,6 @@
// =================================================================================================
// ADOBE SYSTEMS INCORPORATED
-// Copyright 2006-2007 Adobe Systems Incorporated
+// Copyright 2006 Adobe Systems Incorporated
// All Rights Reserved
//
// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms
@@ -44,8 +44,6 @@ public final class PropertyOptions extends Options
/** */
public static final int ARRAY_ALT_TEXT = 0x00001000;
/** */
- public static final int COMPACT = 0x00002000;
- /** */
public static final int SCHEMA_NODE = 0x80000000;
/** may be used in the future */
public static final int DELETE_EXISTING = 0x20000000;
@@ -277,26 +275,6 @@ public final class PropertyOptions extends Options
}
- /**
- * @return Return whether the value is a compact struct or array.
- */
- public boolean isCompact()
- {
- return getOption(COMPACT);
- }
-
-
- /**
- * @param value the value to set
- * @return Returns this to enable cascaded options.
- */
- public PropertyOptions setCompact(boolean value)
- {
- setOption(COMPACT, value);
- return this;
- }
-
-
/**
* @param value the value to set
* @return Returns this to enable cascaded options.
@@ -401,7 +379,6 @@ public final class PropertyOptions extends Options
ARRAY_ORDERED |
ARRAY_ALTERNATE |
ARRAY_ALT_TEXT |
- COMPACT |
SCHEMA_NODE;
}
@@ -413,19 +390,18 @@ public final class PropertyOptions extends Options
{
switch (option)
{
- case URI : return "URI";
+ case URI : return "URI";
case HAS_QUALIFIERS : return "HAS_QUALIFIER";
case QUALIFIER : return "QUALIFIER";
- case HAS_LANGUAGE : return "HAS_LANGUAGE";
- case HAS_TYPE: return "HAS_TYPE";
+ case HAS_LANGUAGE : return "HAS_LANGUAGE";
+ case HAS_TYPE: return "HAS_TYPE";
case STRUCT : return "STRUCT";
case ARRAY : return "ARRAY";
case ARRAY_ORDERED : return "ARRAY_ORDERED";
case ARRAY_ALTERNATE : return "ARRAY_ALTERNATE";
case ARRAY_ALT_TEXT : return "ARRAY_ALT_TEXT";
- case COMPACT : return "COMPACT";
- case SCHEMA_NODE : return "SCHEMA_NODE";
- default: return null;
+ case SCHEMA_NODE : return "SCHEMA_NODE";
+ default: return null;
}
}
diff --git a/java/XMPCore/src/com/adobe/xmp/options/SerializeOptions.java b/java/XMPCore/src/com/adobe/xmp/options/SerializeOptions.java
index c4d4f94..37ed7bd 100644
--- a/java/XMPCore/src/com/adobe/xmp/options/SerializeOptions.java
+++ b/java/XMPCore/src/com/adobe/xmp/options/SerializeOptions.java
@@ -1,6 +1,6 @@
// =================================================================================================
// ADOBE SYSTEMS INCORPORATED
-// Copyright 2006-2007 Adobe Systems Incorporated
+// Copyright 2006 Adobe Systems Incorporated
// All Rights Reserved
//
// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms
@@ -37,8 +37,6 @@ public final class SerializeOptions extends Options
* computed. An exception is thrown if the packet exceeds this length with no padding.
*/
public static final int EXACT_PACKET_LENGTH = 0x0200;
- /** Show aliases as XML comments. <em>Note:</em> This option is currently not supported. */
- public static final int WRITE_ALIAS_COMMENTS = 0x0400;
/** Sort the struct properties and qualifier before serializing */
public static final int SORT = 0x1000;
@@ -204,27 +202,6 @@ public final class SerializeOptions extends Options
/**
* @return Returns the option.
*/
- public boolean getWriteAliasComments()
- {
- return getOption(WRITE_ALIAS_COMMENTS);
- }
-
-
- /**
- * <em>Note:</em> This options is not supported at the moment.
- * @param value the value to set
- * @return Returns the instance to call more set-methods.
- */
- public SerializeOptions setWriteAliasComments(boolean value)
- {
- setOption(WRITE_ALIAS_COMMENTS, value);
- return this;
- }
-
-
- /**
- * @return Returns the option.
- */
public boolean getSort()
{
return getOption(SORT);
@@ -437,7 +414,6 @@ public final class SerializeOptions extends Options
case USE_COMPACT_FORMAT : return "USE_COMPACT_FORMAT";
case INCLUDE_THUMBNAIL_PAD : return "INCLUDE_THUMBNAIL_PAD";
case EXACT_PACKET_LENGTH : return "EXACT_PACKET_LENGTH";
- case WRITE_ALIAS_COMMENTS : return "WRITE_ALIAS_COMMENTS";
case SORT : return "NORMALIZED";
default: return null;
}
@@ -455,7 +431,6 @@ public final class SerializeOptions extends Options
USE_COMPACT_FORMAT |
INCLUDE_THUMBNAIL_PAD |
EXACT_PACKET_LENGTH |
- WRITE_ALIAS_COMMENTS |
SORT;
}
} \ No newline at end of file
diff --git a/java/XMPCore/src/com/adobe/xmp/properties/XMPAliasInfo.java b/java/XMPCore/src/com/adobe/xmp/properties/XMPAliasInfo.java
index 5eb707e..e9078d4 100644
--- a/java/XMPCore/src/com/adobe/xmp/properties/XMPAliasInfo.java
+++ b/java/XMPCore/src/com/adobe/xmp/properties/XMPAliasInfo.java
@@ -1,3 +1,12 @@
+// =================================================================================================
+// ADOBE SYSTEMS INCORPORATED
+// Copyright 2006 Adobe Systems Incorporated
+// All Rights Reserved
+//
+// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms
+// of the Adobe license agreement accompanying it.
+// =================================================================================================
+
package com.adobe.xmp.properties;
import com.adobe.xmp.options.AliasOptions;
diff --git a/java/XMPCore/src/com/adobe/xmp/properties/XMPProperty.java b/java/XMPCore/src/com/adobe/xmp/properties/XMPProperty.java
index ad0c075..767c94b 100644
--- a/java/XMPCore/src/com/adobe/xmp/properties/XMPProperty.java
+++ b/java/XMPCore/src/com/adobe/xmp/properties/XMPProperty.java
@@ -1,6 +1,6 @@
// =================================================================================================
// ADOBE SYSTEMS INCORPORATED
-// Copyright 2006-2007 Adobe Systems Incorporated
+// Copyright 2006 Adobe Systems Incorporated
// All Rights Reserved
//
// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms
diff --git a/java/XMPCore/src/com/adobe/xmp/properties/XMPPropertyInfo.java b/java/XMPCore/src/com/adobe/xmp/properties/XMPPropertyInfo.java
index bf1150b..8a9c519 100644
--- a/java/XMPCore/src/com/adobe/xmp/properties/XMPPropertyInfo.java
+++ b/java/XMPCore/src/com/adobe/xmp/properties/XMPPropertyInfo.java
@@ -1,6 +1,6 @@
// =================================================================================================
// ADOBE SYSTEMS INCORPORATED
-// Copyright 2006-2007 Adobe Systems Incorporated
+// Copyright 2006 Adobe Systems Incorporated
// All Rights Reserved
//
// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms
diff --git a/java/XMPCore/src/com/adobe/xmp/version.properties b/java/XMPCore/src/com/adobe/xmp/version.properties
deleted file mode 100644
index 65ae814..0000000
--- a/java/XMPCore/src/com/adobe/xmp/version.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-# ==================================================================================================
-# ADOBE SYSTEMS INCORPORATED
-# Copyright 2006-2007 Adobe Systems Incorporated
-# All Rights Reserved
-#
-# NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms
-# of the Adobe license agreement accompanying it.
-# ==================================================================================================
-
-implementation.version Adobe XMP Core 4.4.0
-implementation.version.major 4
-implementation.version.minor 4
-implementation.version.micro 0
-implementation.version.engbuild 0
-implementation.version.debug true \ No newline at end of file