[DFDL-WG] clarification: element properties like nilValue and nilKind on simpleType - scoping rules

Steve Hanson smh at uk.ibm.com
Sun Apr 30 03:49:16 EDT 2017


The workaround is not legal. The behaviour is (b), as specified in section 
8.3 which provides the algorithm for combining properties. In that 
description, the key word is "applicable".

Regards
 
Steve Hanson
IBM Hybrid Integration, Hursley, UK
Architect, IBM DFDL
Co-Chair, OGF DFDL Working Group
smh at uk.ibm.com
tel:+44-1962-815848
mob:+44-7717-378890



From:   Mike Beckerle <mbeckerle.dfdl at gmail.com>
To:     "dfdl-wg at ogf.org" <dfdl-wg at ogf.org>, Steve Lawrence 
<slawrence at tresys.com>
Date:   28/04/2017 18:55
Subject:        [DFDL-WG] clarification: element properties like nilValue 
and nilKind on simpleType - scoping rules
Sent by:        "dfdl-wg" <dfdl-wg-bounces at ogf.org>



So the nil-related properties are not allowed on dfdl:simpleType 
annotation elements. As well, the corresponding short-form annotations are 
not allowed on xs:simpleType elements. 

But is this workaround legal?

<dfdl:defineFormat name="nilStuff">
   <dfdl:format nilKind="literalValue" nilValue="-"/>
</dfdl:defineFormat>
...
<xs:simpleType dfdl:ref="tns:nilStuff">
   ....
</xs:simpleType>

You see that I'm not putting the nil properties on a dfdl:simpleType nor 
in short form. I'm getting them indirectly via a ref.

If this workaround is allowed, then I claim the restriction is pretty 
meaningless and we should probably drop it.

A variation on this theme: if nilKind and nilValue are defined in the 
default format surrounding an xs:simpleType, can the element referencing 
that simpleType pick up these definitions from the default format 
surrounding the simpleType, or can it only get them its own default 
format.

Another variation: what about dfdl:occursCountKind. Can I put that in a 
named format, reference it from an xs:simpleType, and have it seen by an 
element referencing that simpleType? What about the default-format 
variation? 

I think there are only two stable design points

(a) the restriction is meaningless, the workaround works, and the default 
format surrounding a simpleType def can contribute "element" centric 
properties such as nilKind, nilValue, and occursCountKind  to the element 
referencing the type.

(b) the restriction is enforced and only the properties meaningful to a 
simpleType can be inherited by an element that references that type. 
The workaround above doesn't work. Nor does having nilValue or nilKind as 
the default format surrounding a simpleType mean anything. They would 
always be ignored. 

I guess there is also this design point:

(c) the restriction prevents direct placement of element-centric 
properties on dfdl:simpleType or in short form on xs:simpleType, but the 
workaround works, and default format inheritance from the simpleType's 
default format would also work.

This last one just seems odd to me. It's a restriction for which the 
workaround is trivial, so one gains nothing from the restriction.

...mikeb

Mike Beckerle | OGF DFDL Workgroup Co-Chair | Tresys Technology | 
www.tresys.com
Please note: Contributions to the DFDL Workgroup's email discussions are 
subject to the OGF Intellectual Property Policy
--
  dfdl-wg mailing list
  dfdl-wg at ogf.org
  https://www.ogf.org/mailman/listinfo/dfdl-wg

Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 
741598. 
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.ogf.org/pipermail/dfdl-wg/attachments/20170430/66224f15/attachment.html>


More information about the dfdl-wg mailing list