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 >>> >
