clarification: DFDL behavior of intersect, except operators

Some time back there was an erratum to add intersect and except operators from XPath 2.0 to DFDL. I believe these were in use by the DFDL4S flavor of Daffodil, and so were added to DFDL v1.0. Are these operators restricted to accept or to produce 0 or 1 node only, or are they able to accept and produce lists of nodes that can then be counted with fn:count, for example? I guess I have lost track of the use-cases for these. The XPath 2.0 definition of these operators is of course fully general, accepting multiple node sequences, and producing multiple-node sequences. That would mean the ultimate result of these operators could be a sequence of more than one node, and that means it would have to be an argument to fn:count, fn:exists, .... not sure what other functions. They could never be the direct result-producing part of an expression. Can someone point me at the use case for these again? Mike Beckerle | OGF DFDL Workgroup Co-Chair | Owl Cyber Defense | www.owlcyberdefense.com Please note: Contributions to the DFDL Workgroup's email discussions are subject to the OGF Intellectual Property Policy <http://www.ogf.org/About/abt_policies.php>

They were added at the same time as dfdl:checkRangeInclusive() anbd dfdl:checkRangeExclusive() - https://redmine.ogf.org/projects/dfdl-wg/issues/314. I know that the functions were intended to replace DFDL4S custom operators 'in' and 'inrange' which were used in assert expressions (see attached schemas). I don't recall what the intersect & except operators use cases were though. I think you need to find the original action in the minutes. Regards Steve Hanson IBM Hybrid Integration, Hursley, UK Architect, IBM DFDL Co-Chair, OGF DFDL Working Group smh@uk.ibm.com tel:+44-1962-815848 mob:+44-7717-378890 Note: I work Tuesday to Friday From: Mike Beckerle <mbeckerle.dfdl@gmail.com> To: DFDL-WG <dfdl-wg@ogf.org> Date: 03/08/2020 15:49 Subject: [EXTERNAL] [DFDL-WG] clarification: DFDL behavior of intersect, except operators Sent by: "dfdl-wg" <dfdl-wg-bounces@ogf.org> Some time back there was an erratum to add intersect and except operators from XPath 2.0 to DFDL. I believe these were in use by the DFDL4S flavor of Daffodil, and so were added to DFDL v1.0. Are these operators restricted to accept or to produce 0 or 1 node only, or are they able to accept and produce lists of nodes that can then be counted with fn:count, for example? I guess I have lost track of the use-cases for these. The XPath 2.0 definition of these operators is of course fully general, accepting multiple node sequences, and producing multiple-node sequences. That would mean the ultimate result of these operators could be a sequence of more than one node, and that means it would have to be an argument to fn:count, fn:exists, .... not sure what other functions. They could never be the direct result-producing part of an expression. Can someone point me at the use case for these again? Mike Beckerle | OGF DFDL Workgroup Co-Chair | Owl Cyber Defense | www.owlcyberdefense.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@ogf.org https://urldefense.proofpoint.com/v2/url?u=https-3A__www.ogf.org_mailman_listinfo_dfdl-2Dwg&d=DwICAg&c=jf_iaSHvJObTbx-siA1ZOg&r=AJa9ThEymJXYnOqu84mJuw&m=tdZdFw4Zs-UTkgwRLKrUcqztMeCE-u9iah039TT2uRo&s=ZsLYXY7vqvwZaSUmU6057El-dLL8Kw9_BJmqbFop2qk&e= 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
participants (2)
-
Mike Beckerle
-
Steve Hanson