You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by kw...@apache.org on 2022/09/25 18:50:44 UTC

[jackrabbit-filevault] branch feature/implicit-namespace-mapping-documentation created (now 87cb00f8)

This is an automated email from the ASF dual-hosted git repository.

kwin pushed a change to branch feature/implicit-namespace-mapping-documentation
in repository https://gitbox.apache.org/repos/asf/jackrabbit-filevault.git


      at 87cb00f8 Document implicit namespace registration

This branch includes the following new commits:

     new 87cb00f8 Document implicit namespace registration

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[jackrabbit-filevault] 01/01: Document implicit namespace registration

Posted by kw...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

kwin pushed a commit to branch feature/implicit-namespace-mapping-documentation
in repository https://gitbox.apache.org/repos/asf/jackrabbit-filevault.git

commit 87cb00f87569ac1936c30cde6180423399066797
Author: Konrad Windszus <kw...@apache.org>
AuthorDate: Sun Sep 25 20:50:38 2022 +0200

    Document implicit namespace registration
---
 src/site/markdown/nodetypes.md | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)

diff --git a/src/site/markdown/nodetypes.md b/src/site/markdown/nodetypes.md
index 4dc23275..ea1de076 100644
--- a/src/site/markdown/nodetypes.md
+++ b/src/site/markdown/nodetypes.md
@@ -19,14 +19,24 @@ Node Types and Namespaces
 ===========
 
 Packages can register custom [JCR node types](https://s.apache.org/jcr-2.0-spec/8_Node_Type_Discovery.html) and [Namespaces](https://s.apache.org/jcr-2.0-spec/3_Repository_Model.html#3.2.1%20Namespaces) during import by carrying arbitrarily many `.cnd` files. All files names matching the regular expression pattern set in [package property](properties.html) `cndPattern` as well as all `*.cnd` files below `META-INF/vault` are considered. Details around the CND file format can be found at < [...]
-Node types and namespaces whose qualified name/prefix/uri is already registered are not touched. This also means that existing namespaces and node types are never modified but only once initially installed in case they are not yet there.
+Node types and namespaces whose qualified name/prefix/uri is already registered are not touched. This also means that existing namespaces and node types are never modified but only once initially installed in case they are not yet there. Also remapping an existing namespace URI to another prefix is not supported.
+
+Implicit Namespace Registration
+-------
+
+[FileVault Document View (DocView) Format](./docview.html) enforces the declaration of each namespace with a mandatory prefix in the XML file. Those namespace mappings are globally registered lazily (i.e. when the according XML is processed) in case
+
+1) the namespace URI is not registered yet in the repository namespace registry
+2) the prefix is not yet bound to another URI
+
+In all other cases the namespace mapping is just [overwritten for the current session](https://s.apache.org/jcr-2.0-spec/3_Repository_Model.html#3.5.2%20Session-Local%20Mappings) (used for importing the docview XML).
 
 Namespace Prefixes
 -------
 
-As the [Standard Form of JCR Paths](https://s.apache.org/jcr-2.0-spec/3_Repository_Model.html#3.4.3.1%20Standard%20Form) only uses qualified names (i.e. leveraging prefixes instead of full URLs) it is important that the destination repository uses the same prefixes as are being used in the package.
+As the [Standard Form of JCR Paths](https://s.apache.org/jcr-2.0-spec/3_Repository_Model.html#3.4.3.1%20Standard%20Form) only uses qualified names (i.e. leveraging prefixes instead of full URIs) it is important that the destination repository uses the same prefixes as are being used in the package.
 
-Although you can redefine a namespace URL to be mapped from another prefix in the [FileVault Document View (DocView) Format](./docview.html) this will only be used during parsing that file (i.e. once during import) but is not persisted in the destination repository. Particularly it won't affect:
+Although you can redefine a namespace URI to be mapped from another prefix in the [FileVault Document View (DocView) Format](./docview.html) this will only be used during parsing that file (i.e. once during import) but is not persisted in the destination repository in case the namespace URI is already mapped to another prefix or the prefix is already bound to another URI. Particularly it won't affect:
 
 1. property values containing a path in the JCR standard form (for properties of type `STRING`). [Property type `PATH`](https://s.apache.org/jcr-2.0-spec//3_Repository_Model.html#3.6.1.10%20PATH) on the other hand internally always stores the full namespace URL and the local name, therefore the qualified name is calculated for each conversion to string and takes into account the current prefix mapping.
 2. the standard form of JCR paths containing namespaced items