This is an automated email from the ASF dual-hosted git repository. tballison pushed a commit to branch metadata-key-format-kebab in repository https://gitbox.apache.org/repos/asf/tika.git
commit f3ca90885d004b4867237b11686659c5bba734cb Author: tallison <[email protected]> AuthorDate: Thu Jul 23 15:15:18 2026 -0400 Step 2 -- push kebab formatting in more parsers --- .../ROOT/pages/advanced/embedded-documents.adoc | 4 +- .../ROOT/pages/advanced/setting-limits.adoc | 2 +- .../modules/ROOT/pages/advanced/zip-detection.adoc | 4 +- .../pages/migration-to-4x/metadata-changes-4x.adoc | 105 +++++++++++++++++++++ .../test/java/org/apache/tika/cli/TikaCLITest.java | 2 +- .../apache/tika/metadata/AccessPermissions.java | 18 ++-- .../main/java/org/apache/tika/metadata/DWG.java | 8 +- .../java/org/apache/tika/metadata/Database.java | 8 +- .../main/java/org/apache/tika/metadata/Office.java | 6 +- .../tika/metadata/OfficeOpenXMLExtended.java | 4 +- .../main/java/org/apache/tika/metadata/PDF.java | 66 ++++++------- .../main/java/org/apache/tika/metadata/PST.java | 4 +- .../java/org/apache/tika/metadata/QuattroPro.java | 8 +- .../java/org/apache/tika/metadata/WordPerfect.java | 14 +-- .../main/java/org/apache/tika/metadata/Zip.java | 22 ++--- .../resources/test-dirs/extractsA/file15_tags.json | 22 ++--- .../test-dirs/extractsA/file16_badTags.json | 22 ++--- .../test-dirs/extractsA/file17_tagsOutOfOrder.json | 22 ++--- .../test-dirs/extractsA/file6_accessEx.pdf.json | 16 ++-- .../test-dirs/extractsA/file8_IOEx.pdf.json | 16 ++-- .../test-dirs/extractsB/file6_accessEx.pdf.json | 16 ++-- .../test-dirs/extractsB/file8_IOEx.pdf.json | 16 ++-- .../test/resources/test-dirs/raw_input/file15_tags | 22 ++--- .../resources/test-dirs/raw_input/file16_badTags | 22 ++--- .../test-dirs/raw_input/file17_tagsOutOfOrder | 22 ++--- .../tika/parser/AutoDetectParserConfigTest.java | 2 +- .../java/org/apache/tika/parser/pdf/PDFParser.java | 4 +- .../org/apache/tika/parser/pdf/PDFParserTest.java | 6 +- .../tika/pipes/core/MetadataWriteLimiterTest.java | 6 +- 29 files changed, 297 insertions(+), 192 deletions(-) diff --git a/docs/modules/ROOT/pages/advanced/embedded-documents.adoc b/docs/modules/ROOT/pages/advanced/embedded-documents.adoc index b61a820eec..b8772989dd 100644 --- a/docs/modules/ROOT/pages/advanced/embedded-documents.adoc +++ b/docs/modules/ROOT/pages/advanced/embedded-documents.adoc @@ -122,7 +122,7 @@ Microsoft Office formats use additional identifiers for embedded objects. A Microsoft-specific identifier used internally to reference embedded objects within Office documents. This is the relationship ID from the Office Open XML or OLE structure. -`Office.EMBEDDED_STORAGE_CLASS_ID` (`msoffice:embeddedStorageClassId`):: +`Office.EMBEDDED_STORAGE_CLASS_ID` (`msoffice:embedded-storage-class-id`):: A UUID that identifies the class of embedded object in Microsoft formats. While not exactly a MIME type, it provides similar information about what type of object is embedded. Defined in the `Office` metadata class. @@ -166,7 +166,7 @@ embedded. Defined in the `Office` metadata class. |Container (MS) |`Office.EMBEDDED_STORAGE_CLASS_ID` -|`msoffice:embeddedStorageClassId` +|`msoffice:embedded-storage-class-id` |Container (MS) |=== diff --git a/docs/modules/ROOT/pages/advanced/setting-limits.adoc b/docs/modules/ROOT/pages/advanced/setting-limits.adoc index c9b39bae01..bb0f0588f0 100644 --- a/docs/modules/ROOT/pages/advanced/setting-limits.adoc +++ b/docs/modules/ROOT/pages/advanced/setting-limits.adoc @@ -423,7 +423,7 @@ Use this to extract only the metadata you need. "maxKeySize": 1024, "maxValuesPerField": 100, "includeFields": ["dc:title", "dc:creator", "dc:subject"], - "excludeFields": ["pdf:unmappedUnicodeCharsPerPage"] + "excludeFields": ["pdf:unmapped-unicode-chars-per-page"] } } } diff --git a/docs/modules/ROOT/pages/advanced/zip-detection.adoc b/docs/modules/ROOT/pages/advanced/zip-detection.adoc index a91bf8f19f..f362b0cc93 100644 --- a/docs/modules/ROOT/pages/advanced/zip-detection.adoc +++ b/docs/modules/ROOT/pages/advanced/zip-detection.adoc @@ -90,10 +90,10 @@ parser.parse(inputStream, handler, metadata, context); // May fail on truncated The detector also sets additional metadata hints for parsers: -`zip:detectorZipFileOpened`:: `true` if the detector successfully opened the ZIP as a `ZipFile`. +`zip:detector-zip-file-opened`:: `true` if the detector successfully opened the ZIP as a `ZipFile`. The `ZipFile` object is available via `TikaInputStream.getOpenContainer()` for reuse by parsers. -`zip:detectorDataDescriptorRequired`:: `true` if streaming detection required +`zip:detector-data-descriptor-required`:: `true` if streaming detection required DATA_DESCRIPTOR support. This hint helps parsers choose the correct streaming mode. == Related Topics diff --git a/docs/modules/ROOT/pages/migration-to-4x/metadata-changes-4x.adoc b/docs/modules/ROOT/pages/migration-to-4x/metadata-changes-4x.adoc index ebd5bd7b83..2532c19a2f 100644 --- a/docs/modules/ROOT/pages/migration-to-4x/metadata-changes-4x.adoc +++ b/docs/modules/ROOT/pages/migration-to-4x/metadata-changes-4x.adoc @@ -158,6 +158,111 @@ Open key families migrate by prefix, suffix preserved verbatim (e.g. digest algo |=== +== Format-namespace key casing + +The same casing rule applies *inside* format namespaces, decided by **who authored the key +name**: names Tika coined are kebab-cased; names that come from the file or an external +standard/schema keep their verbatim spelling. So the namespace prefix (the domain) is +independent of casing (the name's origin). + +- **Kebab-cased** (Tika-coined names): `pdf:` structural flags (`pdf:hasMarkedContent` -> + `pdf:has-marked-content`), `access-permission:`, `zip:`, `database:`, `pst:`, `dwg:`, + `wordperfect:`, `quattropro:`, and the few camelCase `msoffice:` stragglers. +- **Left verbatim** (standard/schema/file names): Dublin Core (`dc:`), the XMP schemas + (`xmp*:`), EXIF/`tiff:`, `iptc:`, `photoshop:`, `geo:`, the CF/CMIP attributes under `cf:`, + MAPI property names, email headers, the ECMA-376 OOXML core/extended property names + (`AppVersion`, `lastModifiedBy`, `TotalTime`, …), and the PDF/A/X/VT/UA sub-namespaces + (`pdfaid:`, `pdfx:`, …) and PDF Info-dict names (`pdf:Trapped`, `pdf:docinfo:producer`, …). + +(The `access_permission:` prefix is also normalized to `access-permission:`. The +`extended-properties:HiddedSlides` entry additionally corrects a long-standing spelling typo.) + +.3.x -> 4.0.0 format-namespace key casing +[cols="1,1"] +|=== +|3.x key |4.0.0 key + +|`access_permission:assemble_document` |`access-permission:assemble-document` +|`access_permission:can_modify` |`access-permission:can-modify` +|`access_permission:can_print` |`access-permission:can-print` +|`access_permission:can_print_faithful` |`access-permission:can-print-faithful` +|`access_permission:extract_content` |`access-permission:extract-content` +|`access_permission:extract_for_accessibility` |`access-permission:extract-for-accessibility` +|`access_permission:fill_in_form` |`access-permission:fill-in-form` +|`access_permission:modify_annotations` |`access-permission:modify-annotations` +|`database:column_count` |`database:column-count` +|`database:column_name` |`database:column-name` +|`database:row_count` |`database:row-count` +|`database:table_name` |`database:table-name` +|`dwg:applicationComment` |`dwg:application-comment` +|`dwg:applicationName` |`dwg:application-name` +|`dwg:applicationVersion` |`dwg:application-version` +|`dwg:productInfo` |`dwg:product-info` +|`extended-properties:HiddedSlides` |`extended-properties:HiddenSlides` +|`extended-properties:DocSecurityString` |`extended-properties:doc-security-string` +|`msoffice:embeddedStorageClassId` |`msoffice:embedded-storage-class-id` +|`msoffice:ocxName` |`msoffice:ocx-name` +|`msoffice:progID` |`msoffice:prog-id` +|`pdf:actionTrigger` |`pdf:action-trigger` +|`pdf:actionTriggers` |`pdf:action-triggers` +|`pdf:actionTypes` |`pdf:action-types` +|`pdf:annotationSubtypes` |`pdf:annotation-subtypes` +|`pdf:annotationTypes` |`pdf:annotation-types` +|`pdf:associatedFileRelationship` |`pdf:associated-file-relationship` +|`pdf:charsPerPage` |`pdf:chars-per-page` +|`pdf:containsDamagedFont` |`pdf:contains-damaged-font` +|`pdf:containsNonEmbeddedFont` |`pdf:contains-non-embedded-font` +|`pdf:docinfo:creator_tool` |`pdf:docinfo:creator-tool` +|`pdf:embeddedFileAnnotationType` |`pdf:embedded-file-annotation-type` +|`pdf:embeddedFileDescription` |`pdf:embedded-file-description` +|`pdf:embeddedFileSubtype` |`pdf:embedded-file-subtype` +|`pdf:eofOffsets` |`pdf:eof-offsets` +|`pdf:has3D` |`pdf:has-3d` +|`pdf:hasAcroFormFields` |`pdf:has-acro-form-fields` +|`pdf:hasCollection` |`pdf:has-collection` +|`pdf:hasMarkedContent` |`pdf:has-marked-content` +|`pdf:hasSignatureFields` |`pdf:has-signature-fields` +|`pdf:hasXFA` |`pdf:has-xfa` +|`pdf:hasXMP` |`pdf:has-xmp` +|`pdf:incrementalUpdateCount` |`pdf:incremental-update-count` +|`pdf:incrementalUpdateNumber` |`pdf:incremental-update-number` +|`pdf:jsName` |`pdf:js-name` +|`pdf:num3DAnnotations` |`pdf:num-3d-annotations` +|`pdf:ocrPageCount` |`pdf:ocr-page-count` +|`pdf:overallPercentageUnmappedUnicodeChars` |`pdf:overall-percentage-unmapped-unicode-chars` +|`pdf:PDFExtensionVersion` |`pdf:pdf-extension-version` +|`pdf:PDFVersion` |`pdf:pdf-version` +|`pdf:totalUnmappedUnicodeChars` |`pdf:total-unmapped-unicode-chars` +|`pdf:unmappedUnicodeCharsPerPage` |`pdf:unmapped-unicode-chars-per-page` +|`pdf:xmpLocation` |`pdf:xmp-location` +|`pdfa:PDFVersion` |`pdfa:pdf-version` +|`pst:discriptorNodeId` |`pst:discriptor-node-id` +|`pst:isValid` |`pst:is-valid` +|`quattropro:Build` |`quattropro:build` +|`quattropro:Id` |`quattropro:id` +|`quattropro:LowestVersion` |`quattropro:lowest-version` +|`quattropro:Version` |`quattropro:version` +|`wordperfect:Encrypted` |`wordperfect:encrypted` +|`wordperfect:FileId` |`wordperfect:file-id` +|`wordperfect:FileSize` |`wordperfect:file-size` +|`wordperfect:FileType` |`wordperfect:file-type` +|`wordperfect:MajorVersion` |`wordperfect:major-version` +|`wordperfect:MinorVersion` |`wordperfect:minor-version` +|`wordperfect:ProductType` |`wordperfect:product-type` +|`zip:centralDirectoryOnlyEntries` |`zip:central-directory-only-entries` +|`zip:compressedSize` |`zip:compressed-size` +|`zip:compressionMethod` |`zip:compression-method` +|`zip:detectorDataDescriptorRequired` |`zip:detector-data-descriptor-required` +|`zip:detectorZipFileOpened` |`zip:detector-zip-file-opened` +|`zip:duplicateEntryNames` |`zip:duplicate-entry-names` +|`zip:integrityCheckResult` |`zip:integrity-check-result` +|`zip:localHeaderOnlyEntries` |`zip:local-header-only-entries` +|`zip:uncompressedSize` |`zip:uncompressed-size` +|`zip:unixMode` |`zip:unix-mode` +|`zip:versionMadeBy` |`zip:version-made-by` +|=== + + == Migration Steps When upgrading to Tika 4.x, you will need to update any code that references metadata keys diff --git a/tika-app/src/test/java/org/apache/tika/cli/TikaCLITest.java b/tika-app/src/test/java/org/apache/tika/cli/TikaCLITest.java index 2f61e76f43..89bacdc3ee 100644 --- a/tika-app/src/test/java/org/apache/tika/cli/TikaCLITest.java +++ b/tika-app/src/test/java/org/apache/tika/cli/TikaCLITest.java @@ -253,7 +253,7 @@ public class TikaCLITest { public void testDefaultPDFIncrementalUpdateSettings() throws Exception { String json = getParamOutContent("-J", resourcePrefix + "testPDF_incrementalUpdates.pdf"); - assertTrue(json.contains("pdf:incrementalUpdateCount\":\"2\"")); + assertTrue(json.contains("pdf:incremental-update-count\":\"2\"")); assertTrue(json.contains("tk:embedded-resource-type\":\"VERSION\"")); } diff --git a/tika-core/src/main/java/org/apache/tika/metadata/AccessPermissions.java b/tika-core/src/main/java/org/apache/tika/metadata/AccessPermissions.java index 82edde584d..831949bb80 100644 --- a/tika-core/src/main/java/org/apache/tika/metadata/AccessPermissions.java +++ b/tika-core/src/main/java/org/apache/tika/metadata/AccessPermissions.java @@ -24,49 +24,49 @@ package org.apache.tika.metadata; public interface AccessPermissions { String PREFIX = - "access_permission" + TikaCoreProperties.NAMESPACE_PREFIX_DELIMITER; + "access-permission" + TikaCoreProperties.NAMESPACE_PREFIX_DELIMITER; /** * Can any modifications be made to the document */ - Property CAN_MODIFY = Property.externalTextBag(PREFIX + "can_modify"); + Property CAN_MODIFY = Property.externalTextBag(PREFIX + "can-modify"); /** * Should content be extracted, generally. */ - Property EXTRACT_CONTENT = Property.externalText(PREFIX + "extract_content"); + Property EXTRACT_CONTENT = Property.externalText(PREFIX + "extract-content"); /** * Should content be extracted for the purposes * of accessibility. */ Property EXTRACT_FOR_ACCESSIBILITY = - Property.externalText(PREFIX + "extract_for_accessibility"); + Property.externalText(PREFIX + "extract-for-accessibility"); /** * Can the user insert/rotate/delete pages. */ - Property ASSEMBLE_DOCUMENT = Property.externalText(PREFIX + "assemble_document"); + Property ASSEMBLE_DOCUMENT = Property.externalText(PREFIX + "assemble-document"); /** * Can the user fill in a form */ - Property FILL_IN_FORM = Property.externalText(PREFIX + "fill_in_form"); + Property FILL_IN_FORM = Property.externalText(PREFIX + "fill-in-form"); /** * Can the user modify annotations */ - Property CAN_MODIFY_ANNOTATIONS = Property.externalText(PREFIX + "modify_annotations"); + Property CAN_MODIFY_ANNOTATIONS = Property.externalText(PREFIX + "modify-annotations"); /** * Can the user print the document */ - Property CAN_PRINT = Property.externalText(PREFIX + "can_print"); + Property CAN_PRINT = Property.externalText(PREFIX + "can-print"); /** * Can the user print an image-degraded version of the document. */ - Property CAN_PRINT_FAITHFUL = Property.externalText(PREFIX + "can_print_faithful"); + Property CAN_PRINT_FAITHFUL = Property.externalText(PREFIX + "can-print-faithful"); } diff --git a/tika-core/src/main/java/org/apache/tika/metadata/DWG.java b/tika-core/src/main/java/org/apache/tika/metadata/DWG.java index 99f5946c70..a8876f6a91 100644 --- a/tika-core/src/main/java/org/apache/tika/metadata/DWG.java +++ b/tika-core/src/main/java/org/apache/tika/metadata/DWG.java @@ -23,11 +23,11 @@ public interface DWG { String DWG_PREFIX = "dwg" + TikaCoreProperties.NAMESPACE_PREFIX_DELIMITER; - Property APPLICATION_NAME = Property.externalText(DWG_PREFIX + "applicationName"); + Property APPLICATION_NAME = Property.externalText(DWG_PREFIX + "application-name"); - Property APPLICATION_VERSION = Property.externalText(DWG_PREFIX + "applicationVersion"); + Property APPLICATION_VERSION = Property.externalText(DWG_PREFIX + "application-version"); - Property APPLICATION_COMMENT = Property.externalText(DWG_PREFIX + "applicationComment"); + Property APPLICATION_COMMENT = Property.externalText(DWG_PREFIX + "application-comment"); - Property PRODUCT_INFO = Property.externalText(DWG_PREFIX + "productInfo"); + Property PRODUCT_INFO = Property.externalText(DWG_PREFIX + "product-info"); } diff --git a/tika-core/src/main/java/org/apache/tika/metadata/Database.java b/tika-core/src/main/java/org/apache/tika/metadata/Database.java index 736213942b..5bf2e56f50 100644 --- a/tika-core/src/main/java/org/apache/tika/metadata/Database.java +++ b/tika-core/src/main/java/org/apache/tika/metadata/Database.java @@ -19,8 +19,8 @@ package org.apache.tika.metadata; public interface Database { String PREFIX = "database" + TikaCoreProperties.NAMESPACE_PREFIX_DELIMITER; - Property TABLE_NAME = Property.externalTextBag(PREFIX + "table_name"); - Property ROW_COUNT = Property.externalInteger(PREFIX + "row_count"); - Property COLUMN_COUNT = Property.externalInteger(PREFIX + "column_count"); - Property COLUMN_NAME = Property.externalTextBag(PREFIX + "column_name"); + Property TABLE_NAME = Property.externalTextBag(PREFIX + "table-name"); + Property ROW_COUNT = Property.externalInteger(PREFIX + "row-count"); + Property COLUMN_COUNT = Property.externalInteger(PREFIX + "column-count"); + Property COLUMN_NAME = Property.externalTextBag(PREFIX + "column-name"); } diff --git a/tika-core/src/main/java/org/apache/tika/metadata/Office.java b/tika-core/src/main/java/org/apache/tika/metadata/Office.java index 51e4ebb0d9..8246f630c8 100644 --- a/tika-core/src/main/java/org/apache/tika/metadata/Office.java +++ b/tika-core/src/main/java/org/apache/tika/metadata/Office.java @@ -149,11 +149,11 @@ public interface Office { * Embedded files may have a "progID" associated with them, such as * Word.Document.12 or AcroExch.Document.DC */ - Property PROG_ID = Property.internalText("msoffice:progID"); + Property PROG_ID = Property.internalText("msoffice:prog-id"); - Property OCX_NAME = Property.internalText("msoffice:ocxName"); + Property OCX_NAME = Property.internalText("msoffice:ocx-name"); - Property EMBEDDED_STORAGE_CLASS_ID = Property.internalText("msoffice:embeddedStorageClassId"); + Property EMBEDDED_STORAGE_CLASS_ID = Property.internalText("msoffice:embedded-storage-class-id"); Property HAS_HIDDEN_SHEETS = Property.internalBoolean("msoffice:excel:has-hidden-sheets"); diff --git a/tika-core/src/main/java/org/apache/tika/metadata/OfficeOpenXMLExtended.java b/tika-core/src/main/java/org/apache/tika/metadata/OfficeOpenXMLExtended.java index 6919c216b6..54885b7c5c 100644 --- a/tika-core/src/main/java/org/apache/tika/metadata/OfficeOpenXMLExtended.java +++ b/tika-core/src/main/java/org/apache/tika/metadata/OfficeOpenXMLExtended.java @@ -61,7 +61,7 @@ public interface OfficeOpenXMLExtended { PREFIX + TikaCoreProperties.NAMESPACE_PREFIX_DELIMITER + "TotalTime"); Property HIDDEN_SLIDES = Property.externalInteger( - PREFIX + TikaCoreProperties.NAMESPACE_PREFIX_DELIMITER + "HiddedSlides"); + PREFIX + TikaCoreProperties.NAMESPACE_PREFIX_DELIMITER + "HiddenSlides"); Property APPLICATION = Property.externalText( PREFIX + TikaCoreProperties.NAMESPACE_PREFIX_DELIMITER + "Application"); @@ -74,7 +74,7 @@ public interface OfficeOpenXMLExtended { //Human readable string explaining doc security flag Property DOC_SECURITY_STRING = Property.externalClosedChoise( - PREFIX + TikaCoreProperties.NAMESPACE_PREFIX_DELIMITER + "DocSecurityString", + PREFIX + TikaCoreProperties.NAMESPACE_PREFIX_DELIMITER + "doc-security-string", SECURITY_NONE, SECURITY_PASSWORD_PROTECTED, SECURITY_READ_ONLY_RECOMMENDED, SECURITY_READ_ONLY_ENFORCED, SECURITY_LOCKED_FOR_ANNOTATIONS, SECURITY_UNKNOWN); diff --git a/tika-core/src/main/java/org/apache/tika/metadata/PDF.java b/tika-core/src/main/java/org/apache/tika/metadata/PDF.java index 1f6d9c3284..26080e3655 100644 --- a/tika-core/src/main/java/org/apache/tika/metadata/PDF.java +++ b/tika-core/src/main/java/org/apache/tika/metadata/PDF.java @@ -36,7 +36,7 @@ public interface PDF { * end of the file. This does not include an %%EOF * if the startxref=0, as would happen in a dummy %%EOF in a linearized PDF. */ - Property EOF_OFFSETS = Property.externalRealSeq(PDF_PREFIX + "eofOffsets"); + Property EOF_OFFSETS = Property.externalRealSeq(PDF_PREFIX + "eof-offsets"); /** Trapped flag from the XMP {@code pdf:} schema; docinfo counterpart {@link #DOC_INFO_TRAPPED}. */ Property TRAPPED = Property.internalText(PDF_PREFIX + "Trapped"); @@ -55,7 +55,7 @@ public interface PDF { Property DOC_INFO_CREATOR = Property.internalText(PDF_DOC_INFO_PREFIX + "creator"); - Property DOC_INFO_CREATOR_TOOL = Property.internalText(PDF_DOC_INFO_PREFIX + "creator_tool"); + Property DOC_INFO_CREATOR_TOOL = Property.internalText(PDF_DOC_INFO_PREFIX + "creator-tool"); Property DOC_INFO_MODIFICATION_DATE = Property.internalDate(PDF_DOC_INFO_PREFIX + "modified"); @@ -69,10 +69,10 @@ public interface PDF { Property DOC_INFO_TRAPPED = Property.internalText(PDF_DOC_INFO_PREFIX + "trapped"); - Property PDF_VERSION = Property.internalRational(PDF_PREFIX + "PDFVersion"); - Property PDFA_VERSION = Property.internalRational(PDFA_PREFIX + "PDFVersion"); + Property PDF_VERSION = Property.internalRational(PDF_PREFIX + "pdf-version"); + Property PDFA_VERSION = Property.internalRational(PDFA_PREFIX + "pdf-version"); - Property PDF_EXTENSION_VERSION = Property.internalRational(PDF_PREFIX + "PDFExtensionVersion"); + Property PDF_EXTENSION_VERSION = Property.internalRational(PDF_PREFIX + "pdf-extension-version"); Property PDFAID_CONFORMANCE = Property.internalText(PDFAID_PREFIX + "conformance"); @@ -100,104 +100,104 @@ public interface PDF { * * This is included in the embedded document (js only for now?), not the container PDF. */ - Property ACTION_TRIGGER = Property.internalText(PDF_PREFIX + "actionTrigger"); + Property ACTION_TRIGGER = Property.internalText(PDF_PREFIX + "action-trigger"); /** * This is a list of all action or destination triggers contained * within a given PDF. */ - Property ACTION_TRIGGERS = Property.internalTextBag(PDF_PREFIX + "actionTriggers"); + Property ACTION_TRIGGERS = Property.internalTextBag(PDF_PREFIX + "action-triggers"); - Property ACTION_TYPES = Property.internalTextBag(PDF_PREFIX + "actionTypes"); + Property ACTION_TYPES = Property.internalTextBag(PDF_PREFIX + "action-types"); - Property CHARACTERS_PER_PAGE = Property.internalIntegerSequence(PDF_PREFIX + "charsPerPage"); + Property CHARACTERS_PER_PAGE = Property.internalIntegerSequence(PDF_PREFIX + "chars-per-page"); Property UNMAPPED_UNICODE_CHARS_PER_PAGE = - Property.internalIntegerSequence(PDF_PREFIX + "unmappedUnicodeCharsPerPage"); + Property.internalIntegerSequence(PDF_PREFIX + "unmapped-unicode-chars-per-page"); Property TOTAL_UNMAPPED_UNICODE_CHARS = - Property.internalInteger(PDF_PREFIX + "totalUnmappedUnicodeChars"); + Property.internalInteger(PDF_PREFIX + "total-unmapped-unicode-chars"); Property OVERALL_PERCENTAGE_UNMAPPED_UNICODE_CHARS = - Property.internalReal(PDF_PREFIX + "overallPercentageUnmappedUnicodeChars"); + Property.internalReal(PDF_PREFIX + "overall-percentage-unmapped-unicode-chars"); /** * Contains at least one damaged font for at least one character */ Property CONTAINS_DAMAGED_FONT = - Property.internalBoolean(PDF_PREFIX + "containsDamagedFont"); + Property.internalBoolean(PDF_PREFIX + "contains-damaged-font"); /** * Contains at least one font that is not embedded */ Property CONTAINS_NON_EMBEDDED_FONT = - Property.internalBoolean(PDF_PREFIX + "containsNonEmbeddedFont"); + Property.internalBoolean(PDF_PREFIX + "contains-non-embedded-font"); /** * Has XFA */ - Property HAS_XFA = Property.internalBoolean(PDF_PREFIX + "hasXFA"); + Property HAS_XFA = Property.internalBoolean(PDF_PREFIX + "has-xfa"); /** * Has XMP, whether or not it is valid */ - Property HAS_XMP = Property.internalBoolean(PDF_PREFIX + "hasXMP"); + Property HAS_XMP = Property.internalBoolean(PDF_PREFIX + "has-xmp"); /** * If xmp is extracted by, e.g. the XMLProfiler, where did it come from? * The document's document catalog or a specific page...or? */ - Property XMP_LOCATION = Property.internalText(PDF_PREFIX + "xmpLocation"); + Property XMP_LOCATION = Property.internalText(PDF_PREFIX + "xmp-location"); /** * Has > 0 AcroForm fields */ - Property HAS_ACROFORM_FIELDS = Property.internalBoolean(PDF_PREFIX + "hasAcroFormFields"); + Property HAS_ACROFORM_FIELDS = Property.internalBoolean(PDF_PREFIX + "has-acro-form-fields"); /** * Has at least one AcroForm signature field (/FT /Sig), whether or not it has been signed. * For documents that have been actually signed, see {@link TikaCoreProperties#HAS_SIGNATURE}. */ - Property HAS_SIGNATURE_FIELDS = Property.internalBoolean(PDF_PREFIX + "hasSignatureFields"); + Property HAS_SIGNATURE_FIELDS = Property.internalBoolean(PDF_PREFIX + "has-signature-fields"); - Property HAS_MARKED_CONTENT = Property.internalBoolean(PDF_PREFIX + "hasMarkedContent"); + Property HAS_MARKED_CONTENT = Property.internalBoolean(PDF_PREFIX + "has-marked-content"); /** * Has a collection element in the root. If true, this is likely a PDF Portfolio. */ - Property HAS_COLLECTION = Property.internalBoolean(PDF_PREFIX + "hasCollection"); + Property HAS_COLLECTION = Property.internalBoolean(PDF_PREFIX + "has-collection"); Property EMBEDDED_FILE_DESCRIPTION = Property.externalText(PDF_PREFIX + - "embeddedFileDescription"); + "embedded-file-description"); /** * If the file came from an annotation and there was a type */ Property EMBEDDED_FILE_ANNOTATION_TYPE = Property.internalText(PDF_PREFIX + - "embeddedFileAnnotationType"); + "embedded-file-annotation-type"); /** * literal string from the PDEmbeddedFile#getSubtype(), should be what the PDF * alleges is the embedded file's mime type */ Property EMBEDDED_FILE_SUBTYPE = Property.internalText(PDF_PREFIX + - "embeddedFileSubtype"); + "embedded-file-subtype"); /** * If the PDF has an annotation of type 3D */ - Property HAS_3D = Property.internalBoolean(PDF_PREFIX + "has3D"); + Property HAS_3D = Property.internalBoolean(PDF_PREFIX + "has-3d"); - Property ANNOTATION_TYPES = Property.internalTextBag(PDF_PREFIX + "annotationTypes"); + Property ANNOTATION_TYPES = Property.internalTextBag(PDF_PREFIX + "annotation-types"); - Property ANNOTATION_SUBTYPES = Property.internalTextBag(PDF_PREFIX + "annotationSubtypes"); + Property ANNOTATION_SUBTYPES = Property.internalTextBag(PDF_PREFIX + "annotation-subtypes"); /** * Number of 3D annotations a PDF contains. This makes {@link PDF#HAS_3D} redundant. */ - Property NUM_3D_ANNOTATIONS = Property.internalInteger(PDF_PREFIX + "num3DAnnotations"); + Property NUM_3D_ANNOTATIONS = Property.internalInteger(PDF_PREFIX + "num-3d-annotations"); Property ASSOCIATED_FILE_RELATIONSHIP = Property.internalText(PDF_PREFIX + - "associatedFileRelationship"); + "associated-file-relationship"); /** * This is a zero-based number for incremental updates within a PDF -- 0 is the first * update, 1 is the second, etc. The final version of the PDF (e.g. the last update) @@ -207,7 +207,7 @@ public interface PDF { * in the PDFParser. */ Property INCREMENTAL_UPDATE_NUMBER = - Property.composite(Property.internalInteger(PDF_PREFIX + "incrementalUpdateNumber"), + Property.composite(Property.internalInteger(PDF_PREFIX + "incremental-update-number"), new Property[]{ TikaCoreProperties.VERSION_NUMBER }); /** @@ -215,19 +215,19 @@ public interface PDF { * that class for limitations. */ Property PDF_INCREMENTAL_UPDATE_COUNT = - Property.composite( Property.externalInteger(PDF_PREFIX + "incrementalUpdateCount"), + Property.composite( Property.externalInteger(PDF_PREFIX + "incremental-update-count"), new Property[]{ TikaCoreProperties.VERSION_COUNT }); /** * This counts the number of pages that would have been OCR'd or were OCR'd depending * on the OCR settings. If NO_OCR is selected, this will */ - Property OCR_PAGE_COUNT = Property.externalInteger(PDF_PREFIX + "ocrPageCount"); + Property OCR_PAGE_COUNT = Property.externalInteger(PDF_PREFIX + "ocr-page-count"); /** * When javascript is stored in the names tree, there's a name associated with that script. * This is that name. When javascript is stored in an action, there is no name, and this * metadata will not be populated. */ - Property JS_NAME = Property.internalText(PDF_PREFIX + "jsName"); + Property JS_NAME = Property.internalText(PDF_PREFIX + "js-name"); } diff --git a/tika-core/src/main/java/org/apache/tika/metadata/PST.java b/tika-core/src/main/java/org/apache/tika/metadata/PST.java index 860e3fea77..8cda1630f4 100644 --- a/tika-core/src/main/java/org/apache/tika/metadata/PST.java +++ b/tika-core/src/main/java/org/apache/tika/metadata/PST.java @@ -19,6 +19,6 @@ package org.apache.tika.metadata; public interface PST { String PST_PREFIX = "pst:"; - Property DESCRIPTOR_NODE_ID = Property.internalText(PST_PREFIX + "discriptorNodeId"); - Property IS_VALID = Property.internalBoolean(PST_PREFIX + "isValid"); + Property DESCRIPTOR_NODE_ID = Property.internalText(PST_PREFIX + "discriptor-node-id"); + Property IS_VALID = Property.internalBoolean(PST_PREFIX + "is-valid"); } diff --git a/tika-core/src/main/java/org/apache/tika/metadata/QuattroPro.java b/tika-core/src/main/java/org/apache/tika/metadata/QuattroPro.java index 0f00b3430f..a3ac82b54a 100644 --- a/tika-core/src/main/java/org/apache/tika/metadata/QuattroPro.java +++ b/tika-core/src/main/java/org/apache/tika/metadata/QuattroPro.java @@ -30,23 +30,23 @@ public interface QuattroPro { * ID. */ Property ID = Property.internalText( - QUATTROPRO_METADATA_NAME_PREFIX + TikaCoreProperties.NAMESPACE_PREFIX_DELIMITER + "Id"); + QUATTROPRO_METADATA_NAME_PREFIX + TikaCoreProperties.NAMESPACE_PREFIX_DELIMITER + "id"); /** * Version. */ Property VERSION = Property.internalInteger( QUATTROPRO_METADATA_NAME_PREFIX + TikaCoreProperties.NAMESPACE_PREFIX_DELIMITER + - "Version"); + "version"); /** * Build. */ Property BUILD = Property.internalInteger( QUATTROPRO_METADATA_NAME_PREFIX + TikaCoreProperties.NAMESPACE_PREFIX_DELIMITER + - "Build"); + "build"); /** * Lowest version. */ Property LOWEST_VERSION = Property.internalInteger( QUATTROPRO_METADATA_NAME_PREFIX + TikaCoreProperties.NAMESPACE_PREFIX_DELIMITER + - "LowestVersion"); + "lowest-version"); } diff --git a/tika-core/src/main/java/org/apache/tika/metadata/WordPerfect.java b/tika-core/src/main/java/org/apache/tika/metadata/WordPerfect.java index 4fd37f07cd..1248047670 100644 --- a/tika-core/src/main/java/org/apache/tika/metadata/WordPerfect.java +++ b/tika-core/src/main/java/org/apache/tika/metadata/WordPerfect.java @@ -30,41 +30,41 @@ public interface WordPerfect { */ Property FILE_SIZE = Property.internalText( WORDPERFECT_METADATA_NAME_PREFIX + TikaCoreProperties.NAMESPACE_PREFIX_DELIMITER + - "FileSize"); + "file-size"); /** * File identifier. */ Property FILE_ID = Property.internalText( WORDPERFECT_METADATA_NAME_PREFIX + TikaCoreProperties.NAMESPACE_PREFIX_DELIMITER + - "FileId"); + "file-id"); /** * Product type. */ Property PRODUCT_TYPE = Property.internalInteger( WORDPERFECT_METADATA_NAME_PREFIX + TikaCoreProperties.NAMESPACE_PREFIX_DELIMITER + - "ProductType"); + "product-type"); /** * File type. */ Property FILE_TYPE = Property.internalInteger( WORDPERFECT_METADATA_NAME_PREFIX + TikaCoreProperties.NAMESPACE_PREFIX_DELIMITER + - "FileType"); + "file-type"); /** * Major version. */ Property MAJOR_VERSION = Property.internalInteger( WORDPERFECT_METADATA_NAME_PREFIX + TikaCoreProperties.NAMESPACE_PREFIX_DELIMITER + - "MajorVersion"); + "major-version"); /** * Minor version. */ Property MINOR_VERSION = Property.internalInteger( WORDPERFECT_METADATA_NAME_PREFIX + TikaCoreProperties.NAMESPACE_PREFIX_DELIMITER + - "MinorVersion"); + "minor-version"); /** * Is encrypted?. */ Property ENCRYPTED = Property.internalBoolean( WORDPERFECT_METADATA_NAME_PREFIX + TikaCoreProperties.NAMESPACE_PREFIX_DELIMITER + - "Encrypted"); + "encrypted"); } diff --git a/tika-core/src/main/java/org/apache/tika/metadata/Zip.java b/tika-core/src/main/java/org/apache/tika/metadata/Zip.java index 4715a85383..68a7c4046e 100644 --- a/tika-core/src/main/java/org/apache/tika/metadata/Zip.java +++ b/tika-core/src/main/java/org/apache/tika/metadata/Zip.java @@ -36,14 +36,14 @@ public interface Zip { * If false, ZipFile failed to open (truncated, corrupt, etc.) and parser should use streaming. */ Property DETECTOR_ZIPFILE_OPENED = - Property.internalBoolean(ZIP_PREFIX + "detectorZipFileOpened"); + Property.internalBoolean(ZIP_PREFIX + "detector-zip-file-opened"); /** * Set by the detector to indicate whether streaming required DATA_DESCRIPTOR support. * If true, parser should start streaming with allowStoredEntriesWithDataDescriptor=true. */ Property DETECTOR_DATA_DESCRIPTOR_REQUIRED = - Property.internalBoolean(ZIP_PREFIX + "detectorDataDescriptorRequired"); + Property.internalBoolean(ZIP_PREFIX + "detector-data-descriptor-required"); /** * Set to true if the ZIP file was salvaged (rebuilt from a corrupt/truncated original). @@ -63,17 +63,17 @@ public interface Zip { /** * Compression method used for the entry (0=stored, 8=deflated, etc.). */ - Property COMPRESSION_METHOD = Property.externalInteger(ZIP_PREFIX + "compressionMethod"); + Property COMPRESSION_METHOD = Property.externalInteger(ZIP_PREFIX + "compression-method"); /** * Compressed size of the entry in bytes. */ - Property COMPRESSED_SIZE = Property.externalText(ZIP_PREFIX + "compressedSize"); + Property COMPRESSED_SIZE = Property.externalText(ZIP_PREFIX + "compressed-size"); /** * Uncompressed size of the entry in bytes. */ - Property UNCOMPRESSED_SIZE = Property.externalText(ZIP_PREFIX + "uncompressedSize"); + Property UNCOMPRESSED_SIZE = Property.externalText(ZIP_PREFIX + "uncompressed-size"); /** * CRC-32 checksum of the uncompressed entry data. @@ -83,7 +83,7 @@ public interface Zip { /** * Unix file mode/permissions for the entry. */ - Property UNIX_MODE = Property.externalInteger(ZIP_PREFIX + "unixMode"); + Property UNIX_MODE = Property.externalInteger(ZIP_PREFIX + "unix-mode"); /** * Platform that created the entry (0=MS-DOS, 3=Unix, etc.). @@ -93,7 +93,7 @@ public interface Zip { /** * Version of ZIP specification used to create the entry. */ - Property VERSION_MADE_BY = Property.externalInteger(ZIP_PREFIX + "versionMadeBy"); + Property VERSION_MADE_BY = Property.externalInteger(ZIP_PREFIX + "version-made-by"); /** * Whether the entry is encrypted. @@ -107,24 +107,24 @@ public interface Zip { * Result of the integrity check comparing central directory to local headers. * Values: "PASS" (no issues), "FAIL" (issues found), "PARTIAL" (only duplicate check done). */ - Property INTEGRITY_CHECK_RESULT = Property.internalText(ZIP_PREFIX + "integrityCheckResult"); + Property INTEGRITY_CHECK_RESULT = Property.internalText(ZIP_PREFIX + "integrity-check-result"); /** * Entry names that appear multiple times in the local headers (streaming). * Duplicate entries are a potential attack vector. */ - Property DUPLICATE_ENTRY_NAMES = Property.internalTextBag(ZIP_PREFIX + "duplicateEntryNames"); + Property DUPLICATE_ENTRY_NAMES = Property.internalTextBag(ZIP_PREFIX + "duplicate-entry-names"); /** * Entry names that exist in central directory but not in local headers. */ Property CENTRAL_DIRECTORY_ONLY_ENTRIES = - Property.internalTextBag(ZIP_PREFIX + "centralDirectoryOnlyEntries"); + Property.internalTextBag(ZIP_PREFIX + "central-directory-only-entries"); /** * Entry names that exist in local headers but not in central directory. * These are "hidden" entries that some tools won't see. */ Property LOCAL_HEADER_ONLY_ENTRIES = - Property.internalTextBag(ZIP_PREFIX + "localHeaderOnlyEntries"); + Property.internalTextBag(ZIP_PREFIX + "local-header-only-entries"); } diff --git a/tika-eval/tika-eval-app/src/test/resources/test-dirs/extractsA/file15_tags.json b/tika-eval/tika-eval-app/src/test/resources/test-dirs/extractsA/file15_tags.json index 9412d0b487..58697891ca 100644 --- a/tika-eval/tika-eval-app/src/test/resources/test-dirs/extractsA/file15_tags.json +++ b/tika-eval/tika-eval-app/src/test/resources/test-dirs/extractsA/file15_tags.json @@ -8,16 +8,16 @@ "org.apache.tika.parser.pdf.PDFParser" ], "tk:content-handler": "ToXMLContentHandler", - "tk:content": "\u003chtml xmlns\u003d\"http://www.w3.org/1999/xhtml\"\u003e\n\u003chead\u003e\n\u003cmeta name\u003d\"pdf:PDFVersion\" content\u003d\"1.3\" /\u003e\n\u003cmeta name\u003d\"pdf:docinfo:title\" content\u003d\"Apache Tika - Apache Tika\" /\u003e\n\u003cmeta name\u003d\"xmp:CreatorTool\" content\u003d\"Firefox\" /\u003e\n\u003cmeta name\u003d\"access_permission:modify_annotations\" content\u003d\"true\" /\u003e\n\u003cmeta name\u003d\"access_permission:can_print_degraded\ [...] + "tk:content": "\u003chtml xmlns\u003d\"http://www.w3.org/1999/xhtml\"\u003e\n\u003chead\u003e\n\u003cmeta name\u003d\"pdf:pdf-version\" content\u003d\"1.3\" /\u003e\n\u003cmeta name\u003d\"pdf:docinfo:title\" content\u003d\"Apache Tika - Apache Tika\" /\u003e\n\u003cmeta name\u003d\"xmp:CreatorTool\" content\u003d\"Firefox\" /\u003e\n\u003cmeta name\u003d\"access-permission:modify-annotations\" content\u003d\"true\" /\u003e\n\u003cmeta name\u003d\"access-permission:can-print_degraded [...] "tk:parse-time-millis": "500", - "access_permission:assemble_document": "true", - "access_permission:can_modify": "true", - "access_permission:can_print": "true", - "access_permission:can_print_degraded": "true", - "access_permission:extract_content": "true", - "access_permission:extract_for_accessibility": "true", - "access_permission:fill_in_form": "true", - "access_permission:modify_annotations": "true", + "access-permission:assemble-document": "true", + "access-permission:can-modify": "true", + "access-permission:can-print": "true", + "access-permission:can-print_degraded": "true", + "access-permission:extract-content": "true", + "access-permission:extract-for-accessibility": "true", + "access-permission:fill-in-form": "true", + "access-permission:modify-annotations": "true", "dc:creator": "Bertrand DelacrΘtaz", "dc:format": "application/pdf; version\u003d1.3", "dc:title": "Apache Tika - Apache Tika", @@ -26,10 +26,10 @@ "meta:author": "Bertrand DelacrΘtaz", "meta:creation-date": "2007-09-15T09:02:31Z", "meta:save-date": "2007-09-15T09:02:31Z", - "pdf:PDFVersion": "1.3", + "pdf:pdf-version": "1.3", "pdf:docinfo:created": "2007-09-15T09:02:31Z", "pdf:docinfo:creator": "Bertrand DelacrΘtaz", - "pdf:docinfo:creator_tool": "Firefox", + "pdf:docinfo:creator-tool": "Firefox", "pdf:docinfo:modified": "2007-09-15T09:02:31Z", "pdf:docinfo:producer": "Mac OS X 10.4.10 Quartz PDFContext", "pdf:docinfo:title": "Apache Tika - Apache Tika", diff --git a/tika-eval/tika-eval-app/src/test/resources/test-dirs/extractsA/file16_badTags.json b/tika-eval/tika-eval-app/src/test/resources/test-dirs/extractsA/file16_badTags.json index 4aaa07b47d..242070efb9 100644 --- a/tika-eval/tika-eval-app/src/test/resources/test-dirs/extractsA/file16_badTags.json +++ b/tika-eval/tika-eval-app/src/test/resources/test-dirs/extractsA/file16_badTags.json @@ -8,16 +8,16 @@ "org.apache.tika.parser.pdf.PDFParser" ], "tk:content-handler": "ToXMLContentHandler", - "tk:content": "\u003chtml xmlns\u003d\"http://www.w3.org/1999/xhtml\"\u003e\n\u003chead\u003e\n\u003cmeta name\u003d\"pdf:PDFVersion\" content\u003d\"1.3\" /\u003e\n\u003cmeta name\u003d\"pdf:docinfo:title\" content\u003d\"Apache Tika - Apache Tika\" meta name\u003d\"xmp:CreatorTool\" content\u003d\"Firefox\" /\u003e\n\u003c\u003c\u003c\u003c\u003cmeta name\u003d\"access_permission:modify_annotations\" content\u003d\"true\" /\u003e\n\u003cmeta name\u003d\"access_permission:can_print_ [...] + "tk:content": "\u003chtml xmlns\u003d\"http://www.w3.org/1999/xhtml\"\u003e\n\u003chead\u003e\n\u003cmeta name\u003d\"pdf:pdf-version\" content\u003d\"1.3\" /\u003e\n\u003cmeta name\u003d\"pdf:docinfo:title\" content\u003d\"Apache Tika - Apache Tika\" meta name\u003d\"xmp:CreatorTool\" content\u003d\"Firefox\" /\u003e\n\u003c\u003c\u003c\u003c\u003cmeta name\u003d\"access-permission:modify-annotations\" content\u003d\"true\" /\u003e\n\u003cmeta name\u003d\"access-permission:can-print [...] "tk:parse-time-millis": "500", - "access_permission:assemble_document": "true", - "access_permission:can_modify": "true", - "access_permission:can_print": "true", - "access_permission:can_print_degraded": "true", - "access_permission:extract_content": "true", - "access_permission:extract_for_accessibility": "true", - "access_permission:fill_in_form": "true", - "access_permission:modify_annotations": "true", + "access-permission:assemble-document": "true", + "access-permission:can-modify": "true", + "access-permission:can-print": "true", + "access-permission:can-print_degraded": "true", + "access-permission:extract-content": "true", + "access-permission:extract-for-accessibility": "true", + "access-permission:fill-in-form": "true", + "access-permission:modify-annotations": "true", "dc:creator": "Bertrand DelacrΘtaz", "dc:format": "application/pdf; version\u003d1.3", "dc:title": "Apache Tika - Apache Tika", @@ -26,10 +26,10 @@ "meta:author": "Bertrand DelacrΘtaz", "meta:creation-date": "2007-09-15T09:02:31Z", "meta:save-date": "2007-09-15T09:02:31Z", - "pdf:PDFVersion": "1.3", + "pdf:pdf-version": "1.3", "pdf:docinfo:created": "2007-09-15T09:02:31Z", "pdf:docinfo:creator": "Bertrand DelacrΘtaz", - "pdf:docinfo:creator_tool": "Firefox", + "pdf:docinfo:creator-tool": "Firefox", "pdf:docinfo:modified": "2007-09-15T09:02:31Z", "pdf:docinfo:producer": "Mac OS X 10.4.10 Quartz PDFContext", "pdf:docinfo:title": "Apache Tika - Apache Tika", diff --git a/tika-eval/tika-eval-app/src/test/resources/test-dirs/extractsA/file17_tagsOutOfOrder.json b/tika-eval/tika-eval-app/src/test/resources/test-dirs/extractsA/file17_tagsOutOfOrder.json index 419ba751b5..7a20654484 100644 --- a/tika-eval/tika-eval-app/src/test/resources/test-dirs/extractsA/file17_tagsOutOfOrder.json +++ b/tika-eval/tika-eval-app/src/test/resources/test-dirs/extractsA/file17_tagsOutOfOrder.json @@ -8,16 +8,16 @@ "org.apache.tika.parser.pdf.PDFParser" ], "tk:content-handler": "ToXMLContentHandler", - "tk:content": "\u003chtml xmlns\u003d\"http://www.w3.org/1999/xhtml\"\u003e\n\u003chead\u003e\n\u003cmeta name\u003d\"pdf:PDFVersion\" content\u003d\"1.3\" /\u003e\n\u003cmeta name\u003d\"pdf:docinfo:title\" content\u003d\"Apache Tika - Apache Tika\" /\u003e\n\u003cmeta name\u003d\"xmp:CreatorTool\" content\u003d\"Firefox\" /\u003e\n\u003cmeta name\u003d\"access_permission:modify_annotations\" content\u003d\"true\" /\u003e\n\u003cmeta name\u003d\"access_permission:can_print_degraded\ [...] + "tk:content": "\u003chtml xmlns\u003d\"http://www.w3.org/1999/xhtml\"\u003e\n\u003chead\u003e\n\u003cmeta name\u003d\"pdf:pdf-version\" content\u003d\"1.3\" /\u003e\n\u003cmeta name\u003d\"pdf:docinfo:title\" content\u003d\"Apache Tika - Apache Tika\" /\u003e\n\u003cmeta name\u003d\"xmp:CreatorTool\" content\u003d\"Firefox\" /\u003e\n\u003cmeta name\u003d\"access-permission:modify-annotations\" content\u003d\"true\" /\u003e\n\u003cmeta name\u003d\"access-permission:can-print_degraded [...] "tk:parse-time-millis": "500", - "access_permission:assemble_document": "true", - "access_permission:can_modify": "true", - "access_permission:can_print": "true", - "access_permission:can_print_degraded": "true", - "access_permission:extract_content": "true", - "access_permission:extract_for_accessibility": "true", - "access_permission:fill_in_form": "true", - "access_permission:modify_annotations": "true", + "access-permission:assemble-document": "true", + "access-permission:can-modify": "true", + "access-permission:can-print": "true", + "access-permission:can-print_degraded": "true", + "access-permission:extract-content": "true", + "access-permission:extract-for-accessibility": "true", + "access-permission:fill-in-form": "true", + "access-permission:modify-annotations": "true", "dc:creator": "Bertrand DelacrΘtaz", "dc:format": "application/pdf; version\u003d1.3", "dc:title": "Apache Tika - Apache Tika", @@ -26,10 +26,10 @@ "meta:author": "Bertrand DelacrΘtaz", "meta:creation-date": "2007-09-15T09:02:31Z", "meta:save-date": "2007-09-15T09:02:31Z", - "pdf:PDFVersion": "1.3", + "pdf:pdf-version": "1.3", "pdf:docinfo:created": "2007-09-15T09:02:31Z", "pdf:docinfo:creator": "Bertrand DelacrΘtaz", - "pdf:docinfo:creator_tool": "Firefox", + "pdf:docinfo:creator-tool": "Firefox", "pdf:docinfo:modified": "2007-09-15T09:02:31Z", "pdf:docinfo:producer": "Mac OS X 10.4.10 Quartz PDFContext", "pdf:docinfo:title": "Apache Tika - Apache Tika", diff --git a/tika-eval/tika-eval-app/src/test/resources/test-dirs/extractsA/file6_accessEx.pdf.json b/tika-eval/tika-eval-app/src/test/resources/test-dirs/extractsA/file6_accessEx.pdf.json index beeae5ed66..5e5756a0ff 100644 --- a/tika-eval/tika-eval-app/src/test/resources/test-dirs/extractsA/file6_accessEx.pdf.json +++ b/tika-eval/tika-eval-app/src/test/resources/test-dirs/extractsA/file6_accessEx.pdf.json @@ -6,14 +6,14 @@ "org.apache.tika.parser.pdf.PDFParser" ], "tk:exception:container-exception": "org.apache.tika.exception.AccessPermissionException: Content extraction is not allowed.\n\tat org.apache.tika.parser.pdf.AccessChecker.check(AccessChecker.java:77)\n\tat org.apache.tika.parser.pdf.PDFParser.parse(PDFParser.java:147)\n\tat org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:270)\n\tat org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:270)\n\tat org.apache.tika.parser.AutoDetectParser.parse(AutoDetectPa [...] - "access_permission:assemble_document": "false", - "access_permission:can_modify": "false", - "access_permission:can_print": "true", - "access_permission:can_print_degraded": "true", - "access_permission:extract_content": "false", - "access_permission:extract_for_accessibility": "true", - "access_permission:fill_in_form": "false", - "access_permission:modify_annotations": "false", + "access-permission:assemble-document": "false", + "access-permission:can-modify": "false", + "access-permission:can-print": "true", + "access-permission:can-print_degraded": "true", + "access-permission:extract-content": "false", + "access-permission:extract-for-accessibility": "true", + "access-permission:fill-in-form": "false", + "access-permission:modify-annotations": "false", "pdf:encrypted": "true", "resourceName": "file3_accessEx", "tika:file_ext": "pdf", diff --git a/tika-eval/tika-eval-app/src/test/resources/test-dirs/extractsA/file8_IOEx.pdf.json b/tika-eval/tika-eval-app/src/test/resources/test-dirs/extractsA/file8_IOEx.pdf.json index 66bf7d5043..17ae31c01e 100644 --- a/tika-eval/tika-eval-app/src/test/resources/test-dirs/extractsA/file8_IOEx.pdf.json +++ b/tika-eval/tika-eval-app/src/test/resources/test-dirs/extractsA/file8_IOEx.pdf.json @@ -7,14 +7,14 @@ "org.apache.tika.parser.pdf.PDFParser" ], "tk:exception:runtime": "java.lang.RuntimeException: java.io.IOException: Value is not an integer: 8546736428538085463808\n\tat org.apache.pdfbox.pdfparser.PDFStreamParser$1.tryNext(PDFStreamParser.java:186)\n\tat org.apache.pdfbox.pdfparser.PDFStreamParser$1.hasNext(PDFStreamParser.java:193)\n\tat org.apache.pdfbox.util.PDFStreamEngine.processSubStream(PDFStreamEngine.java:255)\n\tat org.apache.pdfbox.util.PDFStreamEngine.processSubStream(PDFStreamEngine.java:235)\n\tat org.apache.p [...] - "access_permission:assemble_document": "true", - "access_permission:can_modify": "true", - "access_permission:can_print": "true", - "access_permission:can_print_degraded": "true", - "access_permission:extract_content": "true", - "access_permission:extract_for_accessibility": "true", - "access_permission:fill_in_form": "true", - "access_permission:modify_annotations": "true", + "access-permission:assemble-document": "true", + "access-permission:can-modify": "true", + "access-permission:can-print": "true", + "access-permission:can-print_degraded": "true", + "access-permission:extract-content": "true", + "access-permission:extract-for-accessibility": "true", + "access-permission:fill-in-form": "true", + "access-permission:modify-annotations": "true", "resourceName": "file8_IOEx.pdf", "tika:file_ext": "pdf", "tika_batch_fs:relative_path": "file8_IOEx.pdf" diff --git a/tika-eval/tika-eval-app/src/test/resources/test-dirs/extractsB/file6_accessEx.pdf.json b/tika-eval/tika-eval-app/src/test/resources/test-dirs/extractsB/file6_accessEx.pdf.json index beeae5ed66..5e5756a0ff 100644 --- a/tika-eval/tika-eval-app/src/test/resources/test-dirs/extractsB/file6_accessEx.pdf.json +++ b/tika-eval/tika-eval-app/src/test/resources/test-dirs/extractsB/file6_accessEx.pdf.json @@ -6,14 +6,14 @@ "org.apache.tika.parser.pdf.PDFParser" ], "tk:exception:container-exception": "org.apache.tika.exception.AccessPermissionException: Content extraction is not allowed.\n\tat org.apache.tika.parser.pdf.AccessChecker.check(AccessChecker.java:77)\n\tat org.apache.tika.parser.pdf.PDFParser.parse(PDFParser.java:147)\n\tat org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:270)\n\tat org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:270)\n\tat org.apache.tika.parser.AutoDetectParser.parse(AutoDetectPa [...] - "access_permission:assemble_document": "false", - "access_permission:can_modify": "false", - "access_permission:can_print": "true", - "access_permission:can_print_degraded": "true", - "access_permission:extract_content": "false", - "access_permission:extract_for_accessibility": "true", - "access_permission:fill_in_form": "false", - "access_permission:modify_annotations": "false", + "access-permission:assemble-document": "false", + "access-permission:can-modify": "false", + "access-permission:can-print": "true", + "access-permission:can-print_degraded": "true", + "access-permission:extract-content": "false", + "access-permission:extract-for-accessibility": "true", + "access-permission:fill-in-form": "false", + "access-permission:modify-annotations": "false", "pdf:encrypted": "true", "resourceName": "file3_accessEx", "tika:file_ext": "pdf", diff --git a/tika-eval/tika-eval-app/src/test/resources/test-dirs/extractsB/file8_IOEx.pdf.json b/tika-eval/tika-eval-app/src/test/resources/test-dirs/extractsB/file8_IOEx.pdf.json index 66bf7d5043..17ae31c01e 100644 --- a/tika-eval/tika-eval-app/src/test/resources/test-dirs/extractsB/file8_IOEx.pdf.json +++ b/tika-eval/tika-eval-app/src/test/resources/test-dirs/extractsB/file8_IOEx.pdf.json @@ -7,14 +7,14 @@ "org.apache.tika.parser.pdf.PDFParser" ], "tk:exception:runtime": "java.lang.RuntimeException: java.io.IOException: Value is not an integer: 8546736428538085463808\n\tat org.apache.pdfbox.pdfparser.PDFStreamParser$1.tryNext(PDFStreamParser.java:186)\n\tat org.apache.pdfbox.pdfparser.PDFStreamParser$1.hasNext(PDFStreamParser.java:193)\n\tat org.apache.pdfbox.util.PDFStreamEngine.processSubStream(PDFStreamEngine.java:255)\n\tat org.apache.pdfbox.util.PDFStreamEngine.processSubStream(PDFStreamEngine.java:235)\n\tat org.apache.p [...] - "access_permission:assemble_document": "true", - "access_permission:can_modify": "true", - "access_permission:can_print": "true", - "access_permission:can_print_degraded": "true", - "access_permission:extract_content": "true", - "access_permission:extract_for_accessibility": "true", - "access_permission:fill_in_form": "true", - "access_permission:modify_annotations": "true", + "access-permission:assemble-document": "true", + "access-permission:can-modify": "true", + "access-permission:can-print": "true", + "access-permission:can-print_degraded": "true", + "access-permission:extract-content": "true", + "access-permission:extract-for-accessibility": "true", + "access-permission:fill-in-form": "true", + "access-permission:modify-annotations": "true", "resourceName": "file8_IOEx.pdf", "tika:file_ext": "pdf", "tika_batch_fs:relative_path": "file8_IOEx.pdf" diff --git a/tika-eval/tika-eval-app/src/test/resources/test-dirs/raw_input/file15_tags b/tika-eval/tika-eval-app/src/test/resources/test-dirs/raw_input/file15_tags index 9412d0b487..58697891ca 100644 --- a/tika-eval/tika-eval-app/src/test/resources/test-dirs/raw_input/file15_tags +++ b/tika-eval/tika-eval-app/src/test/resources/test-dirs/raw_input/file15_tags @@ -8,16 +8,16 @@ "org.apache.tika.parser.pdf.PDFParser" ], "tk:content-handler": "ToXMLContentHandler", - "tk:content": "\u003chtml xmlns\u003d\"http://www.w3.org/1999/xhtml\"\u003e\n\u003chead\u003e\n\u003cmeta name\u003d\"pdf:PDFVersion\" content\u003d\"1.3\" /\u003e\n\u003cmeta name\u003d\"pdf:docinfo:title\" content\u003d\"Apache Tika - Apache Tika\" /\u003e\n\u003cmeta name\u003d\"xmp:CreatorTool\" content\u003d\"Firefox\" /\u003e\n\u003cmeta name\u003d\"access_permission:modify_annotations\" content\u003d\"true\" /\u003e\n\u003cmeta name\u003d\"access_permission:can_print_degraded\ [...] + "tk:content": "\u003chtml xmlns\u003d\"http://www.w3.org/1999/xhtml\"\u003e\n\u003chead\u003e\n\u003cmeta name\u003d\"pdf:pdf-version\" content\u003d\"1.3\" /\u003e\n\u003cmeta name\u003d\"pdf:docinfo:title\" content\u003d\"Apache Tika - Apache Tika\" /\u003e\n\u003cmeta name\u003d\"xmp:CreatorTool\" content\u003d\"Firefox\" /\u003e\n\u003cmeta name\u003d\"access-permission:modify-annotations\" content\u003d\"true\" /\u003e\n\u003cmeta name\u003d\"access-permission:can-print_degraded [...] "tk:parse-time-millis": "500", - "access_permission:assemble_document": "true", - "access_permission:can_modify": "true", - "access_permission:can_print": "true", - "access_permission:can_print_degraded": "true", - "access_permission:extract_content": "true", - "access_permission:extract_for_accessibility": "true", - "access_permission:fill_in_form": "true", - "access_permission:modify_annotations": "true", + "access-permission:assemble-document": "true", + "access-permission:can-modify": "true", + "access-permission:can-print": "true", + "access-permission:can-print_degraded": "true", + "access-permission:extract-content": "true", + "access-permission:extract-for-accessibility": "true", + "access-permission:fill-in-form": "true", + "access-permission:modify-annotations": "true", "dc:creator": "Bertrand DelacrΘtaz", "dc:format": "application/pdf; version\u003d1.3", "dc:title": "Apache Tika - Apache Tika", @@ -26,10 +26,10 @@ "meta:author": "Bertrand DelacrΘtaz", "meta:creation-date": "2007-09-15T09:02:31Z", "meta:save-date": "2007-09-15T09:02:31Z", - "pdf:PDFVersion": "1.3", + "pdf:pdf-version": "1.3", "pdf:docinfo:created": "2007-09-15T09:02:31Z", "pdf:docinfo:creator": "Bertrand DelacrΘtaz", - "pdf:docinfo:creator_tool": "Firefox", + "pdf:docinfo:creator-tool": "Firefox", "pdf:docinfo:modified": "2007-09-15T09:02:31Z", "pdf:docinfo:producer": "Mac OS X 10.4.10 Quartz PDFContext", "pdf:docinfo:title": "Apache Tika - Apache Tika", diff --git a/tika-eval/tika-eval-app/src/test/resources/test-dirs/raw_input/file16_badTags b/tika-eval/tika-eval-app/src/test/resources/test-dirs/raw_input/file16_badTags index 4aaa07b47d..242070efb9 100644 --- a/tika-eval/tika-eval-app/src/test/resources/test-dirs/raw_input/file16_badTags +++ b/tika-eval/tika-eval-app/src/test/resources/test-dirs/raw_input/file16_badTags @@ -8,16 +8,16 @@ "org.apache.tika.parser.pdf.PDFParser" ], "tk:content-handler": "ToXMLContentHandler", - "tk:content": "\u003chtml xmlns\u003d\"http://www.w3.org/1999/xhtml\"\u003e\n\u003chead\u003e\n\u003cmeta name\u003d\"pdf:PDFVersion\" content\u003d\"1.3\" /\u003e\n\u003cmeta name\u003d\"pdf:docinfo:title\" content\u003d\"Apache Tika - Apache Tika\" meta name\u003d\"xmp:CreatorTool\" content\u003d\"Firefox\" /\u003e\n\u003c\u003c\u003c\u003c\u003cmeta name\u003d\"access_permission:modify_annotations\" content\u003d\"true\" /\u003e\n\u003cmeta name\u003d\"access_permission:can_print_ [...] + "tk:content": "\u003chtml xmlns\u003d\"http://www.w3.org/1999/xhtml\"\u003e\n\u003chead\u003e\n\u003cmeta name\u003d\"pdf:pdf-version\" content\u003d\"1.3\" /\u003e\n\u003cmeta name\u003d\"pdf:docinfo:title\" content\u003d\"Apache Tika - Apache Tika\" meta name\u003d\"xmp:CreatorTool\" content\u003d\"Firefox\" /\u003e\n\u003c\u003c\u003c\u003c\u003cmeta name\u003d\"access-permission:modify-annotations\" content\u003d\"true\" /\u003e\n\u003cmeta name\u003d\"access-permission:can-print [...] "tk:parse-time-millis": "500", - "access_permission:assemble_document": "true", - "access_permission:can_modify": "true", - "access_permission:can_print": "true", - "access_permission:can_print_degraded": "true", - "access_permission:extract_content": "true", - "access_permission:extract_for_accessibility": "true", - "access_permission:fill_in_form": "true", - "access_permission:modify_annotations": "true", + "access-permission:assemble-document": "true", + "access-permission:can-modify": "true", + "access-permission:can-print": "true", + "access-permission:can-print_degraded": "true", + "access-permission:extract-content": "true", + "access-permission:extract-for-accessibility": "true", + "access-permission:fill-in-form": "true", + "access-permission:modify-annotations": "true", "dc:creator": "Bertrand DelacrΘtaz", "dc:format": "application/pdf; version\u003d1.3", "dc:title": "Apache Tika - Apache Tika", @@ -26,10 +26,10 @@ "meta:author": "Bertrand DelacrΘtaz", "meta:creation-date": "2007-09-15T09:02:31Z", "meta:save-date": "2007-09-15T09:02:31Z", - "pdf:PDFVersion": "1.3", + "pdf:pdf-version": "1.3", "pdf:docinfo:created": "2007-09-15T09:02:31Z", "pdf:docinfo:creator": "Bertrand DelacrΘtaz", - "pdf:docinfo:creator_tool": "Firefox", + "pdf:docinfo:creator-tool": "Firefox", "pdf:docinfo:modified": "2007-09-15T09:02:31Z", "pdf:docinfo:producer": "Mac OS X 10.4.10 Quartz PDFContext", "pdf:docinfo:title": "Apache Tika - Apache Tika", diff --git a/tika-eval/tika-eval-app/src/test/resources/test-dirs/raw_input/file17_tagsOutOfOrder b/tika-eval/tika-eval-app/src/test/resources/test-dirs/raw_input/file17_tagsOutOfOrder index 419ba751b5..7a20654484 100644 --- a/tika-eval/tika-eval-app/src/test/resources/test-dirs/raw_input/file17_tagsOutOfOrder +++ b/tika-eval/tika-eval-app/src/test/resources/test-dirs/raw_input/file17_tagsOutOfOrder @@ -8,16 +8,16 @@ "org.apache.tika.parser.pdf.PDFParser" ], "tk:content-handler": "ToXMLContentHandler", - "tk:content": "\u003chtml xmlns\u003d\"http://www.w3.org/1999/xhtml\"\u003e\n\u003chead\u003e\n\u003cmeta name\u003d\"pdf:PDFVersion\" content\u003d\"1.3\" /\u003e\n\u003cmeta name\u003d\"pdf:docinfo:title\" content\u003d\"Apache Tika - Apache Tika\" /\u003e\n\u003cmeta name\u003d\"xmp:CreatorTool\" content\u003d\"Firefox\" /\u003e\n\u003cmeta name\u003d\"access_permission:modify_annotations\" content\u003d\"true\" /\u003e\n\u003cmeta name\u003d\"access_permission:can_print_degraded\ [...] + "tk:content": "\u003chtml xmlns\u003d\"http://www.w3.org/1999/xhtml\"\u003e\n\u003chead\u003e\n\u003cmeta name\u003d\"pdf:pdf-version\" content\u003d\"1.3\" /\u003e\n\u003cmeta name\u003d\"pdf:docinfo:title\" content\u003d\"Apache Tika - Apache Tika\" /\u003e\n\u003cmeta name\u003d\"xmp:CreatorTool\" content\u003d\"Firefox\" /\u003e\n\u003cmeta name\u003d\"access-permission:modify-annotations\" content\u003d\"true\" /\u003e\n\u003cmeta name\u003d\"access-permission:can-print_degraded [...] "tk:parse-time-millis": "500", - "access_permission:assemble_document": "true", - "access_permission:can_modify": "true", - "access_permission:can_print": "true", - "access_permission:can_print_degraded": "true", - "access_permission:extract_content": "true", - "access_permission:extract_for_accessibility": "true", - "access_permission:fill_in_form": "true", - "access_permission:modify_annotations": "true", + "access-permission:assemble-document": "true", + "access-permission:can-modify": "true", + "access-permission:can-print": "true", + "access-permission:can-print_degraded": "true", + "access-permission:extract-content": "true", + "access-permission:extract-for-accessibility": "true", + "access-permission:fill-in-form": "true", + "access-permission:modify-annotations": "true", "dc:creator": "Bertrand DelacrΘtaz", "dc:format": "application/pdf; version\u003d1.3", "dc:title": "Apache Tika - Apache Tika", @@ -26,10 +26,10 @@ "meta:author": "Bertrand DelacrΘtaz", "meta:creation-date": "2007-09-15T09:02:31Z", "meta:save-date": "2007-09-15T09:02:31Z", - "pdf:PDFVersion": "1.3", + "pdf:pdf-version": "1.3", "pdf:docinfo:created": "2007-09-15T09:02:31Z", "pdf:docinfo:creator": "Bertrand DelacrΘtaz", - "pdf:docinfo:creator_tool": "Firefox", + "pdf:docinfo:creator-tool": "Firefox", "pdf:docinfo:modified": "2007-09-15T09:02:31Z", "pdf:docinfo:producer": "Mac OS X 10.4.10 Quartz PDFContext", "pdf:docinfo:title": "Apache Tika - Apache Tika", diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-integration-tests/src/test/java/org/apache/tika/parser/AutoDetectParserConfigTest.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-integration-tests/src/test/java/org/apache/tika/parser/AutoDetectParserConfigTest.java index 5085e0de01..2d17b1231d 100644 --- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-integration-tests/src/test/java/org/apache/tika/parser/AutoDetectParserConfigTest.java +++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-integration-tests/src/test/java/org/apache/tika/parser/AutoDetectParserConfigTest.java @@ -92,7 +92,7 @@ public class AutoDetectParserConfigTest extends TikaTest { metadata, parseContext, true); for (Metadata m : metadataList) { for (String k : m.names()) { - assertTrue(k.startsWith("tk:") || k.startsWith("access_permission:") + assertTrue(k.startsWith("tk:") || k.startsWith("access-permission:") || k.startsWith("Content-") || k.equals("dc:creator"), "unexpected key: " + k); } diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-pdf-module/src/main/java/org/apache/tika/parser/pdf/PDFParser.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-pdf-module/src/main/java/org/apache/tika/parser/pdf/PDFParser.java index a2ccb629e6..e471ba230b 100644 --- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-pdf-module/src/main/java/org/apache/tika/parser/pdf/PDFParser.java +++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-pdf-module/src/main/java/org/apache/tika/parser/pdf/PDFParser.java @@ -675,7 +675,7 @@ public class PDFParser implements Parser, RenderingParser { // there is currently a fair amount of redundancy // TikaCoreProperties.FORMAT can be multivalued // There are also three potential pdf specific version keys: - // pdf:PDFVersion, pdfa:PDFVersion, pdf:PDFExtensionVersion + // pdf:pdf-version, pdfa:pdf-version, pdf:pdf-extension-version metadata.set(PDF.PDF_VERSION, Float.toString(document.getDocument().getVersion())); metadata.add(TikaCoreProperties.FORMAT.getName(), MEDIA_TYPE.toString() + "; version=" + Float.toString(document.getDocument().getVersion())); @@ -708,7 +708,7 @@ public class PDFParser implements Parser, RenderingParser { } else { // WARN that there is an Extension, but it's not Adobe's, and so is a 'new' // format'. - metadata.set("pdf:foundNonAdobeExtensionName", extName.getName()); + metadata.set("pdf:found-non-adobe-extension-name", extName.getName()); } } } diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-pdf-module/src/test/java/org/apache/tika/parser/pdf/PDFParserTest.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-pdf-module/src/test/java/org/apache/tika/parser/pdf/PDFParserTest.java index 26eab218dc..07c9ae372a 100644 --- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-pdf-module/src/test/java/org/apache/tika/parser/pdf/PDFParserTest.java +++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-pdf-module/src/test/java/org/apache/tika/parser/pdf/PDFParserTest.java @@ -697,11 +697,11 @@ public class PDFParserTest extends TikaTest { assertTrue(foundDC, "dc:format ::" + e.getValue()); String extensionVersionTruth = pdfExtensionVersions.get(e.getKey()); if (extensionVersionTruth != null) { - assertEquals(extensionVersionTruth, r.metadata.get("pdf:PDFExtensionVersion"), - "pdf:PDFExtensionVersion :: " + extensionVersionTruth); + assertEquals(extensionVersionTruth, r.metadata.get("pdf:pdf-extension-version"), + "pdf:pdf-extension-version :: " + extensionVersionTruth); } assertEquals(pdfVersions.get(e.getKey()), - r.metadata.get("pdf:PDFVersion"), "pdf:PDFVersion"); + r.metadata.get("pdf:pdf-version"), "pdf:pdf-version"); } //now test full 11.x XMLResult r = getXML("testPDF_Version.11.x.PDFA-1b.pdf"); diff --git a/tika-pipes/tika-pipes-integration-tests/src/test/java/org/apache/tika/pipes/core/MetadataWriteLimiterTest.java b/tika-pipes/tika-pipes-integration-tests/src/test/java/org/apache/tika/pipes/core/MetadataWriteLimiterTest.java index 248748f8d9..57358146a6 100644 --- a/tika-pipes/tika-pipes-integration-tests/src/test/java/org/apache/tika/pipes/core/MetadataWriteLimiterTest.java +++ b/tika-pipes/tika-pipes-integration-tests/src/test/java/org/apache/tika/pipes/core/MetadataWriteLimiterTest.java @@ -55,7 +55,7 @@ public class MetadataWriteLimiterTest { /** * Test that MetadataWriteLimiterFactory is loaded from config and limits are applied. * The config specifies includeFields: ["dc:creator", "Content-Type", "tk:content"] - * so other fields like "pdf:PDFVersion" should be filtered out. + * so other fields like "pdf:pdf-version" should be filtered out. */ @Test public void testWriteLimiterFromConfig(@TempDir Path tmp) throws Exception { @@ -74,7 +74,7 @@ public class MetadataWriteLimiterTest { // Fields not in includeFields should be filtered out // (unless they're "must add" fields like tk:parsed-by) - assertNull(metadata.get("pdf:PDFVersion"), "pdf:PDFVersion should be filtered out"); + assertNull(metadata.get("pdf:pdf-version"), "pdf:pdf-version should be filtered out"); assertNull(metadata.get("dc:format"), "dc:format should be filtered out"); } @@ -82,7 +82,7 @@ public class MetadataWriteLimiterTest { * Test that MetadataWriteLimiterFactory can be overridden via ParseContext. * The default config excludes tk:parse-time-millis, but the override allows it. * - * Note: We use tk:parse-time-millis instead of pdf:PDFVersion because the PDF parser + * Note: We use tk:parse-time-millis instead of pdf:pdf-version because the PDF parser * module is not a dependency of this test module, so PDF-specific metadata isn't extracted. */ @Test
