Indeed, support is there but I couldn't find this documented anywhere on the 
Sling site.
I therefore clarified the documentation in 
https://github.com/apache/sling-site/commit/2e881f47f3c57da49bd978ba161f03b25eb3440d
 
<https://github.com/apache/sling-site/commit/2e881f47f3c57da49bd978ba161f03b25eb3440d>.

Konrad

> On 14. Apr 2021, at 21:43, Stefan Seifert <[email protected]> 
> wrote:
> 
> 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 <[email protected]>
>> Sent: Wednesday, April 14, 2021 9:25 PM
>> To: [email protected]
>> 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 <[email protected]>
>>>> Sent: Wednesday, April 14, 2021 6:35 PM
>>>> To: [email protected]
>>>> 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