[ 
https://issues.apache.org/jira/browse/DAFFODIL-2096?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16860257#comment-16860257
 ] 

Steve Lawrence commented on DAFFODIL-2096:
------------------------------------------

As I started implementing the extensionsEnable feature, I started wondering 
what woulld be the use case for a user to be able to enable or disable certain 
extensions but not others? It seems to me either a user wants the full 
capabilities of Daffodil (all extensions enabled), or they want to be fully 
compliant with DFDL v1.0 (all extensions disabled). Or maybe another option 
would be fully compliant with IBM DFDL (e.g. error on things like 
outputValueCalc).

Perhaps instead of per-extension tunables, what we really want is a 
compatability mode tunable that either enables/disables features or changes 
property defaults based on what the user wants to be compatible with? I'm not 
sure if something like "strict" vs "lax" compatability mode makes sense, or if 
more specific modes like "daffodil" vs "dfdl1.0" vs "ibm" make sense. I'm 
hesitent to make an "ibm" compatability mode just because trying to track down 
everything that doesn't work with ibm and disable it could be a big task.

Continuing this though process, maybe different compatability modes are really 
just different sets of tunable values? So maybe all configurability should 
still be determined by tunables like it is now, but we add some way to set a 
bunch of tunables to a certain set of values? I'm not exaclty sure how that 
would blend in with our tunable generator, since presumably we would also want 
to generate these compatability tunable sets as well. And how would one 
speficiy this compatability mode? Is it a meta-tunable that just sets a bunch 
of other tuanbles when set?

> Add dfdlx extensions namespace prefix. Convert existing extensions to this 
> namespace.
> -------------------------------------------------------------------------------------
>
>                 Key: DAFFODIL-2096
>                 URL: https://issues.apache.org/jira/browse/DAFFODIL-2096
>             Project: Daffodil
>          Issue Type: New Feature
>          Components: Front End
>    Affects Versions: 2.3.0
>            Reporter: Michael Beckerle
>            Assignee: Steve Lawrence
>            Priority: Major
>
> Turns out Daffodil is not the only DFDL project creating extensions to DFDL.
> In order that schemas that are portable/non-portable can be distinguished, 
> the DFDL workgroup has decided to bless a specific extension namespace, which 
> is the current dfdl namespace plus the word "extensions".
> All the properties that we've added to dfdl that are beyond the DFDL v1.0 
> spec should appear in this new dfdlx namespace instead.
> When they appear inside a dfdl:format or other long-form annotation, they 
> would need the dfdlx namespace prefix, unlike standard dfdl properties which 
> omit this prefix when used in long-format.
> When referenced from <dfdl:property name="dfdlx:newProp">.... they would use 
> a QName, not just the bare name as DFDL v1.0 properties do.
> This same new prefix should be used for extension functions we add to DPath.
> Since this change would break existing Daffodil schemas, it is sensible for 
> both the current and new namespace both work for a while (co-exist) based on 
> a tunable flag, and we issue a (suppressable) warning about the older style.
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to