> I think you need more flexibility than that

 

Correct.  The boundary string for multipart emails is an infinite set of possibilities.

 

> The dfdl:initiator/separator/terminator properties do take a DFDL expression, and it should be possible to model a wide range of data formats using those properties

 

Maybe.  I’ve already considered this, and it may be possible to rebuild the DFDL schema using one of these.

 

For what I’m doing, however, I think this is another one of those cases where it’s simply going to be easier to do this Java.

 

Thanks for thinking through this, Tim.

 

From: dfdl-wg-bounces@ogf.org [mailto:dfdl-wg-bounces@ogf.org] On Behalf Of Tim Kimber
Sent: Tuesday, June 25, 2013 9:56 AM
To: dfdl-wg@ogf.org
Subject: Re: [DFDL-WG] Can I concatenate a variable?

 

There is no way to vary the pattern depending on the value of a variable unless you have a limited number of possible patterns.  In that case you could use the variable ( in the expression for a DFDL discriminator ) to discriminate a choice where each branch of the choice has a different DFDL regular expression.

However, I think you need more flexibility than that - the boundary string could be just about anything, right?. The dfdl:initiator/separator/terminator properties do take a DFDL expression, and it should be possible to model a wide range of data formats using those properties. Is there some reason why that is not possible in your case?

regards,

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




From:        "Garriss Jr., James P." <jgarriss@mitre.org>
To:        "dfdl-wg@ogf.org" <dfdl-wg@ogf.org>,
Date:        25/06/2013 12:38
Subject:        Re: [DFDL-WG] Can I concatenate a variable?
Sent by:        dfdl-wg-bounces@ogf.org





> In section 12.3.5 of the specification, the 'lengthPattern' property is listed as having the type 'DFDL Regular expression'. Unlike some other properties, dfdl:lengthPattern cannot be a DFDL expression. Therefore it cannot contain a DFDL variable reference.
 
Is there no workaround for this?
 
From: dfdl-wg-bounces@ogf.org [mailto:dfdl-wg-bounces@ogf.org] On Behalf Of Tim Kimber
Sent:
Monday, June 24, 2013 4:11 PM
To:
dfdl-wg@ogf.org
Subject:
Re: [DFDL-WG] Can I concatenate a variable?

 
Hi James,

In section 12.3.5 of the specification, the 'lengthPattern' property is listed as having the type 'DFDL Regular expression'. Unlike some other properties, dfdl:lengthPattern cannot be a DFDL expression. Therefore it cannot contain a DFDL variable reference.


On the other hand, section 14.2 lists the data type of dfdl:separator as 'List of DFDL String Literals or DFDL Expression', However, your dfdl:separator is not a valid DFDL expression. The property must be either a valid DFDL expression or a list of DFDL string literals. The syntax you need is


<xsd:sequence
dfdl:separator="{fn:concat('--'),$some_boundary}" dfdl:separatorSuppressionPolicy="anyEmpty"  dfdl:terminator="--%CR;%LF;">

regards,

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





From:        
"Garriss Jr., James P." <jgarriss@mitre.org>
To:        
"dfdl-wg@ogf.org" <dfdl-wg@ogf.org>,
Date:        
24/06/2013 20:38

Subject:        
[DFDL-WG] Can I concatenate a variable?
Sent by:        
dfdl-wg-bounces@ogf.org






Suppose I define a variable like this:

 
<dfdl:defineVariable
name="boundary" defaultValue="some_boundary" type="xsd:string"/>
 
Can I later concatenate it with other values?  

 
For example, can I concatenate it as part of a pattern?

 
<xsd:element
name="Preamble" type="xsd:string" dfdl:lengthKind="pattern" dfdl:lengthPattern="(.+?)(?=--{$some_boundary})"/>
 
Can I concatenate it as part of a separator?

 
<xsd:sequence
dfdl:separator="--{$some_boundary}" dfdl:separatorSuppressionPolicy="anyEmpty"  dfdl:terminator="--%CR;%LF;">
 
TIA!
--
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
--
 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