Hi,
according to [1] a simple file is sufficient to generate a node with several 
properties out of that (during deserialization/package installation)
The problem is that this filename does not have any local namespace 
declarations. Still the filename might look like _jcr_myfile.png which is 
mapped to the (qualified) name: jcr:myfile.png
It is not mandatory to define the used namespaces in the package in cnd files 
[2] either.

Such a package could only be installed in repositories which define the 
namespace prefix "jcr:" already. In other cases deserialisation will fail. Also 
it is not deterministic to which expanded form this is mapped.

This is not consistent with how DocView files [3]  behave as they leverage the 
namespaces defined within the XML to always generate node names in expanded 
form.
This is required also by the JCR spec[4]: "For every namespace used within the 
subgraph rooted at N, the corresponding JCR namespace mapping in the current 
session is included in the exported document such that any use of the namespace 
prefix in the exported document is within the scope of the appropriate 
namespace declaration."

Is this just a flaw in the way how FileVault deserialisation behaves and is the 
only way to import namespaced nodes (independent of their namespace prefix) via 
DocView XML then?
Thanks in advance for clarification.

Konrad

[1] - 
https://jackrabbit.apache.org/filevault/vaultfs.html#Simple_File_aggregates
[2] - https://jackrabbit.apache.org/filevault/nodetypes.html
[3] - https://jackrabbit.apache.org/filevault/docview.html
[4] - 
https://docs.adobe.com/content/docs/en/spec/jcr/2.0/7_Export.html#7.3%20Document%20View

Reply via email to