afaik Sling-Namespaces header is still supported - it was broken accidentally 
with SLING-4937 but added back in SLING-5531, so this is another option d)

from your list a) and c) makes sense.
not sure for b) if you have always control over this - but does not harm to 
have it in place there as well.

stefan

>-----Original Message-----
>From: Konrad Windszus <konra...@gmx.de>
>Sent: Wednesday, April 14, 2021 9:25 PM
>To: dev@sling.apache.org
>Subject: Re: o.a.s.contentparser.api.ContentHandler: Namespace handling
>
>Hi Stefan,
>thanks for the response. According to
>https://issues.apache.org/jira/browse/SLING-4937
><https://issues.apache.org/jira/browse/SLING-4937> the Sling-Namespaces
>header is no longer supported since 2015.
>The only thing which is still there is 'Sling-Nodetypes'.
>Therefore I think it is reasonable to build a table from up to three
>different sources:
>a) a fixed list of default namespace URIs and prefixes (JCR defined and
>what is there in Sling Starter)
>b) a configurable list of CNDs per execution of cp2fm
>c) everything which is configured in CNDs referenced in Sling-Nodetypes
>header.
>
>WDYT?
>Was there any particular reason why you felt the need to support the legacy
>Sling-Namespaces header?
>
>Thanks,
>Konrad
>
>> On 14. Apr 2021, at 20:21, Stefan Seifert <Stefan.Seifert@diva-
>e.com.INVALID> wrote:
>>
>> hello konrad.
>>
>> i've faced the same problem in [1][2] which is using [3] internally.
>> this is the standard list [4] i've come up with - but you have to make it
>configurable to support custom namespaces.
>> in the plugin, i'm parsing the bundle for Sling-Namespaces headers [5]
>which usually should contain all custom namespaces used in the JSON of the
>bundle.
>> of course it may be that namespaces are additionally defined in a cnd
>file.
>>
>> stefan
>>
>>
>> [1] https://wcm.io/tooling/maven/plugins/sling-initial-content-transform-
>maven-plugin/
>> [2] https://github.com/wcm-io/wcm-io-
>tooling/tree/develop/maven/plugins/sling-initial-content-transform-maven-
>plugin
>> [3] https://github.com/wcm-io/wcm-io-
>tooling/tree/develop/commons/content-package-builder
>> [4] https://github.com/wcm-io/wcm-io-
>tooling/blob/develop/commons/content-package-
>builder/src/main/java/io/wcm/tooling/commons/contentpackagebuilder/XmlNames
>paces.java
>> [5] https://github.com/wcm-io/wcm-io-
>tooling/blob/develop/maven/plugins/sling-initial-content-transform-maven-
>plugin/src/main/java/io/wcm/maven/plugins/slinginitialcontenttransform/Osgi
>BundleFile.java
>>
>>> -----Original Message-----
>>> From: Konrad Windszus <konra...@gmx.de>
>>> Sent: Wednesday, April 14, 2021 6:35 PM
>>> To: dev@sling.apache.org
>>> Subject: o.a.s.contentparser.api.ContentHandler: Namespace handling
>>>
>>> Hi,
>>> in the context of https://issues.apache.org/jira/browse/SLING-10243 I am
>>> currently trying to convert JSON Descriptor Files
>>> (https://sling.apache.org/documentation/bundles/content-loading-jcr-
>>> contentloader.html#json-descriptor-files) to Enhanced Docview XML
>>> (http://jackrabbit.apache.org/filevault/docview.html).
>>>
>>> I want to leverage https://github.com/apache/sling-org-apache-sling-
>>> contentparser-api for parsing the JSON Descriptor Files and I am
>wondering
>>> how to best deal with namespaces.
>>> Neither https://github.com/apache/sling-org-apache-sling-contentparser-
>>>
>api/blob/master/src/main/java/org/apache/sling/contentparser/api/ContentHan
>>> dler.java nor https://sling.apache.org/documentation/bundles/content-
>>> loading-jcr-contentloader.html#json-descriptor-files mentions namespaces
>>> but the example uses certain namespace prefixes.
>>>
>>> It doesn't seem mandatory though to define the used prefixes in the
>Sling-
>>> Nodetypes bundle header, so do we just assume that all repositories use
>the
>>> same prefixes?
>>> IMHO only namespace URI are globally unique but not necessarily the
>>> namespace prefixes.
>>> JCR itself only defines 4 prefixes:
>>>
>https://docs.adobe.com/content/docs/en/spec/jcr/2.0/3_Repository_Model.html
>>> #3.5.1%20Namespace%20Registry
>>>
>>> As (DocView) XML requires to explicitly declare the used namespaces I
>>> wonder which table to use as basis?
>>> Should I just take the mapping from the Sling Starter?
>>>
>>> Thanks for any input,
>>> Konrad
>>

Reply via email to