You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@daffodil.apache.org by "Costello, Roger L." <co...@mitre.org> on 2019/04/19 19:16:48 UTC

Seek a review please of my slides on dfdl:nilValue

Hello DFDL community,

I created some slides on the dfdl:nilValue property. See below. I would appreciate a review of the slides to see if I am understanding the property correctly.  Thank you!  /Roger

Slide #1
[cid:image003.png@01D4F6C2.E6224180]

Slide #2
[cid:image004.png@01D4F6C2.E6224180]

Slide #3
[cid:image005.png@01D4F6C2.E6224180]

Slide #4
[cid:image006.png@01D4F6C2.E6224180]

Slide #5
[cid:image007.png@01D4F6C2.E6224180]

Slide #6
[cid:image008.png@01D4F6C2.E6224180]

Slide #7
[cid:image009.png@01D4F6C2.E6224180]

Slide #8
[cid:image010.png@01D4F6C2.E6224180]

Slide #9
[cid:image011.png@01D4F6C2.E6224180]




Re: Seek a review please of my slides on dfdl:nilValue

Posted by "Beckerle, Mike" <mb...@tresys.com>.
These are great slides.

On slide 2 and generally I think XML offers several ways to represent "no information". You may not want to go into this more general topic, but thought I would mention it.


  *   Nilled elements,
  *   absence of an element.
  *   reserved elements

There are trade offs among these.

Nilled elements allow the element to have any simple type, as the nil indication is carried on a separate XML boolean attribute, xsi:nil.

Absence of an element can be done by
<choice>
  <sequence dfdl:initiator="-"/>
  <element ...../>
</choice>

Reserved elements are elements that explicitly represent no information:
Ex:
<make><NoStatement/></make>
vs.
<make><value>Chevy</value></make>

Notice how you have to have an inner value element in order to use this technique.

You can also do an empty element if there is a value element expected:

<make/> (has no value element)

So you don't have to have a <NoStatement/> kind of element. There can just be no <value>...</value> child.

For a straghtforward textual format with "-" as the no-info indicator, any of these techniques will work.


One other thing about nillable elements. They can't be computed via dfdl:inputValueCalc, as there is no way for a DFDL expression to return nil, resulting in a nilled element. DFDL expressions must return a simple value; hence, by definition there is a value and the element cannot be nilled.

















Get Outlook for Android<https://aka.ms/ghei36>

________________________________
From: Costello, Roger L. <co...@mitre.org>
Sent: Friday, April 19, 2019 7:16:48 PM
To: users@daffodil.apache.org
Subject: Seek a review please of my slides on dfdl:nilValue


Hello DFDL community,



I created some slides on the dfdl:nilValue property. See below. I would appreciate a review of the slides to see if I am understanding the property correctly.  Thank you!  /Roger



Slide #1

[cid:image003.png@01D4F6C2.E6224180]



Slide #2

[cid:image004.png@01D4F6C2.E6224180]



Slide #3

[cid:image005.png@01D4F6C2.E6224180]



Slide #4

[cid:image006.png@01D4F6C2.E6224180]



Slide #5

[cid:image007.png@01D4F6C2.E6224180]



Slide #6

[cid:image008.png@01D4F6C2.E6224180]



Slide #7

[cid:image009.png@01D4F6C2.E6224180]



Slide #8

[cid:image010.png@01D4F6C2.E6224180]



Slide #9

[cid:image011.png@01D4F6C2.E6224180]