|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
DFDL Parsing - \r Issue |
« View previous topic :: View next topic » |
Author |
Message
|
Vitor |
Posted: Thu Feb 19, 2015 7:16 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
mqjeff wrote: |
Vitor wrote: |
Cubersome wrote: |
Any help would be greatly appreciated. |
Firstly, very nicely laid out post. You are to be congratulated.
Secondly, @mqjeff has already told you that this is a choice not a sequence. Each record in the file is a Header or a Trailer or a Detail, not one of each. |
Well, in theory that's true.
But probably there's a record that represents a single header, a repeating record that represents 0 or more details (or perhaps one or more), and a single record that represents a trailer.
So there needs to be a sequence that indicates that, instead of indicating that a header can come in any order relative to a trailer or detail. |
Give a fish, teach to fish.
I continue to practice with my elephant gun. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
Cubersome |
Posted: Thu Feb 19, 2015 7:23 am Post subject: |
|
|
Apprentice
Joined: 02 Mar 2012 Posts: 37
|
Hi MqJeff,
If I put the sequence instead of the choice at the root level...the last trailer record is getting parsed into the detail record.
I am not sure..whether I understand your statement correctly.
"So there needs to be a sequence that indicates that, instead of indicating that a header can come in any order relative to a trailer or detail."
I request you to explain it again.. |
|
Back to top |
|
 |
mqjeff |
Posted: Thu Feb 19, 2015 7:33 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
You need a sequence that shows
Code: |
sequence
Header (min occurs 1, max occurs 1)
SequenceNumberField
HeaderRecordData (indicater 'H')
Detail (min occurs 1, max occurs many)
SequenceNumberField
DetailRecordData (indicater 'D')
Trailer (min occurs 1, max occurs 1)
SequenceNumberField
TrailerRecordData (indicater 'T') |
This is different than a repeating choice that could contain header, detail, and trailer in any quantity and in any order. |
|
Back to top |
|
 |
fjb_saper |
Posted: Thu Feb 19, 2015 9:20 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Depending on the size of your file, you can handle the ordering through shared variables. This allows you to minimize the memory foot print and only ever process a single record at a time...
Now as to your last record being processed as a detail record, running a DFDL test on the file with the trace output should tell you why...
Have fun  _________________ MQ & Broker admin |
|
Back to top |
|
 |
Cubersome |
Posted: Thu Feb 19, 2015 9:33 am Post subject: |
|
|
Apprentice
Joined: 02 Mar 2012 Posts: 37
|
Hi mqjeff,
I created the DFDL according to your suggestion and still no luck.
The trailer record is getting parsed against the Detail record.
I think Discriminators are not working correctly. Any idea???
DFDL:
Code: |
<?xml version="1.0" encoding="UTF-8"?><xsd:schema xmlns:dfdl="http://www.ogf.org/dfdl/dfdl-1.0/" xmlns:fmt="http://www.ibm.com/dfdl/GeneralPurposeFormat" xmlns:ibmDfdlExtn="http://www.ibm.com/dfdl/extensions" xmlns:ibmSchExtn="http://www.ibm.com/schema/extensions" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:import namespace="http://www.ibm.com/dfdl/GeneralPurposeFormat" schemaLocation="IBMdefined/GeneralPurposeFormat.xsd"/>
<xsd:complexType name="Trailer">
<xsd:sequence dfdl:separator="">
<xsd:element dfdl:length="6" dfdl:lengthKind="explicit" dfdl:lengthUnits="bytes" dfdl:representation="text" name="sequenceNumber" type="xsd:string"/>
<xsd:element dfdl:representation="text" name="TrailerRecordData" type="TrailerReecordData">
<xsd:annotation>
<xsd:appinfo source="http://www.ogf.org/dfdl/">
<dfdl:discriminator>{/InsRespMessage/Trailer/TrailerRecordData/recordIdentifier eq 'T'}</dfdl:discriminator>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Detail">
<xsd:sequence dfdl:separator="">
<xsd:element dfdl:length="6" dfdl:lengthKind="explicit" dfdl:lengthUnits="bytes" dfdl:representation="text" name="sequenceNumber" type="xsd:string"/>
<xsd:element dfdl:terminator="" maxOccurs="1" name="DetailRecordData" type="DetailRecordData">
<xsd:annotation>
<xsd:appinfo source="http://www.ogf.org/dfdl/">
<dfdl:discriminator>{/InsRespMessage/Detail/DetailRecordData/recordIdentifier eq 'D'}</dfdl:discriminator>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Header">
<xsd:sequence dfdl:separator="">
<xsd:element dfdl:length="6" dfdl:lengthKind="explicit" dfdl:lengthUnits="bytes" dfdl:representation="text" name="sequenceNumber" type="xsd:string"/>
<xsd:element dfdl:representation="text" name="HeaderRecordData" type="HeaderRecordData">
<xsd:annotation>
<xsd:appinfo source="http://www.ogf.org/dfdl/">
<dfdl:discriminator>{/InsRespMessage/Header/HeaderRecordData/recordIdentifier eq 'H'}</dfdl:discriminator>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="TrailerReecordData">
<xsd:sequence dfdl:separator="">
<xsd:element dfdl:initiator="" dfdl:length="1" dfdl:lengthKind="explicit" dfdl:lengthUnits="bytes" dfdl:representation="text" name="recordIdentifier" type="xsd:string"/>
<xsd:element dfdl:length="8" dfdl:lengthKind="explicit" dfdl:lengthUnits="bytes" dfdl:representation="text" name="dateSent" type="xsd:string"/>
<xsd:element dfdl:length="8" dfdl:lengthKind="explicit" dfdl:lengthUnits="bytes" dfdl:representation="text" name="datePosted" type="xsd:string"/>
<xsd:element dfdl:length="7" dfdl:lengthKind="explicit" dfdl:lengthUnits="bytes" dfdl:representation="text" name="fileRecordCnt" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element dfdl:lengthKind="delimited" dfdl:terminator="" ibmSchExtn:docRoot="true" name="InsRespMessage">
<xsd:complexType>
<xsd:sequence dfdl:separator="">
<xsd:element dfdl:terminator="%CR;%LF;" name="Header" type="Header"/>
<xsd:element dfdl:occursCountKind="implicit" dfdl:terminator="%CR;%LF;" maxOccurs="unbounded" name="Detail" type="Detail">
<xsd:annotation>
<xsd:appinfo source="http://www.ogf.org/dfdl/">
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:element dfdl:terminator="%CR;%LF;" name="Trailer" type="Trailer"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="DetailRecordData">
<xsd:sequence dfdl:separator="">
<xsd:element dfdl:initiator="" dfdl:length="1" dfdl:lengthKind="explicit" dfdl:lengthUnits="bytes" dfdl:representation="text" name="recordIdentifier" type="xsd:string">
<xsd:annotation>
<xsd:appinfo source="http://www.ogf.org/dfdl/"/>
</xsd:annotation>
</xsd:element>
<xsd:element dfdl:length="30" dfdl:lengthKind="explicit" dfdl:lengthUnits="bytes" dfdl:representation="text" name="claimNumber" type="xsd:string"/>
<xsd:element dfdl:length="9" dfdl:lengthKind="explicit" dfdl:lengthUnits="bytes" dfdl:representation="text" name="insuringCompanyCode" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="HeaderRecordData">
<xsd:sequence dfdl:separator="" dfdl:terminator="">
<xsd:element default="" dfdl:initiator="" dfdl:length="1" dfdl:lengthKind="explicit" dfdl:lengthUnits="bytes" dfdl:representation="text" name="recordIdentifier" type="xsd:string"/>
<xsd:element dfdl:length="8" dfdl:lengthKind="explicit" dfdl:lengthUnits="bytes" dfdl:representation="text" name="dateSent" type="xsd:string"/>
<xsd:element dfdl:length="8" dfdl:lengthKind="explicit" dfdl:lengthUnits="bytes" dfdl:representation="text" name="datePosted" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:annotation>
<xsd:appinfo source="http://www.ogf.org/dfdl/">
<dfdl:format ref="fmt:GeneralPurposeFormat"/>
</xsd:appinfo>
</xsd:annotation>
</xsd:schema>
|
|
|
Back to top |
|
 |
fjb_saper |
Posted: Thu Feb 19, 2015 9:42 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
I would have expected the discriminators to be defined on the insRespMessage... at the corresponding record level...  _________________ MQ & Broker admin |
|
Back to top |
|
 |
Cubersome |
Posted: Thu Feb 19, 2015 10:36 am Post subject: |
|
|
Apprentice
Joined: 02 Mar 2012 Posts: 37
|
Hi @fjb_super,
I put the discriminators at the record level and still the last record is parsed against the detail record.
DFDL Trace Output:
Code: |
Feb 19, 2015 1:32:57 PM info: Offset: 217. Finished processing element 'Detail'.
[dfdl = /CM_FileProcessingFramework_DFDL_MLP/MediCareQueryResp.xsd, scd = #xscd(/schemaElement::InsRespMessage/type::0/model::sequence/schemaElement::Detail), 58]
Feb 19, 2015 1:32:57 PM info: Offset: 217. Optional element 'Detail' encountered. The DFDL parser will return to this position if the element is not present in the data stream.
[dfdl = /CM_FileProcessingFramework_DFDL_MLP/MediCareQueryResp.xsd, scd = #xscd(/schemaElement::InsRespMessage/type::0/model::sequence/schemaElement::Detail), 154]
Feb 19, 2015 1:32:57 PM info: Offset: 217. Starting to process element 'Detail'.
[dfdl = /CM_FileProcessingFramework_DFDL_MLP/MediCareQueryResp.xsd, scd = #xscd(/schemaElement::InsRespMessage/type::0/model::sequence/schemaElement::Detail), 58]
Feb 19, 2015 1:32:57 PM info: Offset: 217. Attempting expression '{/InsRespMessage/Detail[-1]/DetailRecordData/recordIdentifier eq 'D'}' for element 'Detail'.
Feb 19, 2015 1:32:57 PM info: Offset: 217. A DFDL discriminator with condition '{/InsRespMessage/Detail[-1]/DetailRecordData/recordIdentifier eq 'D'}' evaluated to true with message '' while parsing 'Detail'.
[dfdl = /CM_FileProcessingFramework_DFDL_MLP/MediCareQueryResp.xsd, scd = #xscd(/schemaElement::InsRespMessage/type::0/model::sequence/schemaElement::Detail), 186]
Feb 19, 2015 1:32:57 PM info: Offset: 217. Starting to process element 'sequenceNumber'.
[dfdl = /CM_FileProcessingFramework_DFDL_MLP/MediCareQueryResp.xsd, scd = #xscd(/type::Detail/model::sequence/schemaElement::sequenceNumber), 66]
Feb 19, 2015 1:32:57 PM info: Offset: 217. Found fixed length value: '000006' for element 'sequenceNumber'.
[dfdl = /CM_FileProcessingFramework_DFDL_MLP/MediCareQueryResp.xsd, scd = #xscd(/type::Detail/model::sequence/schemaElement::sequenceNumber), 85]
Feb 19, 2015 1:32:57 PM info: Offset: 223. Finished processing element 'sequenceNumber'.
[dfdl = /CM_FileProcessingFramework_DFDL_MLP/MediCareQueryResp.xsd, scd = #xscd(/type::Detail/model::sequence/schemaElement::sequenceNumber), 66]
Feb 19, 2015 1:32:57 PM info: Offset: 223. Starting to process element 'DetailRecordData'.
[dfdl = /CM_FileProcessingFramework_DFDL_MLP/MediCareQueryResp.xsd, scd = #xscd(/type::Detail/model::sequence/schemaElement::DetailRecordData), 68]
Feb 19, 2015 1:32:57 PM info: Offset: 223. Starting to process element 'recordIdentifier'.
[dfdl = /CM_FileProcessingFramework_DFDL_MLP/MediCareQueryResp.xsd, scd = #xscd(/type::DetailRecordData/model::sequence/schemaElement::recordIdentifier), 68]
Feb 19, 2015 1:32:57 PM info: Offset: 223. Found fixed length value: 'T' for element 'recordIdentifier'.
[dfdl = /CM_FileProcessingFramework_DFDL_MLP/MediCareQueryResp.xsd, scd = #xscd(/type::DetailRecordData/model::sequence/schemaElement::recordIdentifier), 82]
Feb 19, 2015 1:32:57 PM info: Offset: 224. Finished processing element 'recordIdentifier'.
[dfdl = /CM_FileProcessingFramework_DFDL_MLP/MediCareQueryResp.xsd, scd = #xscd(/type::DetailRecordData/model::sequence/schemaElement::recordIdentifier), 68]
Feb 19, 2015 1:32:57 PM info: Offset: 224. Starting to process element 'claimNumber'.
[dfdl = /CM_FileProcessingFramework_DFDL_MLP/MediCareQueryResp.xsd, scd = #xscd(/type::DetailRecordData/model::sequence/schemaElement::claimNumber), 63]
|
Please let me know if you need any further info.
I just wanted to know whether DFDL can able to parse this type of scenarion or have to check with IBM? |
|
Back to top |
|
 |
kimbert |
Posted: Fri Feb 20, 2015 3:38 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
Quote: |
I just wanted to know whether DFDL can able to parse this type of scenarion or have to check with IBM |
Yes - absolutely 100% definitely.
I reviewed your model, and it looks correct. I suggest that you update your toolkit to v8.0.0.4 and try again - there have been a number of DFDL fixes since v8.0.0.2. _________________ Before you criticize someone, walk a mile in their shoes. That way you're a mile away, and you have their shoes too. |
|
Back to top |
|
 |
Cubersome |
Posted: Fri Feb 20, 2015 6:37 am Post subject: |
|
|
Apprentice
Joined: 02 Mar 2012 Posts: 37
|
Hi Kimbert,
I am using toolkit 8.0.0.4 version only.
Code: |
WebSphere Message Broker Toolkit - Message Broker
Version: 8.0.0.4
Build id: 8.0.0.4-20140321-1310
(c) Copyright IBM Corp. and others 2000, 2014. All rights reserved
|
|
|
Back to top |
|
 |
Cubersome |
Posted: Fri Feb 20, 2015 8:19 am Post subject: |
|
|
Apprentice
Joined: 02 Mar 2012 Posts: 37
|
Thanks a lot Everybody for all your inputs and suggestions..
Thanks to vitor, mqJeff, kimbert..
Finally I made it working...
I am posting the code below..it may be useful to somebody else facing the same issue. I almost tried different combinations and breaking my head for the past 2 days...
Working DFDL code::
Code: |
<?xml version="1.0" encoding="UTF-8"?><xsd:schema xmlns:dfdl="http://www.ogf.org/dfdl/dfdl-1.0/" xmlns:fmt="http://www.ibm.com/dfdl/GeneralPurposeFormat" xmlns:ibmDfdlExtn="http://www.ibm.com/dfdl/extensions" xmlns:ibmSchExtn="http://www.ibm.com/schema/extensions" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:import namespace="http://www.ibm.com/dfdl/GeneralPurposeFormat" schemaLocation="IBMdefined/GeneralPurposeFormat.xsd"/>
<xsd:complexType name="TRec">
<xsd:sequence dfdl:separator="">
<xsd:element dfdl:length="6" dfdl:lengthKind="explicit" dfdl:lengthUnits="bytes" dfdl:representation="text" name="sequenceNumber" type="xsd:string"/>
<xsd:element dfdl:length="1" dfdl:lengthKind="explicit" dfdl:lengthUnits="bytes" dfdl:representation="text" name="recordIdentifier" type="xsd:string">
<xsd:annotation>
<xsd:appinfo source="http://www.ogf.org/dfdl/">
<dfdl:discriminator>{fn:starts-with(. ,'T' )}</dfdl:discriminator>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:element dfdl:length="8" dfdl:lengthKind="explicit" dfdl:lengthUnits="bytes" dfdl:representation="text" name="datePosted" type="xsd:string"/>
<xsd:element dfdl:length="8" dfdl:lengthKind="explicit" dfdl:lengthUnits="bytes" dfdl:representation="text" name="dateSent" type="xsd:string"/>
<xsd:element dfdl:length="7" dfdl:lengthKind="explicit" dfdl:lengthUnits="bytes" dfdl:representation="text" name="recordCount" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="DRec">
<xsd:sequence dfdl:separator="">
<xsd:element dfdl:length="6" dfdl:lengthKind="explicit" dfdl:representation="text" name="sequenceNumvber" type="xsd:string"/>
<xsd:element dfdl:length="1" dfdl:lengthKind="explicit" dfdl:lengthUnits="bytes" dfdl:representation="text" name="recordIdentifier" type="xsd:string">
<xsd:annotation>
<xsd:appinfo source="http://www.ogf.org/dfdl/">
<dfdl:discriminator>{fn:starts-with(. ,'D' )}</dfdl:discriminator>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:element dfdl:length="30" dfdl:lengthKind="explicit" dfdl:lengthUnits="bytes" dfdl:representation="text" name="claimNumber" type="xsd:string"/>
<xsd:element dfdl:length="9" dfdl:lengthKind="explicit" dfdl:lengthUnits="bytes" dfdl:representation="text" name="insuringCompanyCode" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="HRec">
<xsd:sequence dfdl:separator="">
<xsd:element dfdl:length="6" dfdl:lengthKind="explicit" dfdl:lengthUnits="bytes" dfdl:representation="text" name="sequenceNumber" type="xsd:string"/>
<xsd:element dfdl:length="1" dfdl:lengthKind="explicit" dfdl:lengthUnits="bytes" dfdl:representation="text" name="recordIdentifier" type="xsd:string">
<xsd:annotation>
<xsd:appinfo source="http://www.ogf.org/dfdl/">
<dfdl:discriminator>{fn:starts-with(. ,'H' )}</dfdl:discriminator>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:element dfdl:length="8" dfdl:lengthKind="explicit" dfdl:lengthUnits="bytes" dfdl:representation="text" name="datePosted" type="xsd:string"/>
<xsd:element dfdl:length="8" dfdl:lengthKind="explicit" dfdl:lengthUnits="bytes" dfdl:representation="text" name="dateSent" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Trailer">
<xsd:sequence dfdl:separator="">
<xsd:element dfdl:length="6" dfdl:lengthKind="explicit" dfdl:lengthUnits="bytes" dfdl:representation="text" name="sequenceNumber" type="xsd:string"/>
<xsd:element dfdl:initiator="T" name="TrailerRecordData" type="TrailerReecordData">
<xsd:annotation>
<xsd:appinfo source="http://www.ogf.org/dfdl/">
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Detail">
<xsd:sequence dfdl:separator="">
<xsd:element dfdl:length="6" dfdl:lengthKind="explicit" dfdl:lengthUnits="bytes" dfdl:representation="text" name="sequenceNumber" type="xsd:string"/>
<xsd:element dfdl:initiator="D" dfdl:terminator="" maxOccurs="1" name="DetailRecordData" type="DetailRecordData">
<xsd:annotation>
<xsd:appinfo source="http://www.ogf.org/dfdl/">
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Header">
<xsd:sequence dfdl:separator="">
<xsd:element dfdl:length="6" dfdl:lengthKind="explicit" dfdl:lengthUnits="bytes" dfdl:representation="text" name="sequenceNumber" type="xsd:string"/>
<xsd:element dfdl:initiator="H" name="HeaderRecordData" type="HeaderRecordData">
<xsd:annotation>
<xsd:appinfo source="http://www.ogf.org/dfdl/">
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="TrailerReecordData">
<xsd:sequence dfdl:separator="">
<xsd:element dfdl:length="8" dfdl:lengthKind="explicit" dfdl:lengthUnits="bytes" dfdl:representation="text" name="dateSent" type="xsd:string"/>
<xsd:element dfdl:length="8" dfdl:lengthKind="explicit" dfdl:lengthUnits="bytes" dfdl:representation="text" name="datePosted" type="xsd:string"/>
<xsd:element dfdl:length="7" dfdl:lengthKind="explicit" dfdl:lengthUnits="bytes" dfdl:representation="text" name="fileRecordCnt" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element dfdl:lengthKind="delimited" dfdl:terminator="" ibmSchExtn:docRoot="true" name="InsRespMessage">
<xsd:complexType>
<xsd:sequence dfdl:separator="">
<xsd:choice>
<xsd:element dfdl:terminator="%CR;%LF;" name="Header" type="HRec">
<xsd:annotation>
<xsd:appinfo source="http://www.ogf.org/dfdl/"/>
</xsd:annotation>
</xsd:element>
</xsd:choice>
<xsd:choice>
<xsd:element dfdl:occursCountKind="implicit" dfdl:terminator="%CR;%LF;" maxOccurs="unbounded" name="Detail" type="DRec">
<xsd:annotation>
<xsd:appinfo source="http://www.ogf.org/dfdl/"/>
</xsd:annotation>
</xsd:element>
</xsd:choice>
<xsd:choice>
<xsd:element dfdl:terminator="%CR;%LF;" name="Trailer" type="TRec">
<xsd:annotation>
<xsd:appinfo source="http://www.ogf.org/dfdl/"/>
</xsd:annotation>
</xsd:element>
</xsd:choice>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="DetailRecordData">
<xsd:sequence dfdl:separator="">
<xsd:element dfdl:length="30" dfdl:lengthKind="explicit" dfdl:lengthUnits="bytes" dfdl:representation="text" name="claimNumber" type="xsd:string"/>
<xsd:element dfdl:length="9" dfdl:lengthKind="explicit" dfdl:lengthUnits="bytes" dfdl:representation="text" name="insuringCompanyCode" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="HeaderRecordData">
<xsd:sequence dfdl:separator="" dfdl:terminator="">
<xsd:element dfdl:length="8" dfdl:lengthKind="explicit" dfdl:lengthUnits="bytes" dfdl:representation="text" name="dateSent" type="xsd:string"/>
<xsd:element dfdl:length="8" dfdl:lengthKind="explicit" dfdl:lengthUnits="bytes" dfdl:representation="text" name="datePosted" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:annotation>
<xsd:appinfo source="http://www.ogf.org/dfdl/">
<dfdl:format ref="fmt:GeneralPurposeFormat"/>
</xsd:appinfo>
</xsd:annotation>
</xsd:schema>
|
With the above code the records are getting parsed successfully as expected. |
|
Back to top |
|
 |
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|