The contentDirectory value MUST NOT contain the forward slash (/) path separator and MUST NOT be either one or two periods (. or ..).
https://ocfl.io/1.0/spec/#content-directory
I believe the intent of that sentence is that the content directory must be a direct child of the version directory. The problem is that it only forbids the / path separator, so on Windows you could legally have nested\content\dir or even ..\..\..\..\..\..\.
This is complicated by:
The forward slash (/) path separator MUST be used in content paths in the manifest and fixity blocks within the inventory. Implementations that target systems using other separators will need to translate paths appropriately.
https://ocfl.io/1.0/spec/#inventory
However, that statement does not mandate a / separator in contentDirectory, presumably because it's not supposed to able to have any path separator.
https://ocfl.io/1.0/spec/#content-directory
I believe the intent of that sentence is that the content directory must be a direct child of the version directory. The problem is that it only forbids the
/path separator, so on Windows you could legally havenested\content\diror even..\..\..\..\..\..\.This is complicated by:
https://ocfl.io/1.0/spec/#inventory
However, that statement does not mandate a
/separator incontentDirectory, presumably because it's not supposed to able to have any path separator.