so
if i am not to use a pattern, how do i validate against the alphanumeric
part? also i have a conditional in the message type, should i use discriminator
with xpath rxpression for that?
elemA /elemB/elemC CRLF elemC/elemD/elemE CRLF elemF/elemG/elemH CRLF for the above strcuture, i have a requirement that elemC
must not exist if elemA is not there, and must exist if elemA is there.
sequenceC must not exist if sequenceA is not there, sequenceC must exist
if sequenceA is there. just wondering how do i do that with dfdl discriminator.
mant thanks again |
The
key point here is that the data format is delimited, and there is a requirement
to validate the parsed info set against some rules ( length constraints,
in this case). I would - set terminator="/" - set lengthKind='delimited' - use xs:minLength and xs:maxLength facets to check the length ( or use a pattern facet if you must, but min/maxLength facets will use less CPU ) - switch on validation in the DFDL parser so that the length of the delimited value gets checked against the facets in the schema. Other possibilities exist ( e.g. DFDL assert to check the length ) but this is the most efficient. regards, Tim Kimber, IBM Integration Bus Development (Industry Packs) Hursley, UK Internet: kimbert@uk.ibm.com Tel. 01962-816742 Internal tel. 37246742 From: "mfcplus@yahoo.com" <mfcplus@yahoo.com> To: Tim Kimber/UK/IBM@IBMGB, Date: 28/03/2014 11:25 Subject: Re: [DFDL-WG] newbie question
From: Tim Kimber <KIMBERT@uk.ibm.com>; To: <dfdl-wg@ogf.org>; Subject: Re: [DFDL-WG] newbie question Sent: Fri, Mar 28, 2014 10:19:47 AM
|
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--
dfdl-wg mailing list
dfdl-wg@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