You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by gb...@apache.org on 2012/08/24 21:04:42 UTC
svn commit: r1377052 - in /pdfbox/branches/xmpbox-refactoring/xmpbox/src:
main/java/org/apache/padaf/xmpbox/parser/
main/java/org/apache/padaf/xmpbox/type/ test/java/org/apache/padaf/xmpbox/
test/resources/validxmp/
Author: gbailleul
Date: Fri Aug 24 19:04:42 2012
New Revision: 1377052
URL: http://svn.apache.org/viewvc?rev=1377052&view=rev
Log:
PDFBOX-1343: Simplification of parsing using type description classes
Added:
pdfbox/branches/xmpbox-refactoring/xmpbox/src/test/java/org/apache/padaf/xmpbox/TestXMPWithDefinedSchemas.java
pdfbox/branches/xmpbox-refactoring/xmpbox/src/test/resources/validxmp/
pdfbox/branches/xmpbox-refactoring/xmpbox/src/test/resources/validxmp/Notepad++_A1b.xmp
pdfbox/branches/xmpbox-refactoring/xmpbox/src/test/resources/validxmp/ghost2.xmp
pdfbox/branches/xmpbox-refactoring/xmpbox/src/test/resources/validxmp/history2.rdf
pdfbox/branches/xmpbox-refactoring/xmpbox/src/test/resources/validxmp/override_ns.rdf
Modified:
pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/parser/StructuredPropertyParser.java
pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/parser/XMPDocumentBuilder.java
pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/type/TypeDescription.java
pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/type/TypeMapping.java
Modified: pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/parser/StructuredPropertyParser.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/parser/StructuredPropertyParser.java?rev=1377052&r1=1377051&r2=1377052&view=diff
==============================================================================
--- pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/parser/StructuredPropertyParser.java (original)
+++ pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/parser/StructuredPropertyParser.java Fri Aug 24 19:04:42 2012
@@ -45,25 +45,25 @@ public class StructuredPropertyParser {
private XMPDocumentBuilder builder = null;
- private Class<? extends AbstractStructuredType> typeClass = null;
+ private TypeDescription description = null;
private PropMapping propDesc = null;
private boolean isDefinedStructureType = false;
- public StructuredPropertyParser(XMPDocumentBuilder builder, Class<? extends AbstractStructuredType> propertyTypeClass)
+ public StructuredPropertyParser(XMPDocumentBuilder builder, TypeDescription td)
throws XmpPropertyFormatException {
this.builder = builder;
- this.typeClass = propertyTypeClass;
+ this.description = td;
// retrieve xmp properties
- this.propDesc = ReflectHelper.initializePropMapping(null, propertyTypeClass);
- this.isDefinedStructureType = DefinedStructuredType.class.isAssignableFrom(typeClass);
+ this.propDesc = ReflectHelper.initializePropMapping(null, td.getTypeClass());
+ this.isDefinedStructureType = DefinedStructuredType.class.isAssignableFrom(td.getTypeClass());
}
private AbstractStructuredType instanciateProperty (XMPMetadata metadata) throws XmpParsingException {
try {
- return metadata.getTypeMapping().instanciateStructuredType(metadata, typeClass);
+ return metadata.getTypeMapping().instanciateStructuredType(metadata, description);
} catch (BadFieldValueException e) {
throw new XmpParsingException ("Failed to instanciate property",e);
}
@@ -72,7 +72,6 @@ public class StructuredPropertyParser {
private boolean isParseTypeResource (XMLStreamReader reader) {
- // XMLStreamReader reader = builder.getReader();
int count = reader.getAttributeCount();
for (int i=0; i < count ; i++) {
if ("parseType".equals(reader.getAttributeLocalName(i))) {
@@ -192,17 +191,13 @@ public class StructuredPropertyParser {
String ptype = td.getProperties().getPropertyType(eltName.getLocalPart());
if (metadata.getTypeMapping().isStructuredType(ptype)) {
TypeDescription tclass = metadata.getTypeMapping().getTypeDescription(ptype);
- Class<? extends AbstractStructuredType> tcn = (Class<? extends AbstractStructuredType>)tclass.getTypeClass();
- StructuredPropertyParser sp = new StructuredPropertyParser(builder, tcn);
+ StructuredPropertyParser sp = new StructuredPropertyParser(builder, tclass);
sp.parseSimple(metadata, reader.getName(), property.getContainer(),isSubSkipDescription,subExpected);// TODO
} else if (metadata.getTypeMapping().getArrayType(ptype)!=null) {
int pos = ptype.indexOf(' ');
String arrayType = metadata.getTypeMapping().getArrayType(ptype);
String typeInArray = ptype.substring(pos+1);
-
TypeDescription tclass = metadata.getTypeMapping().getTypeDescription(typeInArray);
- Class<? extends AbstractStructuredType> tcn = (Class<? extends AbstractStructuredType>)tclass.getTypeClass();
-
ArrayProperty cp = new ArrayProperty(metadata,null,
eltName.getPrefix(), eltName.getLocalPart(),
arrayType);
@@ -214,7 +209,7 @@ public class StructuredPropertyParser {
if (reader.getLocalName().equals("li")) {
// array elements
while (reader.getEventType()==XMLStreamConstants.START_ELEMENT && reader.getName().getLocalPart().equals("li")) {
- StructuredPropertyParser sp = new StructuredPropertyParser(builder, tcn);
+ StructuredPropertyParser sp = new StructuredPropertyParser(builder, tclass);
sp.parse(metadata, reader.getName(), cp.getContainer());
reader.nextTag();
}
Modified: pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/parser/XMPDocumentBuilder.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/parser/XMPDocumentBuilder.java?rev=1377052&r1=1377051&r2=1377052&view=diff
==============================================================================
--- pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/parser/XMPDocumentBuilder.java (original)
+++ pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/parser/XMPDocumentBuilder.java Fri Aug 24 19:04:42 2012
@@ -56,7 +56,6 @@ import org.apache.padaf.xmpbox.type.PDFA
import org.apache.padaf.xmpbox.type.PDFAPropertyType;
import org.apache.padaf.xmpbox.type.PDFASchemaType;
import org.apache.padaf.xmpbox.type.PDFATypeType;
-import org.apache.padaf.xmpbox.type.TextType;
import org.apache.padaf.xmpbox.type.TypeDescription;
import org.apache.padaf.xmpbox.type.TypeMapping;
import org.apache.pdfbox.io.IOUtils;
@@ -786,9 +785,8 @@ public class XMPDocumentBuilder {
}
private void parseSimpleProperty(XMPMetadata metadata, QName propertyName,
- Class<? extends AbstractSimpleProperty> typeclass, ComplexPropertyContainer container)
+ TypeDescription description, ComplexPropertyContainer container)
throws XmpUnknownPropertyTypeException, XmpPropertyFormatException, XMLStreamException {
- Class<? extends AbstractSimpleProperty> tclass = (Class<? extends AbstractSimpleProperty>)typeclass;
try {
AbstractSimpleProperty prop = null;
ArrayList<Attribute> attributes = new ArrayList<Attribute>();
@@ -800,7 +798,7 @@ public class XMPDocumentBuilder {
.getAttributeValue(i)));
}
prop = metadata.getTypeMapping().instanciateSimpleProperty(metadata, null, propertyName.getPrefix(),
- propertyName.getLocalPart(), reader.get().getElementText(),metadata.getTypeMapping().getType(tclass));
+ propertyName.getLocalPart(), reader.get().getElementText(),description.getType());
if (prop != null) {
container.addProperty(prop);
// ADD ATTRIBUTES
@@ -850,7 +848,7 @@ public class XMPDocumentBuilder {
private void parseSimplePropertyArray(XMPMetadata metadata, QName name, String ctype,
- Class<? extends AbstractSimpleProperty> stype, ComplexPropertyContainer container)
+ TypeDescription td, ComplexPropertyContainer container)
throws XmpUnexpectedTypeException, XmpParsingException,
XMLStreamException, XmpUnknownPropertyTypeException,
XmpPropertyFormatException {
@@ -865,7 +863,7 @@ public class XMPDocumentBuilder {
int elmtType = reader.get().nextTag();
while ((elmtType != XMLStreamReader.END_ELEMENT)
&& !reader.get().getName().getLocalPart().equals(ctype)) {
- parseSimpleProperty(metadata, reader.get().getName(), stype, cp
+ parseSimpleProperty(metadata, reader.get().getName(), td, cp
.getContainer());
elmtType = reader.get().nextTag();
@@ -923,15 +921,14 @@ public class XMPDocumentBuilder {
String type = getPropertyDeclarationInNamespaces(schema, propertyName);
// found type, manage it
if (type.equals("Lang Alt")) {
- parseSimplePropertyArray(metadata, propertyName, ArrayProperty.ALTERNATIVE_ARRAY, TextType.class, schema.getContent());
+ parseSimplePropertyArray(metadata, propertyName, ArrayProperty.ALTERNATIVE_ARRAY, typeMapping.getTypeDescription("Text"), schema.getContent());
} else if (typeMapping.isSimpleType(type)) {
TypeDescription tclass = typeMapping.getTypeDescription(type);
- Class<? extends AbstractSimpleProperty> tcn = (Class<? extends AbstractSimpleProperty>)tclass.getTypeClass();
- parseSimpleProperty(metadata, propertyName, tcn, schema.getContent());
+ parseSimpleProperty(metadata, propertyName, tclass, schema.getContent());
} else if (typeMapping.isStructuredType(type)) {
TypeDescription tclass = typeMapping.getTypeDescription(type);
StructuredPropertyParser parser = new StructuredPropertyParser(
- this, (Class<? extends AbstractStructuredType>)tclass.getTypeClass());
+ this, tclass);
parseStructuredProperty(metadata, parser, schema.getContent());
} else if (typeMapping.getArrayType(type)!=null) {
// retrieve array type and content type
@@ -947,12 +944,12 @@ public class XMPDocumentBuilder {
metadata,
propertyName,
arrayType,
- (Class<? extends AbstractSimpleProperty>)tcn,
+ tclass,
schema.getContent());
} else if (AbstractStructuredType.class.isAssignableFrom(tcn)) {
// array of structured
StructuredPropertyParser parser = new StructuredPropertyParser(
- this, (Class<? extends AbstractStructuredType>)tcn);
+ this, tclass);
parseStructuredPropertyArray(metadata, propertyName, arrayType, parser, schema.getContent());
} else {
// invalid case
Modified: pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/type/TypeDescription.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/type/TypeDescription.java?rev=1377052&r1=1377051&r2=1377052&view=diff
==============================================================================
--- pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/type/TypeDescription.java (original)
+++ pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/type/TypeDescription.java Fri Aug 24 19:04:42 2012
@@ -33,8 +33,6 @@ public class TypeDescription {
private Class<? extends AbstractField> clz;
- private DefinedStructuredType definedStructuredType;
-
private PropMapping properties = null;
public TypeDescription(String type, BasicType basic,Class<? extends AbstractField> clz) {
@@ -44,25 +42,6 @@ public class TypeDescription {
this.clz = clz;
}
- public TypeDescription(String type, BasicType basic, DefinedStructuredType definedStructured) {
- super();
- this.type = type;
- this.basic = basic;
- this.clz = null;
- this.definedStructuredType = definedStructured;
- }
-
-
-
- public TypeDescription(String type, BasicType basic) {
- this(type, basic,TextType.class);
- }
-
- public TypeDescription(String type) {
- this(type,BasicType.Text,TextType.class);
- }
-
-
public String getType() {
return type;
}
@@ -82,9 +61,5 @@ public class TypeDescription {
protected void setProperties(PropMapping properties) {
this.properties = properties;
}
-
- public DefinedStructuredType getDefinedStructure () {
- return this.definedStructuredType;
- }
-
+
}
Modified: pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/type/TypeMapping.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/type/TypeMapping.java?rev=1377052&r1=1377051&r2=1377052&view=diff
==============================================================================
--- pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/type/TypeMapping.java (original)
+++ pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/type/TypeMapping.java Fri Aug 24 19:04:42 2012
@@ -122,7 +122,7 @@ public final class TypeMapping {
PropMapping pm = ReflectHelper.initializePropMapping(ns, clz);
td.setProperties(pm);
} else {
- PropMapping pm = initializePropMapping(ns, td.getDefinedStructure());
+ PropMapping pm = initializePropMapping(ns, null);
td.setProperties(pm);
}
addToStructuredMaps(td, ns);
@@ -185,22 +185,23 @@ public final class TypeMapping {
}
}
- public AbstractStructuredType instanciateStructuredType (XMPMetadata metadata, Class<? extends AbstractStructuredType> propertyTypeClass) throws BadFieldValueException {
+ public AbstractStructuredType instanciateStructuredType (XMPMetadata metadata, TypeDescription td /*Class<? extends AbstractStructuredType> propertyTypeClass*/) throws BadFieldValueException {
try {
+ Class<? extends AbstractStructuredType> propertyTypeClass = (Class<? extends AbstractStructuredType>)td.getTypeClass();
Constructor<? extends AbstractStructuredType> construct = propertyTypeClass.getConstructor(new Class<?> [] {XMPMetadata.class});
return construct.newInstance(metadata);
} catch (InvocationTargetException e) {
- throw new BadFieldValueException("Failed to instanciate structured type : "+propertyTypeClass,e);
+ throw new BadFieldValueException("Failed to instanciate structured type : "+td.getType(),e);
} catch (IllegalArgumentException e) {
- throw new BadFieldValueException("Failed to instanciate structured type : "+propertyTypeClass,e);
+ throw new BadFieldValueException("Failed to instanciate structured type : "+td.getType(),e);
} catch (InstantiationException e) {
- throw new BadFieldValueException("Failed to instanciate structured type : "+propertyTypeClass,e);
+ throw new BadFieldValueException("Failed to instanciate structured type : "+td.getType(),e);
} catch (IllegalAccessException e) {
- throw new BadFieldValueException("Failed to instanciate structured type : "+propertyTypeClass,e);
+ throw new BadFieldValueException("Failed to instanciate structured type : "+td.getType(),e);
} catch (SecurityException e) {
- throw new BadFieldValueException("Failed to instanciate structured type : "+propertyTypeClass,e);
+ throw new BadFieldValueException("Failed to instanciate structured type : "+td.getType(),e);
} catch (NoSuchMethodException e) {
- throw new BadFieldValueException("Failed to instanciate structured type : "+propertyTypeClass,e);
+ throw new BadFieldValueException("Failed to instanciate structured type : "+td.getType(),e);
}
}
Added: pdfbox/branches/xmpbox-refactoring/xmpbox/src/test/java/org/apache/padaf/xmpbox/TestXMPWithDefinedSchemas.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/xmpbox-refactoring/xmpbox/src/test/java/org/apache/padaf/xmpbox/TestXMPWithDefinedSchemas.java?rev=1377052&view=auto
==============================================================================
--- pdfbox/branches/xmpbox-refactoring/xmpbox/src/test/java/org/apache/padaf/xmpbox/TestXMPWithDefinedSchemas.java (added)
+++ pdfbox/branches/xmpbox-refactoring/xmpbox/src/test/java/org/apache/padaf/xmpbox/TestXMPWithDefinedSchemas.java Fri Aug 24 19:04:42 2012
@@ -0,0 +1,101 @@
+/*****************************************************************************
+ *
+ * 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.
+ *
+ ****************************************************************************/
+
+package org.apache.padaf.xmpbox;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import java.util.Properties;
+import java.util.StringTokenizer;
+
+import org.apache.commons.io.IOUtils;
+import org.apache.padaf.xmpbox.parser.XMPDocumentBuilder;
+import org.apache.padaf.xmpbox.schema.XMPSchema;
+import org.apache.padaf.xmpbox.type.AbstractField;
+import org.apache.padaf.xmpbox.type.AbstractSimpleProperty;
+import org.apache.padaf.xmpbox.type.AbstractStructuredType;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+
+@RunWith(Parameterized.class)
+public class TestXMPWithDefinedSchemas {
+
+
+
+ @Parameters
+ public static Collection<Object[]> initializeParameters() throws Exception
+ {
+ List<Object[]> data = new ArrayList<Object[]>();
+ data.add(new Object [] {"/validxmp/override_ns.rdf"});
+ data.add(new Object [] {"/validxmp/ghost2.xmp"});
+ data.add(new Object [] {"/validxmp/history2.rdf"});
+ data.add(new Object [] {"/validxmp/Notepad++_A1b.xmp"});
+ return data;
+ }
+
+ private String path;
+
+ public TestXMPWithDefinedSchemas(String path) {
+ this.path = path;
+ }
+
+
+ @Test
+ public void main() throws Exception {
+
+// String path = "/home/yu/Dev/PDF/invalides/Notepad++_A1b.xmp";
+// String path = "/home/yu/Dev/PDF/invalides/Notepad++_A1b.short.xmp";
+// String path = "/home/yu/Dev/PDF/invalides/history2.rdf";
+// String path = "/home/yu/Dev/PDF/invalides/ghost2.xmp";
+// String path = "/home/yu/Dev/PDF/invalides/override_ns.rdf";
+
+ InputStream is = this.getClass().getResourceAsStream(path);
+
+
+ XMPDocumentBuilder builder = new XMPDocumentBuilder();
+ XMPMetadata rxmp = builder.parse(is);
+
+// List<XMPSchema> schemas = rxmp.getAllSchemas();
+// for (XMPSchema schema : schemas) {
+// System.out.println("> "+schema.getNamespaceValue());
+// List<AbstractField> fields = schema.getAllProperties();
+// for (AbstractField af : fields) {
+// if (af instanceof AbstractSimpleProperty) {
+// AbstractSimpleProperty asp = (AbstractSimpleProperty)af;
+// System.out.println("> "+asp.getPropertyName()+" : "+asp.toString());
+// } else if (af instanceof AbstractStructuredType) {
+// AbstractStructuredType ast = (AbstractStructuredType)af;
+// System.out.println("> "+ast.getPropertyName()+" : "+ast.toString());
+// }
+// }
+// }
+ }
+
+
+}
Added: pdfbox/branches/xmpbox-refactoring/xmpbox/src/test/resources/validxmp/Notepad++_A1b.xmp
URL: http://svn.apache.org/viewvc/pdfbox/branches/xmpbox-refactoring/xmpbox/src/test/resources/validxmp/Notepad%2B%2B_A1b.xmp?rev=1377052&view=auto
==============================================================================
--- pdfbox/branches/xmpbox-refactoring/xmpbox/src/test/resources/validxmp/Notepad++_A1b.xmp (added)
+++ pdfbox/branches/xmpbox-refactoring/xmpbox/src/test/resources/validxmp/Notepad++_A1b.xmp Fri Aug 24 19:04:42 2012
@@ -0,0 +1,162 @@
+<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
+<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.5-c001 1.147551, 2012/06/12-18:11:14 ">
+ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+ <rdf:Description rdf:about=""
+ xmlns:pdf="http://ns.adobe.com/pdf/1.3/"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:xmp="http://ns.adobe.com/xap/1.0/"
+ xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
+ xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#"
+ xmlns:pdfaid="http://www.aiim.org/pdfa/ns/id/"
+ xmlns:pdfaExtension="http://www.aiim.org/pdfa/ns/extension/"
+ xmlns:pdfaSchema="http://www.aiim.org/pdfa/ns/schema#"
+ xmlns:pdfaProperty="http://www.aiim.org/pdfa/ns/property#">
+ <pdf:Producer>FOP 0.20.5</pdf:Producer>
+ <pdf:Keywords>convert</pdf:Keywords>
+ <dc:format>application/pdf</dc:format>
+ <dc:title>
+ <rdf:Alt>
+ <rdf:li xml:lang="x-default">Notepad</rdf:li>
+ </rdf:Alt>
+ </dc:title>
+ <dc:description>
+ <rdf:Alt>
+ <rdf:li xml:lang="x-default">boring</rdf:li>
+ </rdf:Alt>
+ </dc:description>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>convert</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <dc:creator>
+ <rdf:Seq>
+ <rdf:li>Bill</rdf:li>
+ </rdf:Seq>
+ </dc:creator>
+ <xmp:CreateDate>2012-07-26T07:59:36-04:00</xmp:CreateDate>
+ <xmp:ModifyDate>2012-07-26T08:00:08-04:00</xmp:ModifyDate>
+ <xmp:MetadataDate>2012-07-26T08:00:08-04:00</xmp:MetadataDate>
+ <xmpMM:DocumentID>uuid:8a3c03a1-f3be-4863-969c-6d349620a025</xmpMM:DocumentID>
+ <xmpMM:InstanceID>uuid:7aa05387-41d3-413a-9d61-164b354d5971</xmpMM:InstanceID>
+ <xmpMM:RenditionClass>default</xmpMM:RenditionClass>
+ <xmpMM:VersionID>1</xmpMM:VersionID>
+ <xmpMM:History>
+ <rdf:Seq>
+ <rdf:li rdf:parseType="Resource">
+ <stEvt:action>converted</stEvt:action>
+ <stEvt:instanceID>uuid:ae8e9f71-6013-4ade-a3e0-ed408df8fe9f</stEvt:instanceID>
+ <stEvt:parameters>converted to PDF/A-1b</stEvt:parameters>
+ <stEvt:softwareAgent>Preflight</stEvt:softwareAgent>
+ <stEvt:when>2012-07-26T07:59:55-04:00</stEvt:when>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <stEvt:action>converted</stEvt:action>
+ <stEvt:instanceID>uuid:e83fa70f-efc1-4fc7-85b6-8bd61398025b</stEvt:instanceID>
+ <stEvt:parameters>converted to PDF/A-1b</stEvt:parameters>
+ <stEvt:softwareAgent>Preflight</stEvt:softwareAgent>
+ <stEvt:when>2012-07-26T08:00:01-04:00</stEvt:when>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <stEvt:action>converted</stEvt:action>
+ <stEvt:instanceID>uuid:01a1cd62-6038-4c9e-a683-c8ea0c0ce5ac</stEvt:instanceID>
+ <stEvt:parameters>converted to PDF/A-1b</stEvt:parameters>
+ <stEvt:softwareAgent>Preflight</stEvt:softwareAgent>
+ <stEvt:when>2012-07-26T08:00:07-04:00</stEvt:when>
+ </rdf:li>
+ </rdf:Seq>
+ </xmpMM:History>
+ <pdfaid:part>1</pdfaid:part>
+ <pdfaid:conformance>B</pdfaid:conformance>
+ <pdfaExtension:schemas>
+ <rdf:Bag>
+ <rdf:li rdf:parseType="Resource">
+ <pdfaSchema:namespaceURI>http://ns.adobe.com/pdf/1.3/</pdfaSchema:namespaceURI>
+ <pdfaSchema:prefix>pdf</pdfaSchema:prefix>
+ <pdfaSchema:schema>Adobe PDF Schema</pdfaSchema:schema>
+ <pdfaSchema:property>
+ <rdf:Seq>
+ <rdf:li rdf:parseType="Resource">
+ <pdfaProperty:category>internal</pdfaProperty:category>
+ <pdfaProperty:description>A name object indicating whether the document has been modified to include trapping information</pdfaProperty:description>
+ <pdfaProperty:name>Trapped</pdfaProperty:name>
+ <pdfaProperty:valueType>Text</pdfaProperty:valueType>
+ </rdf:li>
+ </rdf:Seq>
+ </pdfaSchema:property>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <pdfaSchema:namespaceURI>http://ns.adobe.com/xap/1.0/mm/</pdfaSchema:namespaceURI>
+ <pdfaSchema:prefix>xmpMM</pdfaSchema:prefix>
+ <pdfaSchema:schema>XMP Media Management Schema</pdfaSchema:schema>
+ <pdfaSchema:property>
+ <rdf:Seq>
+ <rdf:li rdf:parseType="Resource">
+ <pdfaProperty:category>internal</pdfaProperty:category>
+ <pdfaProperty:description>UUID based identifier for specific incarnation of a document</pdfaProperty:description>
+ <pdfaProperty:name>InstanceID</pdfaProperty:name>
+ <pdfaProperty:valueType>URI</pdfaProperty:valueType>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <pdfaProperty:category>internal</pdfaProperty:category>
+ <pdfaProperty:description>The common identifier for all versions and renditions of a document.</pdfaProperty:description>
+ <pdfaProperty:name>OriginalDocumentID</pdfaProperty:name>
+ <pdfaProperty:valueType>URI</pdfaProperty:valueType>
+ </rdf:li>
+ </rdf:Seq>
+ </pdfaSchema:property>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <pdfaSchema:namespaceURI>http://www.aiim.org/pdfa/ns/id/</pdfaSchema:namespaceURI>
+ <pdfaSchema:prefix>pdfaid</pdfaSchema:prefix>
+ <pdfaSchema:schema>PDF/A ID Schema</pdfaSchema:schema>
+ <pdfaSchema:property>
+ <rdf:Seq>
+ <rdf:li rdf:parseType="Resource">
+ <pdfaProperty:category>internal</pdfaProperty:category>
+ <pdfaProperty:description>Part of PDF/A standard</pdfaProperty:description>
+ <pdfaProperty:name>part</pdfaProperty:name>
+ <pdfaProperty:valueType>Integer</pdfaProperty:valueType>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <pdfaProperty:category>internal</pdfaProperty:category>
+ <pdfaProperty:description>Amendment of PDF/A standard</pdfaProperty:description>
+ <pdfaProperty:name>amd</pdfaProperty:name>
+ <pdfaProperty:valueType>Text</pdfaProperty:valueType>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <pdfaProperty:category>internal</pdfaProperty:category>
+ <pdfaProperty:description>Conformance level of PDF/A standard</pdfaProperty:description>
+ <pdfaProperty:name>conformance</pdfaProperty:name>
+ <pdfaProperty:valueType>Text</pdfaProperty:valueType>
+ </rdf:li>
+ </rdf:Seq>
+ </pdfaSchema:property>
+ </rdf:li>
+ </rdf:Bag>
+ </pdfaExtension:schemas>
+ </rdf:Description>
+ </rdf:RDF>
+</x:xmpmeta>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<?xpacket end="w"?>
Added: pdfbox/branches/xmpbox-refactoring/xmpbox/src/test/resources/validxmp/ghost2.xmp
URL: http://svn.apache.org/viewvc/pdfbox/branches/xmpbox-refactoring/xmpbox/src/test/resources/validxmp/ghost2.xmp?rev=1377052&view=auto
==============================================================================
--- pdfbox/branches/xmpbox-refactoring/xmpbox/src/test/resources/validxmp/ghost2.xmp (added)
+++ pdfbox/branches/xmpbox-refactoring/xmpbox/src/test/resources/validxmp/ghost2.xmp Fri Aug 24 19:04:42 2012
@@ -0,0 +1,159 @@
+<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
+<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.2-c001 63.139439, 2010/09/27-13:37:26 ">
+ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+ <rdf:Description rdf:about=""
+ xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <dc:format>application/pdf</dc:format>
+ <dc:description>
+ <rdf:Alt>
+ <rdf:li xml:lang="x-default"/>
+ </rdf:Alt>
+ </dc:description>
+ <dc:title>
+ <rdf:Alt>
+ <rdf:li xml:lang="x-default"/>
+ </rdf:Alt>
+ </dc:title>
+ <dc:creator>
+ <rdf:Seq>
+ <rdf:li/>
+ </rdf:Seq>
+ </dc:creator>
+ </rdf:Description>
+ <rdf:Description rdf:about=""
+ xmlns:xmp="http://ns.adobe.com/xap/1.0/">
+ <xmp:CreateDate>2009-04-26T16:56:29-06:00</xmp:CreateDate>
+ <xmp:CreatorTool>LaTeX with hyperref package</xmp:CreatorTool>
+ <xmp:ModifyDate>2012-07-26T07:23:35-04:00</xmp:ModifyDate>
+ <xmp:MetadataDate>2012-07-26T07:23:35-04:00</xmp:MetadataDate>
+ </rdf:Description>
+ <rdf:Description rdf:about=""
+ xmlns:pdf="http://ns.adobe.com/pdf/1.3/">
+ <pdf:Keywords/>
+ <pdf:Producer>pdfTeX-1.40.3</pdf:Producer>
+ <pdf:Trapped>False</pdf:Trapped>
+ </rdf:Description>
+ <rdf:Description rdf:about=""
+ xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
+ xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#">
+ <xmpMM:DocumentID>uuid:bbc5e922-8a33-4f23-803a-96bc4f7d99fb</xmpMM:DocumentID>
+ <xmpMM:InstanceID>uuid:cd6bd7b5-aaa8-4bb7-a216-6a8900317f2c</xmpMM:InstanceID>
+ <xmpMM:RenditionClass>default</xmpMM:RenditionClass>
+ <xmpMM:VersionID>1</xmpMM:VersionID>
+<!--
+ <xmpMM:History>
+ <rdf:Seq>
+ <rdf:li rdf:parseType="Resource">
+ <stEvt:action>converted</stEvt:action>
+ <stEvt:instanceID>uuid:a607d073-c0de-4d36-8377-d209b5a98592</stEvt:instanceID>
+ <stEvt:parameters>converted to PDF/A-1b</stEvt:parameters>
+ <stEvt:softwareAgent>Preflight</stEvt:softwareAgent>
+ <stEvt:when>2012-07-26T07:23:35-04:00</stEvt:when>
+ </rdf:li>
+ </rdf:Seq>
+ </xmpMM:History>
+-->
+ </rdf:Description>
+ <rdf:Description rdf:about=""
+ xmlns:pdfaid="http://www.aiim.org/pdfa/ns/id/">
+ <pdfaid:part>1</pdfaid:part>
+ <pdfaid:conformance>B</pdfaid:conformance>
+ </rdf:Description>
+ <rdf:Description rdf:about=""
+ xmlns:pdfaExtension="http://www.aiim.org/pdfa/ns/extension/"
+ xmlns:pdfaSchema="http://www.aiim.org/pdfa/ns/schema#"
+ xmlns:pdfaProperty="http://www.aiim.org/pdfa/ns/property#">
+ <pdfaExtension:schemas>
+ <rdf:Bag>
+ <rdf:li rdf:parseType="Resource">
+ <pdfaSchema:namespaceURI>http://ns.adobe.com/pdf/1.3/</pdfaSchema:namespaceURI>
+ <pdfaSchema:prefix>pdf</pdfaSchema:prefix>
+ <pdfaSchema:schema>Adobe PDF Schema</pdfaSchema:schema>
+ <pdfaSchema:property>
+ <rdf:Seq>
+ <rdf:li rdf:parseType="Resource">
+ <pdfaProperty:category>internal</pdfaProperty:category>
+ <pdfaProperty:description>A name object indicating whether the document has been modified to include trapping information</pdfaProperty:description>
+ <pdfaProperty:name>Trapped</pdfaProperty:name>
+ <pdfaProperty:valueType>Text</pdfaProperty:valueType>
+ </rdf:li>
+ </rdf:Seq>
+ </pdfaSchema:property>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <pdfaSchema:namespaceURI>http://ns.adobe.com/xap/1.0/mm/</pdfaSchema:namespaceURI>
+ <pdfaSchema:prefix>xmpMM</pdfaSchema:prefix>
+ <pdfaSchema:schema>XMP Media Management Schema</pdfaSchema:schema>
+ <pdfaSchema:property>
+ <rdf:Seq>
+ <rdf:li rdf:parseType="Resource">
+ <pdfaProperty:category>internal</pdfaProperty:category>
+ <pdfaProperty:description>UUID based identifier for specific incarnation of a document</pdfaProperty:description>
+ <pdfaProperty:name>InstanceID</pdfaProperty:name>
+ <pdfaProperty:valueType>URI</pdfaProperty:valueType>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <pdfaProperty:category>internal</pdfaProperty:category>
+ <pdfaProperty:description>The common identifier for all versions and renditions of a document.</pdfaProperty:description>
+ <pdfaProperty:name>OriginalDocumentID</pdfaProperty:name>
+ <pdfaProperty:valueType>URI</pdfaProperty:valueType>
+ </rdf:li>
+ </rdf:Seq>
+ </pdfaSchema:property>
+ </rdf:li>
+<!--
+ <rdf:li rdf:parseType="Resource">
+ <pdfaSchema:namespaceURI>http://www.aiim.org/pdfa/ns/id/</pdfaSchema:namespaceURI>
+ <pdfaSchema:prefix>pdfaid</pdfaSchema:prefix>
+ <pdfaSchema:schema>PDF/A ID Schema</pdfaSchema:schema>
+ <pdfaSchema:property>
+ <rdf:Seq>
+ <rdf:li rdf:parseType="Resource">
+ <pdfaProperty:category>internal</pdfaProperty:category>
+ <pdfaProperty:description>Part of PDF/A standard</pdfaProperty:description>
+ <pdfaProperty:name>part</pdfaProperty:name>
+ <pdfaProperty:valueType>Integer</pdfaProperty:valueType>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <pdfaProperty:category>internal</pdfaProperty:category>
+ <pdfaProperty:description>Amendment of PDF/A standard</pdfaProperty:description>
+ <pdfaProperty:name>amd</pdfaProperty:name>
+ <pdfaProperty:valueType>Text</pdfaProperty:valueType>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <pdfaProperty:category>internal</pdfaProperty:category>
+ <pdfaProperty:description>Conformance level of PDF/A standard</pdfaProperty:description>
+ <pdfaProperty:name>conformance</pdfaProperty:name>
+ <pdfaProperty:valueType>Text</pdfaProperty:valueType>
+ </rdf:li>
+ </rdf:Seq>
+ </pdfaSchema:property>
+ </rdf:li>
+-->
+ </rdf:Bag>
+ </pdfaExtension:schemas>
+ </rdf:Description>
+ </rdf:RDF>
+</x:xmpmeta>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<?xpacket end="w"?>
Added: pdfbox/branches/xmpbox-refactoring/xmpbox/src/test/resources/validxmp/history2.rdf
URL: http://svn.apache.org/viewvc/pdfbox/branches/xmpbox-refactoring/xmpbox/src/test/resources/validxmp/history2.rdf?rev=1377052&view=auto
==============================================================================
--- pdfbox/branches/xmpbox-refactoring/xmpbox/src/test/resources/validxmp/history2.rdf (added)
+++ pdfbox/branches/xmpbox-refactoring/xmpbox/src/test/resources/validxmp/history2.rdf Fri Aug 24 19:04:42 2012
@@ -0,0 +1,81 @@
+<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
+<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.0-jc003 DEBUG-12.345678, Tue Feb 28 14:57:12 GMT+00:00 2012">
+ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+ <rdf:Description rdf:about=""
+ xmlns:pdfaExtension="http://www.aiim.org/pdfa/ns/extension/"
+ xmlns:pdfaSchema="http://www.aiim.org/pdfa/ns/schema#"
+ xmlns:pdfaProperty="http://www.aiim.org/pdfa/ns/property#">
+ <pdfaExtension:schemas>
+ <rdf:Bag>
+ <rdf:li>
+ <rdf:Description>
+ <pdfaSchema:schema>The XMP Media Management Schema is primarily for use by digital asset management (DAM) systems.</pdfaSchema:schema>
+ <pdfaSchema:namespaceURI>http://ns.adobe.com/xap/1.0/mm/</pdfaSchema:namespaceURI>
+ <pdfaSchema:prefix>xmpMM</pdfaSchema:prefix>
+ <pdfaSchema:property>
+ <rdf:Seq>
+ <rdf:li>
+ <rdf:Description>
+ <pdfaProperty:name>InstanceID</pdfaProperty:name>
+ <pdfaProperty:valueType>URI</pdfaProperty:valueType>
+ <pdfaProperty:category>internal</pdfaProperty:category>
+ <pdfaProperty:description>UUID based identifier for specific incarnation of a document</pdfaProperty:description>
+ </rdf:Description>
+ </rdf:li>
+ </rdf:Seq>
+ </pdfaSchema:property>
+ </rdf:Description>
+ </rdf:li>
+ <rdf:li>
+ <rdf:Description>
+ <pdfaSchema:namespaceURI>http://ns.adobe.com/pdfx/1.3/</pdfaSchema:namespaceURI>
+ <pdfaSchema:prefix>pdfx</pdfaSchema:prefix>
+ <pdfaSchema:property>
+ <rdf:Seq>
+ <rdf:li>
+ <rdf:Description>
+ <pdfaProperty:name>GTS_PDFXConformance</pdfaProperty:name>
+ <pdfaProperty:valueType>Text</pdfaProperty:valueType>
+ <pdfaProperty:category>internal</pdfaProperty:category>
+ <pdfaProperty:description>Conformance level of PDF/X standard</pdfaProperty:description>
+ </rdf:Description>
+ </rdf:li>
+ <rdf:li>
+ <rdf:Description>
+ <pdfaProperty:name>GTS_PDFXVersion</pdfaProperty:name>
+ <pdfaProperty:valueType>Text</pdfaProperty:valueType>
+ <pdfaProperty:category>internal</pdfaProperty:category>
+ <pdfaProperty:description>ID of PDF/X standard</pdfaProperty:description>
+ </rdf:Description>
+ </rdf:li>
+ </rdf:Seq>
+ </pdfaSchema:property>
+ </rdf:Description>
+ </rdf:li>
+ </rdf:Bag>
+ </pdfaExtension:schemas>
+ </rdf:Description>
+ </rdf:RDF>
+</x:xmpmeta>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<?xpacket end="w"?>
\ No newline at end of file
Added: pdfbox/branches/xmpbox-refactoring/xmpbox/src/test/resources/validxmp/override_ns.rdf
URL: http://svn.apache.org/viewvc/pdfbox/branches/xmpbox-refactoring/xmpbox/src/test/resources/validxmp/override_ns.rdf?rev=1377052&view=auto
==============================================================================
--- pdfbox/branches/xmpbox-refactoring/xmpbox/src/test/resources/validxmp/override_ns.rdf (added)
+++ pdfbox/branches/xmpbox-refactoring/xmpbox/src/test/resources/validxmp/override_ns.rdf Fri Aug 24 19:04:42 2012
@@ -0,0 +1,198 @@
+<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
+<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Public XMP Toolkit Core 4.0">
+ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+ <rdf:Description rdf:about=""
+ xmlns:xmp="http://ns.adobe.com/xap/1.0/">
+ <xmp:CreatorTool>FrameMaker 7.0</xmp:CreatorTool>
+ <xmp:ModifyDate>2009-11-08T19:16:29+01:00</xmp:ModifyDate>
+ <xmp:CreateDate>2001-02-05T12:32:48Z</xmp:CreateDate>
+ <xmp:MetadataDate>2009-11-08T19:16:29+01:00</xmp:MetadataDate>
+ </rdf:Description>
+ <rdf:Description rdf:about=""
+ xmlns:pdf="http://ns.adobe.com/pdf/1.3/">
+ <pdf:Copyright>Copyright 2006-2008 PDF/A Competence Center</pdf:Copyright>
+ <pdf:Producer>Acrobat Distiller 8.1.0 (Windows)</pdf:Producer>
+ </rdf:Description>
+ <rdf:Description rdf:about=""
+ xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <dc:format>application/pdf</dc:format>
+ <dc:title>
+ <rdf:Alt>
+ <rdf:li xml:lang="x-default">TechNote 0001: PDF/A-1 and Namespaces</rdf:li>
+ </rdf:Alt>
+ </dc:title>
+ <dc:creator>
+ <rdf:Seq>
+ <rdf:li>PDF/A Competence Center</rdf:li>
+ </rdf:Seq>
+ </dc:creator>
+ </rdf:Description>
+ <rdf:Description rdf:about=""
+ xmlns:pdfx="http://ns.adobe.com/pdfx/1.3/">
+ <pdfx:Copyright>Copyright 2006-2008 PDF/A Competence Center</pdfx:Copyright>
+ </rdf:Description>
+ <rdf:Description rdf:about=""
+ xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/">
+ <xmpMM:DocumentID>uuid:586d5239-0535-e540-99ba-d4cfaa3b9c0e</xmpMM:DocumentID>
+ <xmpMM:InstanceID>uuid:417197b4-283d-3147-b689-63d2be1e4f45</xmpMM:InstanceID>
+ <xmpMM:RenditionClass>default</xmpMM:RenditionClass>
+ <xmpMM:VersionID>1</xmpMM:VersionID>
+ </rdf:Description>
+ <rdf:Description rdf:about=""
+ xmlns:pdfaid="http://www.aiim.org/pdfa/ns/id/">
+ <pdfaid:part>1</pdfaid:part>
+ <pdfaid:conformance>A</pdfaid:conformance>
+ </rdf:Description>
+ <rdf:Description rdf:about=""
+ xmlns:pdfaExtension="http://www.aiim.org/pdfa/ns/extension/"
+ xmlns:pdfaSchema="http://www.aiim.org/pdfa/ns/schema#"
+ xmlns:pdfaProperty="http://www.aiim.org/pdfa/ns/property#">
+ <pdfaExtension:schemas>
+ <rdf:Bag>
+ <rdf:li rdf:parseType="Resource">
+ <pdfaSchema:namespaceURI>http://ns.adobe.com/pdf/1.3/</pdfaSchema:namespaceURI>
+ <pdfaSchema:prefix>pdf</pdfaSchema:prefix>
+ <pdfaSchema:schema>Adobe PDF Schema</pdfaSchema:schema>
+ <pdfaSchema:property>
+ <rdf:Seq>
+ <rdf:li rdf:parseType="Resource">
+ <pdfaProperty:category>internal</pdfaProperty:category>
+ <pdfaProperty:description>A name object indicating whether the document has been modified to include trapping information</pdfaProperty:description>
+ <pdfaProperty:name>Trapped</pdfaProperty:name>
+ <pdfaProperty:valueType>Text</pdfaProperty:valueType>
+ </rdf:li>
+ </rdf:Seq>
+ </pdfaSchema:property>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <pdfaSchema:namespaceURI>http://ns.adobe.com/pdfx/1.3/</pdfaSchema:namespaceURI>
+ <pdfaSchema:prefix>pdfx</pdfaSchema:prefix>
+ <pdfaSchema:schema>PDF/X ID Schema</pdfaSchema:schema>
+ <pdfaSchema:property>
+ <rdf:Seq>
+ <rdf:li rdf:parseType="Resource">
+ <pdfaProperty:category>internal</pdfaProperty:category>
+ <pdfaProperty:description>ID of PDF/X standard</pdfaProperty:description>
+ <pdfaProperty:name>GTS_PDFXVersion</pdfaProperty:name>
+ <pdfaProperty:valueType>Text</pdfaProperty:valueType>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <pdfaProperty:category>internal</pdfaProperty:category>
+ <pdfaProperty:description>Conformance level of PDF/X standard</pdfaProperty:description>
+ <pdfaProperty:name>GTS_PDFXConformance</pdfaProperty:name>
+ <pdfaProperty:valueType>Text</pdfaProperty:valueType>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <pdfaProperty:category>internal</pdfaProperty:category>
+ <pdfaProperty:description>Company creating the PDF</pdfaProperty:description>
+ <pdfaProperty:name>Company</pdfaProperty:name>
+ <pdfaProperty:valueType>Text</pdfaProperty:valueType>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <pdfaProperty:category>internal</pdfaProperty:category>
+ <pdfaProperty:description>Date when document was last modified</pdfaProperty:description>
+ <pdfaProperty:name>SourceModified</pdfaProperty:name>
+ <pdfaProperty:valueType>Text</pdfaProperty:valueType>
+ </rdf:li>
+ </rdf:Seq>
+ </pdfaSchema:property>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <pdfaSchema:namespaceURI>http://ns.adobe.com/xap/1.0/mm/</pdfaSchema:namespaceURI>
+ <pdfaSchema:prefix>xmpMM</pdfaSchema:prefix>
+ <pdfaSchema:schema>XMP Media Management Schema</pdfaSchema:schema>
+ <pdfaSchema:property>
+ <rdf:Seq>
+ <rdf:li rdf:parseType="Resource">
+ <pdfaProperty:category>internal</pdfaProperty:category>
+ <pdfaProperty:description>UUID based identifier for specific incarnation of a document</pdfaProperty:description>
+ <pdfaProperty:name>InstanceID</pdfaProperty:name>
+ <pdfaProperty:valueType>URI</pdfaProperty:valueType>
+ </rdf:li>
+ </rdf:Seq>
+ </pdfaSchema:property>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <pdfaSchema:namespaceURI>http://www.aiim.org/pdfa/ns/id/</pdfaSchema:namespaceURI>
+ <pdfaSchema:prefix>pdfaid</pdfaSchema:prefix>
+ <pdfaSchema:schema>PDF/A ID Schema</pdfaSchema:schema>
+ <pdfaSchema:property>
+ <rdf:Seq>
+ <rdf:li rdf:parseType="Resource">
+ <pdfaProperty:category>internal</pdfaProperty:category>
+ <pdfaProperty:description>Part of PDF/A standard</pdfaProperty:description>
+ <pdfaProperty:name>part</pdfaProperty:name>
+ <pdfaProperty:valueType>Integer</pdfaProperty:valueType>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <pdfaProperty:category>internal</pdfaProperty:category>
+ <pdfaProperty:description>Amendment of PDF/A standard</pdfaProperty:description>
+ <pdfaProperty:name>amd</pdfaProperty:name>
+ <pdfaProperty:valueType>Text</pdfaProperty:valueType>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <pdfaProperty:category>internal</pdfaProperty:category>
+ <pdfaProperty:description>Conformance level of PDF/A standard</pdfaProperty:description>
+ <pdfaProperty:name>conformance</pdfaProperty:name>
+ <pdfaProperty:valueType>Text</pdfaProperty:valueType>
+ </rdf:li>
+ </rdf:Seq>
+ </pdfaSchema:property>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <pdfaSchema:namespaceURI>http://ns.adobe.com/pdf/1.3/</pdfaSchema:namespaceURI>
+ <pdfaSchema:prefix>pdf</pdfaSchema:prefix>
+ <pdfaSchema:schema>Adobe PDF</pdfaSchema:schema>
+ <pdfaSchema:property>
+ <rdf:Seq>
+ <rdf:li rdf:parseType="Resource">
+ <pdfaProperty:category>external</pdfaProperty:category>
+ <pdfaProperty:description>Copyright information (mirrored from legacy Document Info field)</pdfaProperty:description>
+ <pdfaProperty:name>Copyright</pdfaProperty:name>
+ <pdfaProperty:valueType>Text</pdfaProperty:valueType>
+ </rdf:li>
+ </rdf:Seq>
+ </pdfaSchema:property>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <pdfaSchema:namespaceURI>http://ns.adobe.com/pdfx/1.3/</pdfaSchema:namespaceURI>
+ <pdfaSchema:prefix>pdfx</pdfaSchema:prefix>
+ <pdfaSchema:schema>Adobe pdfx</pdfaSchema:schema>
+ <pdfaSchema:property>
+ <rdf:Seq>
+ <rdf:li rdf:parseType="Resource">
+ <pdfaProperty:category>external</pdfaProperty:category>
+ <pdfaProperty:description>Copyright information (mirrored from legacy Document Info field)</pdfaProperty:description>
+ <pdfaProperty:name>Copyright</pdfaProperty:name>
+ <pdfaProperty:valueType>Text</pdfaProperty:valueType>
+ </rdf:li>
+ </rdf:Seq>
+ </pdfaSchema:property>
+ </rdf:li>
+ </rdf:Bag>
+ </pdfaExtension:schemas>
+ </rdf:Description>
+ </rdf:RDF>
+</x:xmpmeta>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<?xpacket end="w"?>
\ No newline at end of file