ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » DFDL Position

Post new topic  Reply to topic Goto page Previous  1, 2, 3  Next
 DFDL Position « View previous topic :: View next topic » 
Author Message
Thomas2ab
PostPosted: Wed Jun 11, 2014 2:31 pm    Post subject: Reply with quote

Acolyte

Joined: 07 Mar 2014
Posts: 51

Thanks Kimbert.
Actually after working a bit more on my message, I changed a bit my previous question (sorry about that).
Actually let's say the first field is a string, defined to be on 50 characters, like company name, but the data coming is like 10 characters long. I do not want to have an error, I would actually like to have my field filled with the 10 first characters of the company name and the 40 other made with space, and then at the position 51 the next field etc.
And if it is an integer (int) value I would have to fill with 0 if the input data is less than the actual out put data size allowed.
Is it possible to do that?

I tried even with pattern and regular expression, but everytime, when I have a maxlength and that the input data is smaller, it throws and exception saying that the data should have this exact size (nor less neither more).

Thank you again for your help,

Regards,
Back to top
View user's profile Send private message
kimbert
PostPosted: Thu Jun 12, 2014 4:00 am    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

Quote:
let's say the first field is a string, defined to be on 50 characters, like company name, but the data coming is like 10 characters long. I do not want to have an error, I would actually like to have my field filled with the 10 first characters of the company name and the 40 other made with space, and then at the position 51 the next field etc
Yes. That is exactly the scenario that I was thinking of. The 40 space characters are called 'pad characters'.
You can instruct the DFDL parser to output pad characters by setting 'Pad Kind' to 'padChar' and 'Justification' to 'Left' and 'Pad character' to "%SP;" ( do not include the quote characters. %SP; is a DFDL mnemonic that represents a space character ).
Quote:
And if it is an integer (int) value I would have to fill with 0 if the input data is less than the actual out put data size allowed.
Is it possible to do that?
Yes.
Pad Character ='0'
Pad Kind = padChar
Justification='Right'

Quote:
I tried even with pattern and regular expression, but everytime, when I have a maxlength and that the input data is smaller, it throws and exception saying that the data should have this exact size (nor less neither more).
Please quote the error message. Maybe it needs to be improved.
_________________
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
View user's profile Send private message
Thomas2ab
PostPosted: Thu Jun 12, 2014 5:41 am    Post subject: Reply with quote

Acolyte

Joined: 07 Mar 2014
Posts: 51

Thanks Kimbert it actually worked very well.
My only issue right now is regarding the the last spaces that are being trimed.
My input data is like this:

Code:

<?xml version="1.0" encoding="UTF-8"?>
<Input>
 <Header1>Header1</Header1>
 <Header2>Header2</Header2>
 <Header3>Header3</Header3>
 <Header4>Header4</Header4>
 <Field1>abc</Field1>
 <Field2>def</Field2>
 <Field3>this</Field3>
 <Field4>xsdf123641xx</Field4>
 <Field5>125dds8547sssqwerty</Field5>
<Input>


My DFDL is like this:

Code:

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:csv="http://www.ibm.com/dfdl/CommaSeparatedFormat"
   xmlns:dfdl="http://www.ogf.org/dfdl/dfdl-1.0/" xmlns:ibmDfdlExtn="http://www.ibm.com/dfdl/extensions"
   xmlns:recFixLengthFieldsFmt="http://www.ibm.com/dfdl/RecordFixLengthFieldFormat"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema">

   <xsd:import namespace="http://www.ibm.com/dfdl/CommaSeparatedFormat"
      schemaLocation="IBMdefined/CommaSeparatedFormat.xsd" />
   <xsd:import namespace="http://www.ibm.com/dfdl/RecordFixLengthFieldFormat"
      schemaLocation="IBMdefined/RecordFixLengthFieldFormat.xsd" />
   <xsd:annotation>
      <xsd:appinfo source="http://www.ogf.org/dfdl/">
         <dfdl:format byteOrder="{$dfdl:byteOrder}" encoding="{$dfdl:encoding}"
            escapeSchemeRef="recFixLengthFieldsFmt:RecordEscapeScheme"
            occursCountKind="fixed" ref="recFixLengthFieldsFmt:RecordFixLengthFieldsFormat"
            separatorPolicy="suppressed" documentFinalTerminatorCanBeMissing="yes" />
      </xsd:appinfo>
   </xsd:annotation>

   <xsd:element dfdl:lengthKind="delimited" name="singleLineMessage">
      <xsd:complexType>
         <xsd:sequence dfdl:separator=";" dfdl:separatorPolicy="suppressedAtEndLax">
            <xsd:element dfdl:lengthKind="delimited" name="field1"
               type="xsd:string" />
            <xsd:element dfdl:lengthKind="delimited" name="field2"
               type="xsd:string" />
            <xsd:element dfdl:lengthKind="delimited" name="field3"
               type="xsd:string" />
            <xsd:element dfdl:lengthKind="delimited" name="field4"
               type="xsd:string" />
            <xsd:element dfdl:lengthKind="delimited"
               dfdl:occursCountKind="implicit" dfdl:terminator="%CR;%LF;%WSP*;"
               maxOccurs="unbounded" name="fixedLengthRecord">
               <xsd:complexType>
                  <xsd:sequence dfdl:separatorPolicy="suppressedAtEndLax">
                     <xsd:element dfdl:length="3" dfdl:lengthKind="explicit"
                        dfdl:representation="text" dfdl:textPadKind="padChar" name="FixedA"
                        type="xsd:string" dfdl:textStringPadCharacter="%SP;"
                        dfdl:textStringJustification="left" />
                     <xsd:element dfdl:length="5" dfdl:lengthKind="explicit"
                        dfdl:representation="text" dfdl:textPadKind="padChar" name="FixedB"
                        type="xsd:string" dfdl:textStringPadCharacter="%SP;"
                        dfdl:textStringJustification="left" />
                     <xsd:element dfdl:length="10" dfdl:representation="text"
                        dfdl:textPadKind="padChar" name="FixedC"
                        dfdl:textStringPadCharacter="%SP;" dfdl:textStringJustification="left"
                        type="xsd:string" />
                     <xsd:element dfdl:length="40" dfdl:lengthKind="explicit"
                        dfdl:representation="text" dfdl:textPadKind="padChar" name="FixedD"
                        dfdl:textStringPadCharacter="%SP;" dfdl:textStringJustification="left"
                        type="xsd:string" />
                     <xsd:element dfdl:length="72" dfdl:lengthKind="explicit"
                        dfdl:representation="text" dfdl:textPadKind="padChar" name="FixedE"
                        type="xsd:string" dfdl:textStringPadCharacter="%SP;"
                        dfdl:textStringJustification="left" />
                  </xsd:sequence>
               </xsd:complexType>
            </xsd:element>
         </xsd:sequence>
      </xsd:complexType>
   </xsd:element>
</xsd:schema>


And my output is like this
Code:

Header1;Header2;Header3;Header4;abcdef  this      xsdf123641xx                            125dds8547sssqwerty


But actually I was expecting 53 spaces after the '125dds8547sssqwerty' value, as the size as to be 72.
I was expecting this:
Code:

Header1;Header2;Header3;Header4;abcdef  this      xsdf123641xx                            125dds8547sssqwerty                                                     


What parameter did I miss?

Furthermore, in order to get to that DFDL schema, I've been looking in this forum, and I'm a bit afraid I added a lot of parameters that are not necessary in my case, is there some that I could/should delete?

Thanks again,

Regards,
Back to top
View user's profile Send private message
kimbert
PostPosted: Thu Jun 12, 2014 5:50 am    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

Quote:
actually I was expecting 53 spaces after the '125dds8547sssqwerty' value, as the size as to be 72
The definition of the field looks correct. What does the DFDL trace say about the last field?
Quote:
I'm a bit afraid I added a lot of parameters that are not necessary in my case, is there some that I could/should delete?
DFDL requires you to provide an explicit value for every parameter ( every DFDL property ).
However, you are allowed to define a 'block' of properties and reuse the set of properties on multiple elements. In the DFDL Editor this is called a 'Data Format'. You may need to click the 'Show all sections' button at the top of the editor in order to see it. When you have created your named format, you can reference it using the 'Data Format Reference' property.

A couple of other points:
- your complex elements should have 'Length Kind' set to 'implicit' ( not delimited ).
- are you sure that you want a terminator of CR/LF+whitespace on your 'fixedLengthRecord' element?
_________________
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
View user's profile Send private message
Thomas2ab
PostPosted: Thu Jun 12, 2014 6:07 am    Post subject: Reply with quote

Acolyte

Joined: 07 Mar 2014
Posts: 51

Thanks Kimbert, my DFDL is now like this:
Code:

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:csv="http://www.ibm.com/dfdl/CommaSeparatedFormat"
   xmlns:dfdl="http://www.ogf.org/dfdl/dfdl-1.0/" xmlns:ibmDfdlExtn="http://www.ibm.com/dfdl/extensions"
   xmlns:recFixLengthFieldsFmt="http://www.ibm.com/dfdl/RecordFixLengthFieldFormat"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema">

   <xsd:import namespace="http://www.ibm.com/dfdl/CommaSeparatedFormat"
      schemaLocation="IBMdefined/CommaSeparatedFormat.xsd" />
   <xsd:import namespace="http://www.ibm.com/dfdl/RecordFixLengthFieldFormat"
      schemaLocation="IBMdefined/RecordFixLengthFieldFormat.xsd" />
   <xsd:annotation>
      <xsd:appinfo source="http://www.ogf.org/dfdl/">
         <dfdl:format byteOrder="{$dfdl:byteOrder}"
            documentFinalTerminatorCanBeMissing="yes" encoding="UTF-8"
            escapeSchemeRef="recFixLengthFieldsFmt:RecordEscapeScheme"
            occursCountKind="fixed" ref="recFixLengthFieldsFmt:RecordFixLengthFieldsFormat"
            separatorPolicy="suppressed" />
      </xsd:appinfo>
   </xsd:annotation>

   <xsd:element dfdl:lengthKind="delimited" name="singleLineMessage">
      <xsd:complexType>
         <xsd:sequence dfdl:separator=";" dfdl:separatorPolicy="suppressedAtEndLax">
            <xsd:element dfdl:lengthKind="delimited" name="field1"
               type="xsd:string" />
            <xsd:element dfdl:lengthKind="delimited" name="field2"
               type="xsd:string" />
            <xsd:element dfdl:lengthKind="delimited" name="field3"
               type="xsd:string" />
            <xsd:element dfdl:lengthKind="delimited" name="field4"
               type="xsd:string" />
            <xsd:element dfdl:lengthKind="implicit"
               dfdl:occursCountKind="implicit" dfdl:terminator="" maxOccurs="unbounded"
               name="fixedLengthRecord">
               <xsd:complexType>
                  <xsd:sequence dfdl:separatorPolicy="suppressedAtEndLax">
                     <xsd:element dfdl:length="3" dfdl:lengthKind="explicit"
                        dfdl:representation="text" dfdl:textPadKind="padChar"
                        dfdl:textStringJustification="left" dfdl:textStringPadCharacter="%SP;"
                        ibmDfdlExtn:sampleValue="aaa" name="FixedA" type="xsd:string" />
                     <xsd:element dfdl:length="5" dfdl:lengthKind="explicit"
                        dfdl:representation="text" dfdl:textPadKind="padChar"
                        dfdl:textStringJustification="left" dfdl:textStringPadCharacter="%SP;"
                        name="FixedB" type="xsd:string" />
                     <xsd:element dfdl:length="10" dfdl:representation="text"
                        dfdl:textPadKind="padChar" dfdl:textStringJustification="left"
                        dfdl:textStringPadCharacter="%SP;" name="FixedC" type="xsd:string" />
                     <xsd:element dfdl:length="40" dfdl:lengthKind="explicit"
                        dfdl:representation="text" dfdl:textPadKind="padChar"
                        dfdl:textStringJustification="left" dfdl:textStringPadCharacter="%SP;"
                        name="FixedD" type="xsd:string" />
                     <xsd:element dfdl:length="72" dfdl:lengthKind="explicit"
                        dfdl:representation="text" dfdl:textPadKind="padChar"
                        dfdl:textStringJustification="left" dfdl:textStringPadCharacter="%SP;"
                        name="FixedE" type="xsd:string" />
                  </xsd:sequence>
               </xsd:complexType>
            </xsd:element>
         </xsd:sequence>
      </xsd:complexType>
   </xsd:element>
</xsd:schema>


It keep triming the final spaces.
Sorry to ask that but how can I get DFDL trace?
Thanks,

Regards,
Back to top
View user's profile Send private message
Thomas2ab
PostPosted: Thu Jun 12, 2014 6:24 am    Post subject: Reply with quote

Acolyte

Joined: 07 Mar 2014
Posts: 51

Ok sorry to have asked regarding the DFDL parser I actually found it!
I first tried with the input text message without the final spaces:
Code:

Header1;Header2;Header3;Header4;abcdef  this      xsdf123641xx                            125dds8547sssqwerty


and I got this log with 1 fatal:
Code:



********************* DFDL Parser Setup Starting *********************
Schema = /MRMTeste/TesteCETIP.xsd
**********************************************************************



********************* DFDL Parser Starting *********************
Data = /MRMTeste/CETIP.txt
Message = singleLineMessage (/MRMTeste/TesteCETIP.xsd)
****************************************************************

Jun 12, 2014 11:22:51 AM   info: Offset: 0. Parsing will start from root element 'singleLineMessage'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage), 76]

Jun 12, 2014 11:22:51 AM   info: Offset: 0. Starting to process element 'singleLineMessage'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage), 67]

Jun 12, 2014 11:22:51 AM   info: Offset: 0. Starting to process element 'field1'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::field1), 56]

Jun 12, 2014 11:22:51 AM   info: Offset: 0. Found delimited value: 'Header1' for element 'field1'. The delimiter was ';'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::field1), 97]

Jun 12, 2014 11:22:51 AM   info: Offset: 7. Finished processing element 'field1'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::field1), 56]

Jun 12, 2014 11:22:51 AM   info: Offset: 7. Found separator ';' owned by the 'sequence' group contained within element 'singleLineMessage'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence), 114]

Jun 12, 2014 11:22:51 AM   info: Offset: 8. Starting to process element 'field2'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::field2), 56]

Jun 12, 2014 11:22:51 AM   info: Offset: 8. Found delimited value: 'Header2' for element 'field2'. The delimiter was ';'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::field2), 97]

Jun 12, 2014 11:22:51 AM   info: Offset: 15. Finished processing element 'field2'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::field2), 57]

Jun 12, 2014 11:22:51 AM   info: Offset: 15. Found separator ';' owned by the 'sequence' group contained within element 'singleLineMessage'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence), 115]

Jun 12, 2014 11:22:51 AM   info: Offset: 16. Starting to process element 'field3'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::field3), 57]

Jun 12, 2014 11:22:51 AM   info: Offset: 16. Found delimited value: 'Header3' for element 'field3'. The delimiter was ';'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::field3), 98]

Jun 12, 2014 11:22:51 AM   info: Offset: 23. Finished processing element 'field3'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::field3), 57]

Jun 12, 2014 11:22:51 AM   info: Offset: 23. Found separator ';' owned by the 'sequence' group contained within element 'singleLineMessage'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence), 115]

Jun 12, 2014 11:22:51 AM   info: Offset: 24. Starting to process element 'field4'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::field4), 57]

Jun 12, 2014 11:22:51 AM   info: Offset: 24. Found delimited value: 'Header4' for element 'field4'. The delimiter was ';'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::field4), 98]

Jun 12, 2014 11:22:51 AM   info: Offset: 31. Finished processing element 'field4'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::field4), 57]

Jun 12, 2014 11:22:51 AM   info: Offset: 31. Found separator ';' owned by the 'sequence' group contained within element 'singleLineMessage'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence), 115]

Jun 12, 2014 11:22:51 AM   info: Offset: 32. Up to '-1' occurrences of element 'fixedLengthRecord' will be expected because occursCountKind='implicit' and maxOccurs='-1'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord), 145]

Jun 12, 2014 11:22:51 AM   info: Offset: 32. Starting to process element 'fixedLengthRecord'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord), 68]

Jun 12, 2014 11:22:51 AM   info: Offset: 32. Starting to process element 'FixedA'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord/type::0/model::sequence/schemaElement::FixedA), 57]

Jun 12, 2014 11:22:51 AM   info: Offset: 32. Found fixed length value: 'abc' for element 'FixedA'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord/type::0/model::sequence/schemaElement::FixedA), 73]

Jun 12, 2014 11:22:51 AM   info: Offset: 35. Finished processing element 'FixedA'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord/type::0/model::sequence/schemaElement::FixedA), 57]

Jun 12, 2014 11:22:51 AM   info: Offset: 35. Starting to process element 'FixedB'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord/type::0/model::sequence/schemaElement::FixedB), 57]

Jun 12, 2014 11:22:51 AM   info: Offset: 35. Found fixed length value: 'def' for element 'FixedB'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord/type::0/model::sequence/schemaElement::FixedB), 73]

Jun 12, 2014 11:22:51 AM   info: Offset: 40. Finished processing element 'FixedB'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord/type::0/model::sequence/schemaElement::FixedB), 57]

Jun 12, 2014 11:22:51 AM   info: Offset: 40. Starting to process element 'FixedC'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord/type::0/model::sequence/schemaElement::FixedC), 57]

Jun 12, 2014 11:22:51 AM   info: Offset: 40. Found fixed length value: 'this' for element 'FixedC'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord/type::0/model::sequence/schemaElement::FixedC), 74]

Jun 12, 2014 11:22:51 AM   info: Offset: 50. Finished processing element 'FixedC'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord/type::0/model::sequence/schemaElement::FixedC), 57]

Jun 12, 2014 11:22:51 AM   info: Offset: 50. Starting to process element 'FixedD'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord/type::0/model::sequence/schemaElement::FixedD), 57]

Jun 12, 2014 11:22:51 AM   info: Offset: 50. Found fixed length value: 'xsdf123641xx' for element 'FixedD'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord/type::0/model::sequence/schemaElement::FixedD), 82]

Jun 12, 2014 11:22:51 AM   info: Offset: 90. Finished processing element 'FixedD'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord/type::0/model::sequence/schemaElement::FixedD), 57]

Jun 12, 2014 11:22:51 AM   info: Offset: 90. Starting to process element 'FixedE'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord/type::0/model::sequence/schemaElement::FixedE), 57]

Jun 12, 2014 11:22:51 AM   fatal: CTDP3000E: Unexpected end of data at byte offset '109' while parsing element 'FixedE'. The parser encountered the end of the data stream or the end of a parent element.

Jun 12, 2014 11:22:51 AM   info: Offset: 0. Parsing will start from root element 'singleLineMessage'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage), 76]


Once I had the right amount of spaces:
Code:

Header1;Header2;Header3;Header4;abcdef  this      xsdf123641xx                            125dds8547sssqwerty                                                     

I got this log with 1 error:

Code:

********************* DFDL Parser Setup Starting *********************
Schema = /MRMTeste/TesteCETIP.xsd
**********************************************************************



********************* DFDL Parser Starting *********************
Data = /MRMTeste/CETIP.txt
Message = singleLineMessage (/MRMTeste/TesteCETIP.xsd)
****************************************************************

Jun 12, 2014 11:16:40 AM   info: Offset: 0. Parsing will start from root element 'singleLineMessage'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage), 76]

Jun 12, 2014 11:16:40 AM   info: Offset: 0. Starting to process element 'singleLineMessage'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage), 67]

Jun 12, 2014 11:16:40 AM   info: Offset: 0. Starting to process element 'field1'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::field1), 56]

Jun 12, 2014 11:16:40 AM   info: Offset: 0. Found delimited value: 'Header1' for element 'field1'. The delimiter was ';'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::field1), 97]

Jun 12, 2014 11:16:40 AM   info: Offset: 7. Finished processing element 'field1'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::field1), 56]

Jun 12, 2014 11:16:40 AM   info: Offset: 7. Found separator ';' owned by the 'sequence' group contained within element 'singleLineMessage'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence), 114]

Jun 12, 2014 11:16:40 AM   info: Offset: 8. Starting to process element 'field2'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::field2), 56]

Jun 12, 2014 11:16:40 AM   info: Offset: 8. Found delimited value: 'Header2' for element 'field2'. The delimiter was ';'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::field2), 97]

Jun 12, 2014 11:16:40 AM   info: Offset: 15. Finished processing element 'field2'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::field2), 57]

Jun 12, 2014 11:16:40 AM   info: Offset: 15. Found separator ';' owned by the 'sequence' group contained within element 'singleLineMessage'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence), 115]

Jun 12, 2014 11:16:40 AM   info: Offset: 16. Starting to process element 'field3'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::field3), 57]

Jun 12, 2014 11:16:40 AM   info: Offset: 16. Found delimited value: 'Header3' for element 'field3'. The delimiter was ';'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::field3), 98]

Jun 12, 2014 11:16:40 AM   info: Offset: 23. Finished processing element 'field3'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::field3), 57]

Jun 12, 2014 11:16:40 AM   info: Offset: 23. Found separator ';' owned by the 'sequence' group contained within element 'singleLineMessage'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence), 115]

Jun 12, 2014 11:16:40 AM   info: Offset: 24. Starting to process element 'field4'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::field4), 57]

Jun 12, 2014 11:16:40 AM   info: Offset: 24. Found delimited value: 'Header4' for element 'field4'. The delimiter was ';'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::field4), 98]

Jun 12, 2014 11:16:40 AM   info: Offset: 31. Finished processing element 'field4'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::field4), 57]

Jun 12, 2014 11:16:40 AM   info: Offset: 31. Found separator ';' owned by the 'sequence' group contained within element 'singleLineMessage'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence), 115]

Jun 12, 2014 11:16:40 AM   info: Offset: 32. Up to '-1' occurrences of element 'fixedLengthRecord' will be expected because occursCountKind='implicit' and maxOccurs='-1'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord), 145]

Jun 12, 2014 11:16:40 AM   info: Offset: 32. Starting to process element 'fixedLengthRecord'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord), 68]

Jun 12, 2014 11:16:40 AM   info: Offset: 32. Starting to process element 'FixedA'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord/type::0/model::sequence/schemaElement::FixedA), 57]

Jun 12, 2014 11:16:40 AM   info: Offset: 32. Found fixed length value: 'abc' for element 'FixedA'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord/type::0/model::sequence/schemaElement::FixedA), 73]

Jun 12, 2014 11:16:40 AM   info: Offset: 35. Finished processing element 'FixedA'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord/type::0/model::sequence/schemaElement::FixedA), 57]

Jun 12, 2014 11:16:40 AM   info: Offset: 35. Starting to process element 'FixedB'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord/type::0/model::sequence/schemaElement::FixedB), 57]

Jun 12, 2014 11:16:40 AM   info: Offset: 35. Found fixed length value: 'def' for element 'FixedB'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord/type::0/model::sequence/schemaElement::FixedB), 73]

Jun 12, 2014 11:16:40 AM   info: Offset: 40. Finished processing element 'FixedB'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord/type::0/model::sequence/schemaElement::FixedB), 57]

Jun 12, 2014 11:16:40 AM   info: Offset: 40. Starting to process element 'FixedC'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord/type::0/model::sequence/schemaElement::FixedC), 57]

Jun 12, 2014 11:16:40 AM   info: Offset: 40. Found fixed length value: 'this' for element 'FixedC'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord/type::0/model::sequence/schemaElement::FixedC), 74]

Jun 12, 2014 11:16:40 AM   info: Offset: 50. Finished processing element 'FixedC'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord/type::0/model::sequence/schemaElement::FixedC), 57]

Jun 12, 2014 11:16:40 AM   info: Offset: 50. Starting to process element 'FixedD'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord/type::0/model::sequence/schemaElement::FixedD), 57]

Jun 12, 2014 11:16:40 AM   info: Offset: 50. Found fixed length value: 'xsdf123641xx' for element 'FixedD'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord/type::0/model::sequence/schemaElement::FixedD), 82]

Jun 12, 2014 11:16:40 AM   info: Offset: 90. Finished processing element 'FixedD'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord/type::0/model::sequence/schemaElement::FixedD), 57]

Jun 12, 2014 11:16:40 AM   info: Offset: 90. Starting to process element 'FixedE'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord/type::0/model::sequence/schemaElement::FixedE), 57]

Jun 12, 2014 11:16:40 AM   info: Offset: 90. Found fixed length value: '125dds8547sssqwerty' for element 'FixedE'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord/type::0/model::sequence/schemaElement::FixedE), 89]

Jun 12, 2014 11:16:40 AM   info: Offset: 162. Finished processing element 'FixedE'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord/type::0/model::sequence/schemaElement::FixedE), 58]

Jun 12, 2014 11:16:40 AM   info: Offset: 162. Finished processing element 'fixedLengthRecord'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord), 69]

Jun 12, 2014 11:16:40 AM   info: Offset: 162. Optional element 'fixedLengthRecord' encountered. The DFDL parser will return to this position if the element is not present in the data stream.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord), 165]

Jun 12, 2014 11:16:40 AM   info: Offset: 162. Starting to process element 'fixedLengthRecord'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord), 69]

Jun 12, 2014 11:16:40 AM   info: Offset: 162. Starting to process element 'FixedA'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord/type::0/model::sequence/schemaElement::FixedA), 58]

Jun 12, 2014 11:16:40 AM   error: CTDP3000E: Unexpected end of data at byte offset '162' while parsing element 'FixedA'. The parser encountered the end of the data stream or the end of a parent element.

Jun 12, 2014 11:16:40 AM   info: offset: 162. Parser was unable to resolve data on the current branch and will evaluate the next available branch beginning at offset '162' owned by the 'sequence' group contained within element 'singleLineMessage'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence), 222]

Jun 12, 2014 11:16:40 AM   info: Offset: 162. Finished processing element 'singleLineMessage'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage), 69]

Jun 12, 2014 11:16:40 AM   info: Offset: 0. Parsing will start from root element 'singleLineMessage'.
                           [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage), 76]


Are you seeing something that could explain it?

Thanks again,

Regards[/code]
Back to top
View user's profile Send private message
kimbert
PostPosted: Fri Jun 13, 2014 12:59 am    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

Nothing obvious - but usually these things are in the details somewhere.

Have you tried the obvious step of increasing the length of the input document until the DFDL parser either succeeds or issues a different error?

I assume that you already changed lengthKind to 'implicit' on the complex elements? And did you check that terminator on the fixed length complex element?
_________________
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
View user's profile Send private message
Thomas2ab
PostPosted: Fri Jun 13, 2014 5:19 am    Post subject: Reply with quote

Acolyte

Joined: 07 Mar 2014
Posts: 51

Yes...
Please find my new DFDL based on your recommendations regarding the lenghtKind (to implicit) and terminator (that I removed):

Code:

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:csv="http://www.ibm.com/dfdl/CommaSeparatedFormat"
   xmlns:dfdl="http://www.ogf.org/dfdl/dfdl-1.0/" xmlns:ibmDfdlExtn="http://www.ibm.com/dfdl/extensions"
   xmlns:recFixLengthFieldsFmt="http://www.ibm.com/dfdl/RecordFixLengthFieldFormat"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema">

   <xsd:import namespace="http://www.ibm.com/dfdl/CommaSeparatedFormat"
      schemaLocation="IBMdefined/CommaSeparatedFormat.xsd" />
   <xsd:import namespace="http://www.ibm.com/dfdl/RecordFixLengthFieldFormat"
      schemaLocation="IBMdefined/RecordFixLengthFieldFormat.xsd" />
   <xsd:annotation>
      <xsd:appinfo source="http://www.ogf.org/dfdl/">
         <dfdl:format byteOrder="{$dfdl:byteOrder}"
            documentFinalTerminatorCanBeMissing="yes" encoding="UTF-8"
            escapeSchemeRef="recFixLengthFieldsFmt:RecordEscapeScheme"
            occursCountKind="fixed" ref="recFixLengthFieldsFmt:RecordFixLengthFieldsFormat"
            separatorPolicy="suppressed" />
      </xsd:appinfo>
   </xsd:annotation>

   <xsd:element dfdl:lengthKind="delimited" name="singleLineMessage">
      <xsd:complexType>
         <xsd:sequence dfdl:separator=";" dfdl:separatorPolicy="suppressedAtEndLax">
            <xsd:element dfdl:lengthKind="delimited" name="field1"
               type="xsd:string" />
            <xsd:element dfdl:lengthKind="delimited" name="field2"
               type="xsd:string" />
            <xsd:element dfdl:lengthKind="delimited" name="field3"
               type="xsd:string" />
            <xsd:element dfdl:lengthKind="delimited" name="field4"
               type="xsd:string" />
            <xsd:element dfdl:lengthKind="implicit"
               dfdl:occursCountKind="implicit" dfdl:terminator="" maxOccurs="unbounded"
               name="fixedLengthRecord">
               <xsd:complexType>
                  <xsd:sequence dfdl:separatorPolicy="suppressedAtEndLax">
                     <xsd:element dfdl:length="3" dfdl:lengthKind="explicit"
                        dfdl:representation="text" dfdl:textPadKind="padChar"
                        dfdl:textStringJustification="left" dfdl:textStringPadCharacter="%SP;"
                        ibmDfdlExtn:sampleValue="aaa" name="FixedA" type="xsd:string" />
                     <xsd:element dfdl:length="5" dfdl:lengthKind="explicit"
                        dfdl:representation="text" dfdl:textPadKind="padChar"
                        dfdl:textStringJustification="left" dfdl:textStringPadCharacter="%SP;"
                        name="FixedB" type="xsd:string" />
                     <xsd:element dfdl:length="10" dfdl:representation="text"
                        dfdl:textPadKind="padChar" dfdl:textStringJustification="left"
                        dfdl:textStringPadCharacter="%SP;" name="FixedC" type="xsd:string" />
                     <xsd:element dfdl:length="40" dfdl:lengthKind="explicit"
                        dfdl:representation="text" dfdl:textPadKind="padChar"
                        dfdl:textStringJustification="left" dfdl:textStringPadCharacter="%SP;"
                        name="FixedD" type="xsd:string" />
                     <xsd:element dfdl:length="72" dfdl:lengthKind="explicit"
                        dfdl:representation="text" dfdl:textPadKind="padChar"
                        dfdl:textStringJustification="left" dfdl:textStringPadCharacter="%SP;"
                        name="FixedE" type="xsd:string" />
                  </xsd:sequence>
               </xsd:complexType>
            </xsd:element>
         </xsd:sequence>
      </xsd:complexType>
   </xsd:element>
</xsd:schema>
Back to top
View user's profile Send private message
kimbert
PostPosted: Fri Jun 13, 2014 8:08 am    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

So why is this element using lengthKind='delimited'?
Code:
   <xsd:element dfdl:lengthKind="delimited" name="singleLineMessage">
      <xsd:complexType>
         <xsd:sequence dfdl:separator=";" dfdl:separatorPolicy="suppressedAtEndLax">


You didn't answer this question:
Quote:
Have you tried the obvious step of increasing the length of the input document until the DFDL parser either succeeds or issues a different error?

_________________
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
View user's profile Send private message
Thomas2ab
PostPosted: Fri Jun 13, 2014 10:04 am    Post subject: Reply with quote

Acolyte

Joined: 07 Mar 2014
Posts: 51

Sorry Kimbert, you are right.
Please find my new DFDL schema:
Code:

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:csv="http://www.ibm.com/dfdl/CommaSeparatedFormat"
   xmlns:dfdl="http://www.ogf.org/dfdl/dfdl-1.0/" xmlns:ibmDfdlExtn="http://www.ibm.com/dfdl/extensions"
   xmlns:recFixLengthFieldsFmt="http://www.ibm.com/dfdl/RecordFixLengthFieldFormat"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema">

   <xsd:import namespace="http://www.ibm.com/dfdl/CommaSeparatedFormat"
      schemaLocation="IBMdefined/CommaSeparatedFormat.xsd" />
   <xsd:import namespace="http://www.ibm.com/dfdl/RecordFixLengthFieldFormat"
      schemaLocation="IBMdefined/RecordFixLengthFieldFormat.xsd" />
   <xsd:annotation>
      <xsd:appinfo source="http://www.ogf.org/dfdl/">
         <dfdl:format byteOrder="{$dfdl:byteOrder}"
            documentFinalTerminatorCanBeMissing="yes" encoding="UTF-8"
            escapeSchemeRef="recFixLengthFieldsFmt:RecordEscapeScheme"
            occursCountKind="fixed" ref="recFixLengthFieldsFmt:RecordFixLengthFieldsFormat"
            separatorPolicy="suppressed" />
      </xsd:appinfo>
   </xsd:annotation>

   <xsd:element dfdl:lengthKind="implicit" name="singleLineMessage">
      <xsd:complexType>
         <xsd:sequence dfdl:separator=";" dfdl:separatorPolicy="suppressedAtEndLax">
            <xsd:element dfdl:lengthKind="delimited" name="field1"
               type="xsd:string" />
            <xsd:element dfdl:lengthKind="delimited" name="field2"
               type="xsd:string" />
            <xsd:element dfdl:lengthKind="delimited" name="field3"
               type="xsd:string" />
            <xsd:element dfdl:lengthKind="delimited" name="field4"
               type="xsd:string" />
            <xsd:element dfdl:lengthKind="implicit"
               dfdl:occursCountKind="implicit" dfdl:terminator="" maxOccurs="unbounded"
               name="fixedLengthRecord">
               <xsd:complexType>
                  <xsd:sequence dfdl:separatorPolicy="suppressedAtEndLax">
                     <xsd:element dfdl:length="3" dfdl:lengthKind="explicit"
                        dfdl:representation="text" dfdl:textPadKind="padChar"
                        dfdl:textStringJustification="left" dfdl:textStringPadCharacter="%SP;"
                        ibmDfdlExtn:sampleValue="aaa" name="FixedA" type="xsd:string" />
                     <xsd:element dfdl:length="5" dfdl:lengthKind="explicit"
                        dfdl:representation="text" dfdl:textPadKind="padChar"
                        dfdl:textStringJustification="left" dfdl:textStringPadCharacter="%SP;"
                        name="FixedB" type="xsd:string" />
                     <xsd:element dfdl:length="10" dfdl:representation="text"
                        dfdl:textPadKind="padChar" dfdl:textStringJustification="left"
                        dfdl:textStringPadCharacter="%SP;" name="FixedC" type="xsd:string" />
                     <xsd:element dfdl:length="40" dfdl:lengthKind="explicit"
                        dfdl:representation="text" dfdl:textPadKind="padChar"
                        dfdl:textStringJustification="left" dfdl:textStringPadCharacter="%SP;"
                        name="FixedD" type="xsd:string" />
                     <xsd:element dfdl:length="72" dfdl:lengthKind="explicit"
                        dfdl:representation="text" dfdl:textPadKind="padChar"
                        dfdl:textStringJustification="left" dfdl:textStringPadCharacter="%SP;"
                        name="FixedE" type="xsd:string" />
                  </xsd:sequence>
               </xsd:complexType>
            </xsd:element>
         </xsd:sequence>
      </xsd:complexType>
   </xsd:element>
</xsd:schema>


Then I tried with an input message, as you suggesdted, that had more space at the end than allowed (last elements only allows 72 characters and I set like 80). I got this trace with the fatal error:

fatal: CTDP3058E: Separator is missing for 'sequence' group contained within element 'singleLineMessage', xpath: '/singleLineMessage[1]' .

Code:



********************* DFDL Parser Setup Starting *********************
Schema = /MRMTeste/TesteCETIP.xsd
**********************************************************************



********************* DFDL Parser Starting *********************
Data = /MRMTeste/CETIP.txt
Message = singleLineMessage (/MRMTeste/TesteCETIP.xsd)
****************************************************************

Jun 13, 2014 2:26:16 PM   info: Offset: 0. Parsing will start from root element 'singleLineMessage'.
                          [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage), 76]

Jun 13, 2014 2:26:16 PM   info: Offset: 0. Starting to process element 'singleLineMessage'.
                          [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage), 67]

Jun 13, 2014 2:26:16 PM   info: Offset: 0. Starting to process element 'field1'.
                          [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::field1), 56]

Jun 13, 2014 2:26:16 PM   info: Offset: 0. Found delimited value: 'Header1' for element 'field1'. The delimiter was ';'.
                          [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::field1), 97]

Jun 13, 2014 2:26:16 PM   info: Offset: 7. Finished processing element 'field1'.
                          [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::field1), 56]

Jun 13, 2014 2:26:16 PM   info: Offset: 7. Found separator ';' owned by the 'sequence' group contained within element 'singleLineMessage'.
                          [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence), 114]

Jun 13, 2014 2:26:16 PM   info: Offset: 8. Starting to process element 'field2'.
                          [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::field2), 56]

Jun 13, 2014 2:26:16 PM   info: Offset: 8. Found delimited value: 'Header2' for element 'field2'. The delimiter was ';'.
                          [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::field2), 97]

Jun 13, 2014 2:26:16 PM   info: Offset: 15. Finished processing element 'field2'.
                          [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::field2), 57]

Jun 13, 2014 2:26:16 PM   info: Offset: 15. Found separator ';' owned by the 'sequence' group contained within element 'singleLineMessage'.
                          [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence), 115]

Jun 13, 2014 2:26:16 PM   info: Offset: 16. Starting to process element 'field3'.
                          [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::field3), 57]

Jun 13, 2014 2:26:16 PM   info: Offset: 16. Found delimited value: 'Header3' for element 'field3'. The delimiter was ';'.
                          [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::field3), 98]

Jun 13, 2014 2:26:16 PM   info: Offset: 23. Finished processing element 'field3'.
                          [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::field3), 57]

Jun 13, 2014 2:26:16 PM   info: Offset: 23. Found separator ';' owned by the 'sequence' group contained within element 'singleLineMessage'.
                          [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence), 115]

Jun 13, 2014 2:26:16 PM   info: Offset: 24. Starting to process element 'field4'.
                          [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::field4), 57]

Jun 13, 2014 2:26:16 PM   info: Offset: 24. Found delimited value: 'Header4' for element 'field4'. The delimiter was ';'.
                          [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::field4), 98]

Jun 13, 2014 2:26:16 PM   info: Offset: 31. Finished processing element 'field4'.
                          [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::field4), 57]

Jun 13, 2014 2:26:16 PM   info: Offset: 31. Found separator ';' owned by the 'sequence' group contained within element 'singleLineMessage'.
                          [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence), 115]

Jun 13, 2014 2:26:16 PM   info: Offset: 32. Up to '-1' occurrences of element 'fixedLengthRecord' will be expected because occursCountKind='implicit' and maxOccurs='-1'.
                          [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord), 145]

Jun 13, 2014 2:26:16 PM   info: Offset: 32. Starting to process element 'fixedLengthRecord'.
                          [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord), 68]

Jun 13, 2014 2:26:16 PM   info: Offset: 32. Starting to process element 'FixedA'.
                          [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord/type::0/model::sequence/schemaElement::FixedA), 57]

Jun 13, 2014 2:26:16 PM   info: Offset: 32. Found fixed length value: 'abc' for element 'FixedA'.
                          [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord/type::0/model::sequence/schemaElement::FixedA), 73]

Jun 13, 2014 2:26:16 PM   info: Offset: 35. Finished processing element 'FixedA'.
                          [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord/type::0/model::sequence/schemaElement::FixedA), 57]

Jun 13, 2014 2:26:16 PM   info: Offset: 35. Starting to process element 'FixedB'.
                          [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord/type::0/model::sequence/schemaElement::FixedB), 57]

Jun 13, 2014 2:26:16 PM   info: Offset: 35. Found fixed length value: 'def' for element 'FixedB'.
                          [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord/type::0/model::sequence/schemaElement::FixedB), 73]

Jun 13, 2014 2:26:16 PM   info: Offset: 40. Finished processing element 'FixedB'.
                          [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord/type::0/model::sequence/schemaElement::FixedB), 57]

Jun 13, 2014 2:26:16 PM   info: Offset: 40. Starting to process element 'FixedC'.
                          [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord/type::0/model::sequence/schemaElement::FixedC), 57]

Jun 13, 2014 2:26:16 PM   info: Offset: 40. Found fixed length value: 'this' for element 'FixedC'.
                          [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord/type::0/model::sequence/schemaElement::FixedC), 74]

Jun 13, 2014 2:26:16 PM   info: Offset: 50. Finished processing element 'FixedC'.
                          [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord/type::0/model::sequence/schemaElement::FixedC), 57]

Jun 13, 2014 2:26:16 PM   info: Offset: 50. Starting to process element 'FixedD'.
                          [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord/type::0/model::sequence/schemaElement::FixedD), 57]

Jun 13, 2014 2:26:16 PM   info: Offset: 50. Found fixed length value: 'xsdf123641xx' for element 'FixedD'.
                          [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord/type::0/model::sequence/schemaElement::FixedD), 82]

Jun 13, 2014 2:26:16 PM   info: Offset: 90. Finished processing element 'FixedD'.
                          [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord/type::0/model::sequence/schemaElement::FixedD), 57]

Jun 13, 2014 2:26:16 PM   info: Offset: 90. Starting to process element 'FixedE'.
                          [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord/type::0/model::sequence/schemaElement::FixedE), 57]

Jun 13, 2014 2:26:16 PM   info: Offset: 90. Found fixed length value: '125dds8547sssqwerty' for element 'FixedE'.
                          [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord/type::0/model::sequence/schemaElement::FixedE), 89]

Jun 13, 2014 2:26:16 PM   info: Offset: 162. Finished processing element 'FixedE'.
                          [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord/type::0/model::sequence/schemaElement::FixedE), 58]

Jun 13, 2014 2:26:16 PM   info: Offset: 162. Finished processing element 'fixedLengthRecord'.
                          [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord), 69]

Jun 13, 2014 2:26:16 PM   fatal: CTDP3058E: Separator is missing for 'sequence' group contained within element 'singleLineMessage', xpath: '/singleLineMessage[1]' . 

Jun 13, 2014 2:26:16 PM   info: Offset: 0. Parsing will start from root element 'singleLineMessage'.
                          [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage), 76]

Jun 13, 2014 2:34:41 PM   info: Offset: 0. Starting to process the DFDL info set.

Jun 13, 2014 2:34:41 PM   info: Offset: 0. Starting to write root element 'FixedE'.
                          [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord/type::0/model::sequence/schemaElement::FixedE), 59]

Jun 13, 2014 2:34:41 PM   info: Offset: 0. Starting to process element 'FixedE'.

Jun 13, 2014 2:34:41 PM   info: Padded left-justified text string 'aaaaaaaaaaaaaaaaaaaa' with '156' bytes, using pad byte '0x200x00', for element ''.

Jun 13, 2014 2:34:41 PM   info: Offset: 0. Wrote text string value 'aaaaaaaaaaaaaaaaaaaa' for element 'FixedE'.
                          [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord/type::0/model::sequence/schemaElement::FixedE), 88]

Jun 13, 2014 2:34:41 PM   info: Offset: 72. Finished processing element 'FixedE'.

Jun 13, 2014 2:34:41 PM   info: Offset: 72. Finished processing the DFDL info set.

Jun 13, 2014 2:34:41 PM   info: Offset: 0. Starting to process the DFDL info set.

Jun 13, 2014 2:34:41 PM   info: Offset: 0. Starting to write root element 'FixedE'.
                          [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord/type::0/model::sequence/schemaElement::FixedE), 59]

Jun 13, 2014 2:34:41 PM   info: Offset: 0. Starting to process element 'FixedE'.

Jun 13, 2014 2:34:41 PM   info: Padded left-justified text string 'aaaaaaaaaaaaaaaaaaaa' with '156' bytes, using pad byte '0x200x00', for element ''.

Jun 13, 2014 2:34:41 PM   info: Offset: 0. Wrote text string value 'aaaaaaaaaaaaaaaaaaaa' for element 'FixedE'.
                          [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord/type::0/model::sequence/schemaElement::FixedE), 88]

Jun 13, 2014 2:34:41 PM   info: Offset: 72. Finished processing element 'FixedE'.

Jun 13, 2014 2:34:41 PM   info: Offset: 72. Finished processing the DFDL info set.

Jun 13, 2014 2:34:58 PM   info: Offset: 0. Starting to process the DFDL info set.

Jun 13, 2014 2:34:58 PM   info: Offset: 0. Starting to write root element 'FixedE'.
                          [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord/type::0/model::sequence/schemaElement::FixedE), 59]

Jun 13, 2014 2:34:58 PM   info: Offset: 0. Starting to process element 'FixedE'.

Jun 13, 2014 2:34:58 PM   info: Padded left-justified text string 'aaaaaaaaaaaaaaaaaaaa' with '156' bytes, using pad byte '0x200x00', for element ''.

Jun 13, 2014 2:34:58 PM   info: Offset: 0. Wrote text string value 'aaaaaaaaaaaaaaaaaaaa' for element 'FixedE'.
                          [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord/type::0/model::sequence/schemaElement::FixedE), 88]

Jun 13, 2014 2:34:58 PM   info: Offset: 72. Finished processing element 'FixedE'.

Jun 13, 2014 2:34:58 PM   info: Offset: 72. Finished processing the DFDL info set.

Jun 13, 2014 2:34:58 PM   info: Offset: 0. Starting to process the DFDL info set.

Jun 13, 2014 2:34:58 PM   info: Offset: 0. Starting to write root element 'FixedE'.
                          [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord/type::0/model::sequence/schemaElement::FixedE), 59]

Jun 13, 2014 2:34:58 PM   info: Offset: 0. Starting to process element 'FixedE'.

Jun 13, 2014 2:34:58 PM   info: Padded left-justified text string 'aaaaaaaaaaaaaaaaaaaa' with '156' bytes, using pad byte '0x200x00', for element ''.

Jun 13, 2014 2:34:58 PM   info: Offset: 0. Wrote text string value 'aaaaaaaaaaaaaaaaaaaa' for element 'FixedE'.
                          [dfdl = /MRMTeste/TesteCETIP.xsd, scd = #xscd(/schemaElement::singleLineMessage/type::0/model::sequence/schemaElement::fixedLengthRecord/type::0/model::sequence/schemaElement::FixedE), 88]

Jun 13, 2014 2:34:58 PM   info: Offset: 72. Finished processing element 'FixedE'.

Jun 13, 2014 2:34:58 PM   info: Offset: 72. Finished processing the DFDL info set.


I then tried with an input message where the last part had the exact length (72) and then it worked without error.
Back to top
View user's profile Send private message
kimbert
PostPosted: Sun Jun 15, 2014 11:30 pm    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

The answers are all there in the DFDL trace. Keep thinking...we cannot do all of it for you
_________________
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
View user's profile Send private message
Thomas2ab
PostPosted: Mon Jun 16, 2014 6:34 am    Post subject: Reply with quote

Acolyte

Joined: 07 Mar 2014
Posts: 51

Hello Kimbert,

I added separator="" at the top of the XSD and it worked!
Thanks again,

Regards,
Back to top
View user's profile Send private message
Thomas2ab
PostPosted: Thu Sep 18, 2014 8:50 am    Post subject: Reply with quote

Acolyte

Joined: 07 Mar 2014
Posts: 51

Hello Kimbert,

Just a small question based on the following xsd:

Code:
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:csv="http://www.ibm.com/dfdl/CommaSeparatedFormat"
   xmlns:dfdl="http://www.ogf.org/dfdl/dfdl-1.0/" xmlns:ibmDfdlExtn="http://www.ibm.com/dfdl/extensions"
   xmlns:recFixLengthFieldsFmt="http://www.ibm.com/dfdl/RecordFixLengthFieldFormat"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema">

   <xsd:import namespace="http://www.ibm.com/dfdl/CommaSeparatedFormat"
      schemaLocation="IBMdefined/CommaSeparatedFormat.xsd" />
   <xsd:import namespace="http://www.ibm.com/dfdl/RecordFixLengthFieldFormat"
      schemaLocation="IBMdefined/RecordFixLengthFieldFormat.xsd" />
   <xsd:annotation>
      <xsd:appinfo source="http://www.ogf.org/dfdl/">
         <dfdl:format byteOrder="{$dfdl:byteOrder}"
            documentFinalTerminatorCanBeMissing="yes" encoding="UTF-8"
            escapeSchemeRef="recFixLengthFieldsFmt:RecordEscapeScheme"
            occursCountKind="fixed" ref="recFixLengthFieldsFmt:RecordFixLengthFieldsFormat"
            separatorPolicy="suppressed" />
      </xsd:appinfo>
   </xsd:annotation>

   <xsd:element dfdl:lengthKind="implicit" name="singleLineMessage">
      <xsd:complexType>
         <xsd:sequence dfdl:separator="" dfdl:separatorPolicy="suppressedAtEndLax">
            <xsd:element dfdl:lengthKind="delimited" name="field1"
               type="xsd:string" />
            <xsd:element dfdl:lengthKind="delimited" name="field2"
               type="xsd:string" />
            <xsd:element dfdl:lengthKind="delimited" name="field3"
               type="xsd:string" />
            <xsd:element dfdl:lengthKind="delimited" name="field4"
               type="xsd:string" />
            <xsd:element dfdl:lengthKind="implicit"
               dfdl:occursCountKind="implicit" dfdl:terminator="" maxOccurs="unbounded"
               name="fixedLengthRecord">
               <xsd:complexType>
                  <xsd:sequence dfdl:separatorPolicy="suppressedAtEndLax">
                     <xsd:element dfdl:length="3" dfdl:lengthKind="explicit"
                        dfdl:representation="text" dfdl:textPadKind="padChar"
                        dfdl:textStringJustification="left" dfdl:textStringPadCharacter="%SP;"
                        ibmDfdlExtn:sampleValue="aaa" name="FixedA" type="xsd:string" />
                     <xsd:element dfdl:length="5" dfdl:lengthKind="explicit"
                        dfdl:representation="text" dfdl:textPadKind="padChar"
                        dfdl:textStringJustification="left" dfdl:textStringPadCharacter="%SP;"
                        name="FixedB" type="xsd:string" />
                     <xsd:element dfdl:length="10" dfdl:representation="text"
                        dfdl:textPadKind="padChar" dfdl:textStringJustification="left"
                        dfdl:textStringPadCharacter="%SP;" name="FixedC" type="xsd:string" />
                     <xsd:element dfdl:length="40" dfdl:lengthKind="explicit"
                        dfdl:representation="text" dfdl:textPadKind="padChar"
                        dfdl:textStringJustification="left" dfdl:textStringPadCharacter="%SP;"
                        name="FixedD" type="xsd:string" />
                     <xsd:element dfdl:length="72" dfdl:lengthKind="explicit"
                        dfdl:representation="text" dfdl:textPadKind="padChar"
                        dfdl:textStringJustification="left" dfdl:textStringPadCharacter="%SP;"
                        name="FixedE" type="xsd:string" />
                  </xsd:sequence>
               </xsd:complexType>
            </xsd:element>
         </xsd:sequence>
      </xsd:complexType>
   </xsd:element>
</xsd:schema>


In the case where one of the Fixed* field is bigger than the value of the dfdl:length property, I would like the output to be truncated to the dfdl:lenght value and not throw an error.

Is there a property that would let me do that?

Thanks!

Regards,
Back to top
View user's profile Send private message
kimbert
PostPosted: Fri Sep 19, 2014 12:53 am    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

I suggest that you look for the word 'truncate' in the DFDL specification. Or type 'DFDL truncate' into Google.
_________________
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
View user's profile Send private message
Thomas2ab
PostPosted: Fri Sep 19, 2014 3:41 am    Post subject: Reply with quote

Acolyte

Joined: 07 Mar 2014
Posts: 51

Hello Kimbert,

I actually found the dfdl:truncateSpecifiedLengthString (='yes') property that seems perfect for what I want, but that property is not supported by IBM.
So what would be the other property?

Thanks again,

Regards,
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Goto page Previous  1, 2, 3  Next Page 2 of 3

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » DFDL Position
Jump to:  



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
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.