/** * Add a new namespace Mapping for specific schema declared in PDF/A Extension schema * * @param desc The schemaDescription associated to the schema * @throws XmpUnknownValueTypeException When a Value Type associated is unknown */ public void setNamespaceDefinition(SchemaDescription desc) throws XmpUnknownValueTypeException { PropMapping propMap = new PropMapping(desc.getNameSpaceURI()); List<PDFAPropertyDescription> props = desc.getProperties(); for (int i = 0; i < props.size(); i++) { String type = getValueTypeEquivalence(desc, props.get(i).getValueTypeValue()); propMap.addNewProperty(props.get(i).getNameValue(), type, null); if (type.equals("Field")) { declareAssociatedFieldType(desc, props.get(i).getValueTypeValue(), propMap); } } String nsName = desc.getPrefix(); String ns = desc.getNameSpaceURI(); nsMaps.put(ns, new XMPSchemaFactory(nsName, ns, XMPSchema.class, propMap)); }