Hi,
At first, thank you for your help. I've tried the snapshot, which corrects the NullPointerException problem perfectly. However, after further testing (of the special case I described earlier), it seems to me that the behavior of the XMPMetadata.getSchema(String, String) method doesn't match its documentation. I finally found a workaround, but here's the explanation : If you remember, my PDF file contained in its metadata two XMP schemas with the same properties and the same namespace URI but different prefixes ("fx" and "zf"). I wanted to use the XMPMetadata.getSchema(String, String) method to retrieve an XMPSchema object representing the schema with the prefix "fx". This seems to fit the case perfectly, as the method documentation states : "This method is here to treat metadata which embed more than one time the same schema. It permit to retrieve a specific schema with its prefix". But the method always returns null when I call it with the "fx" prefix. However, when I call it without prefix or with the prefix "zf", I get an XMPSchema object with the prefix « zf » and containing all the properties for the two schemas. It seems to me that xmpbox considers two schemas with same namespace URI to be the only one same schema, even if the prefixes are differents. In my case, I finally created a method to filter the prefix at property level : public static String getQualifiedTextPropertyValue(XMPSchema schema, String prefix, String name) { Iterator<AbstractField> it = schema.getContainer().getAllProperties().iterator(); AbstractField tmp; while (it.hasNext()) { tmp = it.next(); if (tmp.getPropertyName().equals(name) && tmp.getPrefix().equals(prefix) && tmp instanceof TextType) { return ((TextType)tmp).getStringValue(); } } return null; } I don’t know enough about the XML standard to know how namespaces should be interpreted, but I’d rather submit this problem to you. All my explanations refer to the case and PDF file that were in my first e-mail, which I can forward if necessary. Thanks again for the fix, Best regards, Sylvère Cegid est susceptible d’effectuer un traitement sur vos données personnelles à des fins de gestion de notre relation commerciale. Pour plus d’information, consultez https://www.cegid.com/fr/privacy-policy Ce message et les pièces jointes sont confidentiels et établis à l'attention exclusive de ses destinataires. Toute utilisation ou diffusion, même partielle, non autorisée est interdite. Tout message électronique est susceptible d'altération; Cegid décline donc toute responsabilité au titre de ce message. Si vous n'êtes pas le destinataire de ce message, merci de le détruire et d'avertir l'expéditeur. Cegid may process your personal data for the purpose of our business relationship management. For more information, please visit our website https://www.cegid.com/en/privacy-policy This message and any attachments are confidential and intended solely for the addressees. Any unauthorized use or disclosure, either whole or partial is prohibited. E-mails are susceptible to alteration; Cegid shall therefore not be liable for the content of this message. If you are not the intended recipient of this message, please delete it and notify the sender.