[DFDL-WG] Can I concatenate a variable?
Tim Kimber
KIMBERT at uk.ibm.com
Tue Jun 25 09:56:14 EDT 2013
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 at uk.ibm.com
Tel. 01962-816742
Internal tel. 37246742
From: "Garriss Jr., James P." <jgarriss at mitre.org>
To: "dfdl-wg at ogf.org" <dfdl-wg at ogf.org>,
Date: 25/06/2013 12:38
Subject: Re: [DFDL-WG] Can I concatenate a variable?
Sent by: dfdl-wg-bounces at 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 at ogf.org [mailto:dfdl-wg-bounces at ogf.org] On Behalf
Of Tim Kimber
Sent: Monday, June 24, 2013 4:11 PM
To: dfdl-wg at 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 at uk.ibm.com
Tel. 01962-816742
Internal tel. 37246742
From: "Garriss Jr., James P." <jgarriss at mitre.org>
To: "dfdl-wg at ogf.org" <dfdl-wg at ogf.org>,
Date: 24/06/2013 20:38
Subject: [DFDL-WG] Can I concatenate a variable?
Sent by: dfdl-wg-bounces at 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 at 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 at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.ogf.org/pipermail/dfdl-wg/attachments/20130625/aa5af9ba/attachment.html>
More information about the dfdl-wg
mailing list