Author: tilman
Date: Mon Dec 22 20:05:24 2025
New Revision: 1930810
Log:
PDFBOX-6127: add comment, make sure that the intermediate data contains the
test sequence, improve formatting
Modified:
pdfbox/trunk/xmpbox/src/test/java/org/apache/xmpbox/xml/DomXmpParserTest.java
Modified:
pdfbox/trunk/xmpbox/src/test/java/org/apache/xmpbox/xml/DomXmpParserTest.java
==============================================================================
---
pdfbox/trunk/xmpbox/src/test/java/org/apache/xmpbox/xml/DomXmpParserTest.java
Mon Dec 22 20:05:20 2025 (r1930809)
+++
pdfbox/trunk/xmpbox/src/test/java/org/apache/xmpbox/xml/DomXmpParserTest.java
Mon Dec 22 20:05:24 2025 (r1930810)
@@ -998,14 +998,17 @@ class DomXmpParserTest
@Test
void testNonStandardURIinRDF() throws XmpParsingException,
TransformerException
{
- String s = "<?xml version=\"1.0\" encoding=\"UTF-8\"
standalone=\"no\"?>\n" +
-"<?xpacket begin=\"\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?><x:xmpmeta
xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"Adobe XMP Core 4.2.1-c041 52.342996,
2008/05/07-20:48:00 \">\n" +
-" <rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n" +
-" <rdf:Description xmlns:pdfx=\"http://ns.adobe.com/pdfx/1.3/\"
rdf:about=\"\">\n" +
-" <pdfx:XPressPrivate>private</pdfx:XPressPrivate>\n" +
-" </rdf:Description>\n" +
-" </rdf:RDF>\n" +
-"</x:xmpmeta><?xpacket end=\"w\"?>";
+ // PDFBOX-6127: test that non standard namespaces not recognized if in
rdf:RDF,
+ // which happens since the changes in XmpSerializer done in
PDFBOX-2378.
+ String s =
+ "<?xml version=\"1.0\" encoding=\"UTF-8\"
standalone=\"no\"?>\n" +
+ "<?xpacket begin=\"\"
id=\"W5M0MpCehiHzreSzNTczkc9d\"?><x:xmpmeta xmlns:x=\"adobe:ns:meta/\"
x:xmptk=\"Adobe XMP Core 4.2.1-c041 52.342996, 2008/05/07-20:48:00
\">\n" +
+ " <rdf:RDF
xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n" +
+ " <rdf:Description
xmlns:pdfx=\"http://ns.adobe.com/pdfx/1.3/\" rdf:about=\"\">\n" +
+ "
<pdfx:XPressPrivate>private</pdfx:XPressPrivate>\n" +
+ " </rdf:Description>\n" +
+ " </rdf:RDF>\n" +
+ "</x:xmpmeta><?xpacket end=\"w\"?>";
final DomXmpParser xmpParser1 = new DomXmpParser();
XmpParsingException ex = assertThrows(XmpParsingException.class,
() -> xmpParser1.parse(s.getBytes(StandardCharsets.UTF_8)));
@@ -1018,6 +1021,8 @@ class DomXmpParserTest
XmpSerializer serializer = new XmpSerializer();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
serializer.serialize(xmp2, baos, true);
+ // make sure that there is a non standard namespace in rdf:RDF
+ assertTrue(baos.toString(StandardCharsets.UTF_8).contains("<rdf:RDF
xmlns:pdfx="));
final DomXmpParser xmpParser3 = new DomXmpParser();
ex = assertThrows(XmpParsingException.class, () ->
xmpParser3.parse(baos.toByteArray()));
assertEquals("Cannot find a definition for the namespace
http://ns.adobe.com/pdfx/1.3/, property: pdfx:XPressPrivate", ex.getMessage());