[DFDL-WG] Action 282 (was Re: Fw: [DFDL]: First Release of DFDL4S Parser Library)

Steve Hanson smh at uk.ibm.com
Tue Sep 22 10:50:13 EDT 2015


To kick start this action, here is a proposal ... builds on the precedent 
provided by dfdl:checkConstraints($node).

dfdl:checkValues($node, $val1, $val2, ...)
Returns boolean true if the specified node value matches any of the values 
provided by $val1 etc. 
The type of $val1 etc must be compatible with the type of $node.
It is a schema definition error if the $node argument is a complex 
element.
The number of value arguments is implementation-defined.


dfdl:checkRangeInclusive($node, $val1, $val2)
Returns boolean true if the specified node value is in the range given by 
$val1 and $val2, inclusive. 
The type of $val1 and $val2 must be compatible with the type of $node, and 
must be a derivative of xs:decimal.
It is a schema definition error if the $node argument is a complex 
element.


dfdl:checkRangeExclusive($node, $val1, $val2)
Returns boolean true if the specified node value is in the range given by 
$val1 and $val2, exclusive. 
The type of $val1 and $val2 must be compatible with the type of $node, and 
must be a derivative of xs:decimal.
It is a schema definition error if the $node argument is a complex 
element.


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



From:   Steve Hanson/UK/IBM
To:     DFDL-WG <dfdl-wg at ogf.org>
Date:   11/08/2015 16:28
Subject:        Fw: [DFDL]: First Release of DFDL4S Parser Library




Regards
 
Steve Hanson
Architect, IBM DFDL
Co-Chair, OGF DFDL Working Group
IBM SWG, Hursley, UK
smh at uk.ibm.com
tel:+44-1962-815848
----- Forwarded by Steve Hanson/UK/IBM on 11/08/2015 16:27 -----

From:   Michele Zundo <michele.zundo at esa.int>
To:     Mike Beckerle <mbeckerle.dfdl at gmail.com>
Cc:     Steve Hanson/UK/IBM at IBMGB, Maurizio De Bartolomei 
<Maurizio.De.Bartolomei at esa.int>, Montserrat Piñol <mpinol at eopp.esa.int>, 
"Rui Mestre (DME)" <rui.mestre at deimos.com.pt>
Date:   18/05/2015 08:47
Subject:        Re: [DFDL]: First Release of DFDL4S Parser Library



Thanks Mike,

we will add this to our list to be considered/noted.

However reading your explanation (NB I’m NOT at all an XPath expert) it 
seemed you
had some good reason for avoiding longer than 1 path, so I would like to 
avoid our DFDL4S
project results in an over-complication of the DFDL implementation/use of 
Xpath 
unless there are other reasons/users/rationale requiring this feature. 
(btw the syntax is still weird-ish:  “intersect” reminds me of Venn 
Diagrams…)

As a project manager I always evaluate solutions and their cost vs the 
benefit they bring,
and I believe the DFDL community should keep this is mind.

Michele

PS The syntax above anser to the question “belongs to” , would there be 
any way to express ranges of values then ?



On 15 May 2015, at 16:24 , Mike Beckerle <mbeckerle.dfdl at gmail.com> wrote:

Just a few comments on DFDL4S, and also thank you to Michele and team for 
the presentation on Tuesday. 

I think all the issues in the spreadsheet are fairly easily fixed in that 
they are not major changes to DFDL4S, and would bring it into much closer 
compliance with the DFDL spec.

The exception is the XPath limitations where DFDL4S has gone beyond what 
XPath 2.0 allows and invented new syntax for expressing set membership 
requirements.

So I took a look, and XPath 2.0 has a set intersect operator:  ns1 
intersect ns2 => ns3

This isn't in DFDL today, but might be usable to achieve the set 
membership test; however, it requires use of XPath node sequences of 
length greater than 1, which DFDL has avoided mostly. I say mostly as 
there are XPath expressions that return node sequences of length greater 
than 1 and those can be arguments to fn:count(...) for example.

So far in DFDL such node sequences cannot "leak out" of the XPath 
expression into DFDL elements, and I think the usage in DFDL4S is similar 
in that these node sequences would be needed only to check for set 
membership, so the result is just a boolean as part of an 
assert/discriminator.

We should examine whether XPath 2.0 set intersection is enough to meet the 
need. 

I believe the expressions would be something like:

      fn:exists( . intersect (123, 456, 789, .... many more items....) )


- mike beckerle


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


On Tue, May 12, 2015 at 10:45 AM, Michele Zundo <michele.zundo at esa.int> 
wrote:
for reference, 
here a summary of the reported problem in an excel sheet.

This message and any attachments are intended for the use of the addressee 
or addressees only.
The unauthorised disclosure, use, dissemination or copying (either in 
whole or in part) of its
content is not permitted.
If you received this message in error, please notify the sender and delete 
it from your system.
Emails can be altered and their integrity cannot be guaranteed by the 
sender.

Please consider the environment before printing this email.




-----------------------------------------
Michele Zundo

Head of Ground System Definition and Verification Office
EOP-PEP
European Space Agency, ESTEC
e-mail: michele.zundo at esa.int











-----------------------------------------
Michele Zundo

Head of Ground System Definition and Verification Office
EOP-PEP
European Space Agency, ESTEC
e-mail: michele.zundo at esa.int








This message and any attachments are intended for the use of the addressee 
or addressees only.
The unauthorised disclosure, use, dissemination or copying (either in 
whole or in part) of its
content is not permitted.
If you received this message in error, please notify the sender and delete 
it from your system.
Emails can be altered and their integrity cannot be guaranteed by the 
sender.

Please consider the environment before printing this email.

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


#### Sentinel2X-bandTMISPTypes.xsd moved to MyAttachments Repository V3.8 
() on 24 August 2015 by Steve Hanson.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.ogf.org/pipermail/dfdl-wg/attachments/20150922/25b3f017/attachment.html>


More information about the dfdl-wg mailing list