Same shape as #1314, one relationship over. packages/ooxml.js/src/typed/shared/metadata.ts reads docProps/core.xml and docProps/app.xml by name:
const CORE_PROPERTIES_PATH = "docProps/core.xml";
const APP_PROPERTIES_PATH = "docProps/app.xml";
OPC names both through root relationships (.../package/2006/relationships/metadata/core-properties and .../officeDocument/2006/relationships/extended-properties), so a package that puts its core properties somewhere else reads as having no metadata at all: readCoreProperties returns every field undefined, silently, for all three formats.
hasCoreProperties and patchCoreProperties in the same file have it too, and they matter more than the read: patchCoreProperties throws package has no 'docProps/core.xml' XML part to patch for a package that does have core properties under another name, and documents.js's setDocumentMetadata fast path gates on hasCoreProperties. All three need to resolve the same path or the gate and the patch disagree.
findMainPartPath in typed/opc.ts is the equivalent resolver for the main part; this wants the same treatment against the two metadata relationship types. Worth checking documents.js's own src/opc/core-properties.ts (addCoreProperties) at the same time, since it creates the part and declares the relationship.
I have not checked whether any real-world producer actually renames these, unlike #1314 where a client file did.
Same shape as #1314, one relationship over.
packages/ooxml.js/src/typed/shared/metadata.tsreadsdocProps/core.xmlanddocProps/app.xmlby name:OPC names both through root relationships (
.../package/2006/relationships/metadata/core-propertiesand.../officeDocument/2006/relationships/extended-properties), so a package that puts its core properties somewhere else reads as having no metadata at all:readCorePropertiesreturns every field undefined, silently, for all three formats.hasCorePropertiesandpatchCorePropertiesin the same file have it too, and they matter more than the read:patchCorePropertiesthrowspackage has no 'docProps/core.xml' XML part to patchfor a package that does have core properties under another name, and documents.js'ssetDocumentMetadatafast path gates onhasCoreProperties. All three need to resolve the same path or the gate and the patch disagree.findMainPartPathintyped/opc.tsis the equivalent resolver for the main part; this wants the same treatment against the two metadata relationship types. Worth checking documents.js's ownsrc/opc/core-properties.ts(addCoreProperties) at the same time, since it creates the part and declares the relationship.I have not checked whether any real-world producer actually renames these, unlike #1314 where a client file did.