Let's be clear on the two kinds of regex that DFDL requires.

1) Regexs as used in lengthKind 'pattern' and testKind 'pattern' must absolutely not be XML schema regexs. They are way too restrictive and don't allow any of the look-ahead capability that you get with Java or PERL. This has caused no end of problems with IBM MRM's TDS pattern facility.

2) Regexs as used in the xs:pattern facet for validation. These must be regular XSDL regexs so that a DFDL schema is a genuine XML Schema.

Regards

Steve Hanson
Architect, Data Format Description Language (DFDL)
Co-Chair,
OGF DFDL Working Group
IBM SWG, Hursley, UK

smh@uk.ibm.com
tel:+44-1962-815848




From:        Mike Beckerle <mbeckerle.dfdl@gmail.com>
To:        Suman Kalia <kalia@ca.ibm.com>,
Cc:        dfdl-wg@ogf.org
Date:        14/11/2012 18:24
Subject:        Re: [DFDL-WG] Clarification needed: regular expressions - does '.' match newlines by default?
Sent by:        dfdl-wg-bounces@ogf.org





I was in a meeting the other day where a number of people said they believe the regex capabilities offered in XML Schema are not sufficient.

I am not exactly sure what XML Schema leaves out, but I have many examples making use of look-ahead/look-behind features, and I suspect those may be an issue.

...mike

On Wed, Nov 14, 2012 at 12:59 PM, Suman Kalia <kalia@ca.ibm.com> wrote:
I came across this issue couple of weeks ago..  the regular expression syntax used in XML Schema is strict than what is supported in Java regular expression.  DFDL regular expression syntax and restrictions should match XML schema specification..  

Here is an example for which APAR has been opened and we will supplying fix in WMB toolkit to make regular expression comply to the XML Schema spec...


The following line causes the XML schema compiler to fail -                        

                                                                       
<xsd:pattern value="([a-zA-Z0-9 ]|\-|\.|_|\(|\)|\\|\/|.&amp;|\')*"/>    

                                                                       
Here the customer has escaped  forward slash and single quote characters. Instead of \/ it should be / and instead of \' it should be '                                                      
                                                                       
Following is accepted by XML Schema compiler..                            
                                                                       
<xsd:pattern value="([a-zA-Z0-9 ]|\-|\.|_|\(|\)|\\|/|.&amp;|')*"/>      

                                                                       





Suman Kalia

IBM Canada Lab

WMB Toolkit Architect and Development Lead

Tel:
905-413-3923 T/L 313-3923
Email:
kalia@ca.ibm.com

For info on Message broker

http://www.ibm.com/developerworks/websphere/zones/businessintegration/wmb.html





From:        
Mike Beckerle <mbeckerle.dfdl@gmail.com>
To:        
Tim Kimber <KIMBERT@uk.ibm.com>,
Cc:        
dfdl-wg@ogf.org, dfdl-wg-bounces@ogf.org
Date:        
11/14/2012 12:46 PM
Subject:        
Re: [DFDL-WG] Clarification needed: regular expressions - does '.' match newlines by default?
Sent by:        dfdl-wg-bounces@ogf.org




I agree with Tim's opinion, but add that this is *NOT* the default behavior of the java regex library we're using in Daffodil currently. One must prefix all regex's by (?s) I believe to achieve the non-default line-ending behavior.

On Wed, Nov 14, 2012 at 11:15 AM, Tim Kimber <
KIMBERT@uk.ibm.com> wrote:
I would vote for this feature to be switched off by default in DFDL processors. It is mainly useful when dealing with lines of text, but DFDL formats are not always lines of text.

So to be 100% clear, I think the '.' wildcard should match all characters, including line endings.


regards,

Tim Kimber, DFDL Team,
Hursley, UK
Internet:  
kimbert@uk.ibm.com
Tel. 01962-816742  
Internal tel. 37246742





From:        
Mike Beckerle <mbeckerle.dfdl@gmail.com>
To:        
dfdl-wg@ogf.org,
Date:        
14/11/2012 12:53
Subject:        
[DFDL-WG] Clarification needed: regular expressions - does '.' match newlines by default?
Sent by:        
dfdl-wg-bounces@ogf.org






A key behavior distinction in regular expressions is whether the '.' wildcard matches line endings or not.

Regular expression libraries can be configured, usually by some sort of expression modifier, either way so that the '.' will not match a line ending or so that it will.

Question is, how is it configured by default in DFDL regular expressions?

This is part of the overall issue of tightening up regular expressions as part of DFDL. I.e., what exactly is the regex dialect, and how is it configured by default.

...mike

--
Mike Beckerle | OGF DFDL WG Co-Chair 
Tel: 
781-330-0412
--
 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




--
Mike Beckerle | OGF DFDL WG Co-Chair 
Tel: 
781-330-0412
--
 dfdl-wg mailing list
 
dfdl-wg@ogf.org
 
https://www.ogf.org/mailman/listinfo/dfdl-wg



--
Mike Beckerle | OGF DFDL WG Co-Chair 
Tel:  781-330-0412
--
 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