|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
Binary to Decimal Conversion in WMB. |
« View previous topic :: View next topic » |
Author |
Message
|
MQMD1 |
Posted: Tue May 07, 2013 8:31 pm Post subject: |
|
|
Novice
Joined: 06 May 2013 Posts: 20
|
Thanks Kimbert . I have been able to perform Binary to Decimal conversion with ESQL . However , As you pointed out , it is in-efficient , I would be intrested to achive the same results using DFDL. I am sharing with you the DFDL Schema's being used. Please let me know which all attributes in these scema needs to be corrected.
----- Built for BUFR -----
<?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:element ibmSchExtn:docRoot="true" name="Message1">
<xsd:complexType>
<xsd:sequence dfdl:separator="">
<xsd:sequence dfdl:separator="">
<xsd:element dfdl:length="32" dfdl:lengthKind="explicit" dfdl:lengthUnits="bytes" ibmDfdlExtn:sampleValue="aaaaaaaaaaaaaaaaaaaa" name="BUFR_STRING" type="xsd:string"/>
<xsd:element dfdl:length="24" dfdl:lengthKind="explicit" dfdl:lengthUnits="characters" ibmDfdlExtn:sampleValue="00000000" name="MSG_LENGTH" type="xsd:string"/>
<xsd:element dfdl:length="8" dfdl:lengthKind="explicit" dfdl:lengthUnits="bytes" ibmDfdlExtn:sampleValue="aaaaaaaa" name="EDITION" type="xsd:string"/>
</xsd:sequence>
<xsd:sequence dfdl:separator="">
<xsd:element dfdl:length="24" dfdl:lengthKind="explicit" dfdl:lengthUnits="bytes" ibmDfdlExtn:sampleValue="aaaaaaaaaaaaaaaaaaaa" name="SEC_LENGTH" type="xsd:string"/>
<xsd:element dfdl:length="8" dfdl:lengthKind="explicit" dfdl:lengthUnits="bytes" ibmDfdlExtn:sampleValue="aaaaaaaa" name="MASTER_TABLE" type="xsd:string"/>
<xsd:element dfdl:length="16" dfdl:lengthKind="explicit" dfdl:lengthUnits="bytes" ibmDfdlExtn:sampleValue="aaaaaaaaaaaaaaaa" name="ORIGINATING_CENTRE" type="xsd:string"/>
<xsd:element dfdl:length="8" dfdl:lengthKind="explicit" dfdl:lengthUnits="bytes" ibmDfdlExtn:sampleValue="aaaaaaaa" name="SEQ_NUMER" type="xsd:string"/>
<xsd:element dfdl:length="8" dfdl:lengthKind="explicit" dfdl:lengthUnits="bytes" ibmDfdlExtn:sampleValue="aaaaaaaa" name="FLAG" type="xsd:string"/>
<xsd:element dfdl:length="8" dfdl:lengthKind="explicit" dfdl:lengthUnits="bytes" ibmDfdlExtn:sampleValue="aaaaaaaaaaaaaaaa" name="DATA_CATEGORY" type="xsd:string"/>
<xsd:element dfdl:length="8" dfdl:lengthKind="explicit" dfdl:lengthUnits="bytes" ibmDfdlExtn:sampleValue="aaaaaaaa" name="DATA_SUB_CATEGORY" type="xsd:string"/>
<xsd:element dfdl:length="8" dfdl:lengthKind="explicit" dfdl:lengthUnits="bytes" ibmDfdlExtn:sampleValue="aaaaaaaaaaaaaaaa" name="MASTER_TABLE_VERSION" type="xsd:string"/>
<xsd:element dfdl:length="8" dfdl:lengthKind="explicit" ibmDfdlExtn:sampleValue="aaaaaaaa" name="LOCAL_TABLE_VERSION" type="xsd:string"/>
<xsd:element dfdl:length="8" dfdl:lengthKind="explicit" ibmDfdlExtn:sampleValue="aaaaaaaa" name="YEAR" type="xsd:string"/>
<xsd:element dfdl:length="8" dfdl:lengthKind="explicit" ibmDfdlExtn:sampleValue="aaaaaaaa" name="MONTH" type="xsd:string"/>
<xsd:element dfdl:length="8" dfdl:lengthKind="explicit" ibmDfdlExtn:sampleValue="aaaaaaaa" name="DAY" type="xsd:string"/>
<xsd:element dfdl:length="8" dfdl:lengthKind="explicit" ibmDfdlExtn:sampleValue="aaaaaaaa" name="HOUR" type="xsd:string"/>
<xsd:element dfdl:length="8" dfdl:lengthKind="explicit" ibmDfdlExtn:sampleValue="aaaaaaaa" name="MINUTE" type="xsd:string"/>
<xsd:element dfdl:length="8" dfdl:lengthKind="explicit" dfdl:lengthUnits="bytes" ibmDfdlExtn:sampleValue="aaaaaaaaaaaaaaaaaaaa" name="LOCAL_USE">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="100"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:annotation>
<xsd:appinfo source="http://www.ogf.org/dfdl/">
<dfdl:format ref="fmt:GeneralPurposeFormat"/>
</xsd:appinfo>
</xsd:annotation>
</xsd:schema>
----- GeneralPurposeFormat.xsd ---------------
<schema targetNamespace="http://www.ibm.com/dfdl/GeneralPurposeFormat"
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:dfdl="http://www.ogf.org/dfdl/dfdl-1.0/"
xmlns:tns="http://www.ibm.com/dfdl/GeneralPurposeFormat">
<annotation>
<appinfo source="http://www.ogf.org/dfdl/">
<dfdl:defineEscapeScheme name="GeneralPurposeEscapeScheme">
<dfdl:escapeScheme escapeKind="escapeBlock"
escapeBlockStart='"' escapeBlockEnd='"' escapeCharacter='"'
escapeEscapeCharacter='"' generateEscapeBlock="whenNeeded"
extraEscapedCharacters=", %#x0D; %#x0A;">
</dfdl:escapeScheme>
</dfdl:defineEscapeScheme>
<dfdl:defineFormat name="GeneralPurposeFormat">
<dfdl:format encoding="UTF-8" utf16Width="fixed" ignoreCase="no" byteOrder="bigEndian"
lengthUnits="characters" prefixIncludesPrefixLength="no" representation="text" textPadKind="none"
textStringJustification="left" truncateSpecifiedLengthString="no"
decimalSigned="yes" textNumberCheckPolicy="lax"
textNumberJustification="right" textZonedSignStyle="asciiStandard"
textBooleanJustification="left" sequenceKind="ordered"
choiceLengthKind="implicit" separator="," separatorPolicy="required"
separatorPosition="infix"
documentFinalTerminatorCanBeMissing="no" lengthKind="delimited"
textNumberRounding="pattern" textTrimKind="none"
textStandardBase="2" textStandardDecimalSeparator="."
textStandardExponentCharacter="E" escapeSchemeRef=""
alignment="1" alignmentUnits="bytes" leadingSkip="0" trailingSkip="0"
fillByte="0" textStringPadCharacter="%SP;" initiatedContent="no"
textNumberPadCharacter="%SP;" textBooleanPadCharacter="%SP;"
textNumberRep="standard" textStandardGroupingSeparator=","
textStandardZeroRep="" textNumberRoundingMode="roundUp"
calendarPatternKind="implicit" calendarPattern="yyyy-MM-dd'T'HH:mm:ss"
calendarCheckPolicy="lax" calendarTimeZone="UTC"
calendarObserveDST="yes" calendarFirstDayOfWeek="Monday"
calendarDaysInFirstWeek="4" textCalendarJustification="left"
textCalendarPadCharacter="%SP;" calendarCenturyStart="53"
calendarLanguage="en-US" occursCountKind="fixed"
textStandardInfinityRep="Inf" textStandardNaNRep="NaN"
textBooleanTrueRep="true" textBooleanFalseRep="false"
initiator="" terminator=""
nilKind="literalValue" useNilForDefault="no"
nilValueDelimiterPolicy="none"
outputNewLine="%CR;%LF;"
binaryNumberRep="binary" binaryPackedSignCodes="C D F C"
binaryDecimalVirtualPoint="0" binaryNumberCheckPolicy="lax"
binaryCalendarRep="bcd" binaryBooleanTrueRep="1" binaryBooleanFalseRep="0"
binaryFloatRep="ieee" textBidi="no" emptyValueDelimiterPolicy="none" floating="no" >
</dfdl:format>
</dfdl:defineFormat>
</appinfo>
</annotation>
</schema> |
|
Back to top |
|
 |
kimbert |
Posted: Wed May 08, 2013 12:50 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
I am reposting that using [c o d e] tags and with proper indentation. Please can you do the same in future when posting code or data.
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:annotation>
<xsd:appinfo source="http://www.ogf.org/dfdl/">
<dfdl:format ref="fmt:GeneralPurposeFormat"/>
</xsd:appinfo>
</xsd:annotation>
<xsd:element ibmSchExtn:docRoot="true" name="Message1">
<xsd:complexType>
<xsd:sequence dfdl:separator="">
<xsd:sequence dfdl:separator="">
<xsd:element dfdl:length="32" dfdl:lengthKind="explicit" dfdl:lengthUnits="bytes" ibmDfdlExtn:sampleValue="aaaaaaaaaaaaaaaaaaaa" name="BUFR_STRING" type="xsd:string"/>
<xsd:element dfdl:length="24" dfdl:lengthKind="explicit" dfdl:lengthUnits="characters" ibmDfdlExtn:sampleValue="00000000" name="MSG_LENGTH" type="xsd:string"/>
<xsd:element dfdl:length="8" dfdl:lengthKind="explicit" dfdl:lengthUnits="bytes" ibmDfdlExtn:sampleValue="aaaaaaaa" name="EDITION" type="xsd:string"/>
</xsd:sequence>
<xsd:sequence dfdl:separator="">
<xsd:element dfdl:length="24" dfdl:lengthKind="explicit" dfdl:lengthUnits="bytes" ibmDfdlExtn:sampleValue="aaaaaaaaaaaaaaaaaaaa" name="SEC_LENGTH" type="xsd:string"/>
<xsd:element dfdl:length="8" dfdl:lengthKind="explicit" dfdl:lengthUnits="bytes" ibmDfdlExtn:sampleValue="aaaaaaaa" name="MASTER_TABLE" type="xsd:string"/>
<xsd:element dfdl:length="16" dfdl:lengthKind="explicit" dfdl:lengthUnits="bytes" ibmDfdlExtn:sampleValue="aaaaaaaaaaaaaaaa" name="ORIGINATING_CENTRE" type="xsd:string"/>
<xsd:element dfdl:length="8" dfdl:lengthKind="explicit" dfdl:lengthUnits="bytes" ibmDfdlExtn:sampleValue="aaaaaaaa" name="SEQ_NUMER" type="xsd:string"/>
<xsd:element dfdl:length="8" dfdl:lengthKind="explicit" dfdl:lengthUnits="bytes" ibmDfdlExtn:sampleValue="aaaaaaaa" name="FLAG" type="xsd:string"/>
<xsd:element dfdl:length="8" dfdl:lengthKind="explicit" dfdl:lengthUnits="bytes" ibmDfdlExtn:sampleValue="aaaaaaaaaaaaaaaa" name="DATA_CATEGORY" type="xsd:string"/>
<xsd:element dfdl:length="8" dfdl:lengthKind="explicit" dfdl:lengthUnits="bytes" ibmDfdlExtn:sampleValue="aaaaaaaa" name="DATA_SUB_CATEGORY" type="xsd:string"/>
<xsd:element dfdl:length="8" dfdl:lengthKind="explicit" dfdl:lengthUnits="bytes" ibmDfdlExtn:sampleValue="aaaaaaaaaaaaaaaa" name="MASTER_TABLE_VERSION" type="xsd:string"/>
<xsd:element dfdl:length="8" dfdl:lengthKind="explicit" ibmDfdlExtn:sampleValue="aaaaaaaa" name="LOCAL_TABLE_VERSION" type="xsd:string"/>
<xsd:element dfdl:length="8" dfdl:lengthKind="explicit" ibmDfdlExtn:sampleValue="aaaaaaaa" name="YEAR" type="xsd:string"/>
<xsd:element dfdl:length="8" dfdl:lengthKind="explicit" ibmDfdlExtn:sampleValue="aaaaaaaa" name="MONTH" type="xsd:string"/>
<xsd:element dfdl:length="8" dfdl:lengthKind="explicit" ibmDfdlExtn:sampleValue="aaaaaaaa" name="DAY" type="xsd:string"/>
<xsd:element dfdl:length="8" dfdl:lengthKind="explicit" ibmDfdlExtn:sampleValue="aaaaaaaa" name="HOUR" type="xsd:string"/>
<xsd:element dfdl:length="8" dfdl:lengthKind="explicit" ibmDfdlExtn:sampleValue="aaaaaaaa" name="MINUTE" type="xsd:string"/>
<xsd:element dfdl:length="8" dfdl:lengthKind="explicit" dfdl:lengthUnits="bytes" ibmDfdlExtn:sampleValue="aaaaaaaaaaaaaaaaaaaa" name="LOCAL_USE">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="100"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema> |
|
|
Back to top |
|
 |
kimbert |
Posted: Wed May 08, 2013 1:02 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
A couple of points I noticed immediately:
- You are not setting the DFDL encoding property, so you are inheriting the value 'UTF-8' from the IBM default format block. I suspect that this is incorrect. What character encoding does the BUFR standard use?
- Most of your strings ( but not all of them ) are using lengthUnits='bytes'. That's usually a mistake, although there are edge cases where it is useful. Did you intend to do this?
- You are setting textStandardBase in the default format block but not on the binary elements. That's not the way I would do it - I would prefer to put an unusual setting like this on the element or on its simple type.
Quote: |
Please let me know which all attributes in these scema needs to be corrected. |
See the comments above. I have no idea why it is not working, and I certainly don't have time to try it out. The way this forum works is as follows:
- you try something
- if it doesn't work, you try to find out why
- if you get stuck, you tell us what you tried, and what happened
Does it work in the DFDL test utility in the WMB toolkit. Have you looked at the DFDL Trace to diagnose what's happening?
- we reserve the right to withhold help unless you do your bit  |
|
Back to top |
|
 |
MQMD1 |
Posted: Wed May 08, 2013 10:18 am Post subject: |
|
|
Novice
Joined: 06 May 2013 Posts: 20
|
Quote: |
You are not setting the DFDL encoding property, so you are inheriting the value 'UTF-8' from the IBM default format block. I suspect that this is incorrect. What character encoding does the BUFR standard use? |
Encoding UTF-8 is correct as it has backward coimpatibility to binary codes ITA2 and ITA5.
Quote: |
Most of your strings ( but not all of them ) are using lengthUnits='bytes'. That's usually a mistake, although there are edge cases where it is useful. Did you intend to do this? |
I have not found any difference by setting either of the two i.e byte or character.
Quote: |
You are setting textStandardBase in the default format block but not on the binary elements. That's not the way I would do it - I would prefer to put an unusual setting like this on the element or on its simple type. |
It is because textStandardBase is not appearing in my defined DFDL model.
Quote: |
Does it work in the DFDL test utility in the WMB toolkit. Have you looked at the DFDL Trace to diagnose what's happening? |
Yes , here is the trace of one element.
May 8, 2013 10:27:54 PM info: Offset: 0. Starting to process element 'BUFR_STRING'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[1]/schemaElement::BUFR_STRING), 61]
May 8, 2013 10:27:54 PM info: Offset: 0. Found fixed length value: '01000010010101010100011001010010' for element 'BUFR_STRING'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[1]/schemaElement::BUFR_STRING), 106]
May 8, 2013 10:27:54 PM info: Offset: 32. Finished processing element 'BUFR_STRING'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[1]/schemaElement::BUFR_STRING), 62]
[/quote] |
|
Back to top |
|
 |
kimbert |
Posted: Wed May 08, 2013 1:39 pm Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
OK - I see where you're coming from.
UTF-8 is an encoding of the entire Unicode character set. The first 128 code points are the same as ITA5 / ASCII. After that, UTF-8 becomes a multi-byte encoding, with the number of bytes for a character depending on the ms bits of the first byte. So it is true that UTF-8 is backward compatible with ASCII, but you still should not be using UTF-8 ( multibyte ) when you mean US-ASCII ( single-byte) or some variant thereof.
Quote: |
have not found any difference by setting either of the two i.e byte or character. |
It will work either way, unless and until your data includes a character with the top bit set. At that point, instead of getting an error telling you that you have a malformed character in your input, you might find that the data parses successfully with a funny-looking character included in the output. Or you might get a much less helpful error because the parser stayed on its feet far longer than it should have done.
In your case, the worst-case scenario might not be too bad, but I shudder to think how many hours have been wasted because developers fail to distinguish between ASCII and UTF-8. I wouldn't risk it.
Quote: |
textStandardBase is not appearing in my defined DFDL model. |
Not your fault - this is a known usability problem with the DFDL editor. There are many DFDL properties, and some of them are so rarely used that you need to click the 'Show Advanced' button to make them visible. This property is one of those.
Quote: |
here is the trace of one element... |
The trace shows that you have extracted a string value from the input data, but it does not show the integer value that it was converted into. Please can you check in the trace - it should be showing the conversion.
If you cannot see the value in the trace then please look in the DFDL Infoset view - the converted value will be shown there. |
|
Back to top |
|
 |
MQMD1 |
Posted: Wed May 08, 2013 7:53 pm Post subject: |
|
|
Novice
Joined: 06 May 2013 Posts: 20
|
Thanks Kimabart , DFDL works ! Binary to Decimal works but Binary to ASCII got struck in DFDL.For type string it seems it is not performing conversion to ASCII and is printing the input. Any pointer please I tried with different type settings.
Code: |
<?xml version="1.0" encoding="UTF-8" ?>
- <Message1 xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<B xsi:type="xs:string">01000010</B>
<BUFR_STRING xsi:type="xs:string">010101010100011001010010</BUFR_STRING>
<MSG_LENGTH xsi:type="xs:int">52</MSG_LENGTH>
<EDITION xsi:type="xs:int">2</EDITION>
<SEC_LENGTH xsi:type="xs:int">18</SEC_LENGTH>
<MASTER_TABLE xsi:type="xs:int">0</MASTER_TABLE>
<ORIGINATING_CENTRE xsi:type="xs:int">58</ORIGINATING_CENTRE>
<SEQ_NUMER xsi:type="xs:int">0</SEQ_NUMER>
<FLAG xsi:type="xs:int">0</FLAG>
<DATA_CATEGORY xsi:type="xs:int">2</DATA_CATEGORY>
<DATA_SUB_CATEGORY xsi:type="xs:int">0</DATA_SUB_CATEGORY>
<MASTER_TABLE_VERSION xsi:type="xs:int">2</MASTER_TABLE_VERSION>
<LOCAL_TABLE_VERSION xsi:type="xs:int">1</LOCAL_TABLE_VERSION>
<YEAR xsi:type="xs:int">94</YEAR>
<MONTH xsi:type="xs:int">4</MONTH>
<DAY xsi:type="xs:int">29</DAY>
<HOUR xsi:type="xs:int">12</HOUR>
<MINUTE xsi:type="xs:int">0</MINUTE>
<LOCAL_USE xsi:type="xs:int">0</LOCAL_USE>
</Message1> |
[/code] |
|
Back to top |
|
 |
kimbert |
Posted: Thu May 09, 2013 1:18 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
kimbert, not that it matters.
I knew that
Quote: |
Binary to Decimal works |
You mean, binary represented as text can now be parsed successfully? What did you change to make it work?
Quote: |
but Binary to ASCII got struck in DFDL. For type string it seems it is not performing conversion to ASCII and is printing the input |
Not sure what that means. Please can you show us
- the input,
- the schema
- the resulting value in the infoset and
- (important) the relevant part of the DFDL trace.
Quote: |
Any pointer please I tried with different type settings |
It is kind of difficult to answer that. You have not described the problem, and you have not told us what these 'different type settings' were. Supply the information requested above, and I should be able to help. |
|
Back to top |
|
 |
MQMD1 |
Posted: Thu May 09, 2013 3:02 am Post subject: |
|
|
Novice
Joined: 06 May 2013 Posts: 20
|
Changes Made
1) Field type defined 'int' instead of string
2) textNumberbase 2
Schema
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:element ibmSchExtn:docRoot="true" name="Message1">
<xsd:complexType>
<xsd:sequence dfdl:separator="">
<xsd:sequence dfdl:separator="">
<xsd:element dfdl:encoding="UTF-8" dfdl:length="8" dfdl:lengthKind="explicit" dfdl:lengthUnits="bytes" dfdl:representation="text" ibmDfdlExtn:sampleValue="127" name="B" type="xsd:string"/>
<xsd:element dfdl:length="24" dfdl:lengthKind="explicit" dfdl:lengthUnits="characters" dfdl:textNumberPattern="#0" ibmDfdlExtn:sampleValue="255" name="BUFR_STRING" type="xsd:string"/>
<xsd:element dfdl:length="24" dfdl:lengthKind="explicit" dfdl:lengthUnits="characters" dfdl:textNumberPattern="#0" ibmDfdlExtn:sampleValue="00000000" name="MSG_LENGTH" type="xsd:int"/>
<xsd:element dfdl:length="8" dfdl:lengthKind="explicit" dfdl:lengthUnits="characters" dfdl:textNumberPattern="#0" ibmDfdlExtn:sampleValue="2147483647" name="EDITION" type="xsd:int"/>
</xsd:sequence>
<xsd:sequence dfdl:separator="">
<xsd:element dfdl:length="24" dfdl:lengthKind="explicit" dfdl:lengthUnits="characters" dfdl:textNumberPattern="#0" ibmDfdlExtn:sampleValue="2147483647" name="SEC_LENGTH" type="xsd:int"/>
<xsd:element dfdl:length="8" dfdl:lengthKind="explicit" dfdl:lengthUnits="characters" dfdl:textNumberPattern="#0" ibmDfdlExtn:sampleValue="2147483647" name="MASTER_TABLE" type="xsd:int"/>
<xsd:element dfdl:length="16" dfdl:lengthKind="explicit" dfdl:lengthUnits="characters" dfdl:textNumberPattern="#0" ibmDfdlExtn:sampleValue="2147483647" name="ORIGINATING_CENTRE" type="xsd:int"/>
<xsd:element dfdl:length="8" dfdl:lengthKind="explicit" dfdl:lengthUnits="characters" dfdl:textNumberPattern="#0" ibmDfdlExtn:sampleValue="2147483647" name="SEQ_NUMER" type="xsd:int"/>
<xsd:element dfdl:length="8" dfdl:lengthKind="explicit" dfdl:lengthUnits="characters" dfdl:textNumberPattern="#0" ibmDfdlExtn:sampleValue="2147483647" name="FLAG" type="xsd:int"/>
<xsd:element dfdl:length="8" dfdl:lengthKind="explicit" dfdl:lengthUnits="characters" dfdl:textNumberPattern="#0" ibmDfdlExtn:sampleValue="2147483647" name="DATA_CATEGORY" type="xsd:int"/>
<xsd:element dfdl:length="8" dfdl:lengthKind="explicit" dfdl:lengthUnits="characters" dfdl:textNumberPattern="#0" ibmDfdlExtn:sampleValue="2147483647" name="DATA_SUB_CATEGORY" type="xsd:int"/>
<xsd:element dfdl:length="8" dfdl:lengthKind="explicit" dfdl:lengthUnits="characters" dfdl:textNumberPattern="#0" ibmDfdlExtn:sampleValue="2147483647" name="MASTER_TABLE_VERSION" type="xsd:int"/>
<xsd:element dfdl:length="8" dfdl:lengthKind="explicit" dfdl:textNumberPattern="#0" ibmDfdlExtn:sampleValue="2147483647" name="LOCAL_TABLE_VERSION" type="xsd:int"/>
<xsd:element dfdl:length="8" dfdl:lengthKind="explicit" dfdl:textNumberPattern="#0" ibmDfdlExtn:sampleValue="2147483647" name="YEAR" type="xsd:int"/>
<xsd:element dfdl:length="8" dfdl:lengthKind="explicit" dfdl:textNumberPattern="#0" ibmDfdlExtn:sampleValue="2147483647" name="MONTH" type="xsd:int"/>
<xsd:element dfdl:length="8" dfdl:lengthKind="explicit" dfdl:textNumberPattern="#0" ibmDfdlExtn:sampleValue="2147483647" name="DAY" type="xsd:int"/>
<xsd:element dfdl:length="8" dfdl:lengthKind="explicit" dfdl:textNumberPattern="#0" ibmDfdlExtn:sampleValue="2147483647" name="HOUR" type="xsd:int"/>
<xsd:element dfdl:length="8" dfdl:lengthKind="explicit" dfdl:textNumberPattern="#0" ibmDfdlExtn:sampleValue="2147483647" name="MINUTE" type="xsd:int"/>
<xsd:element dfdl:length="8" dfdl:lengthKind="explicit" dfdl:lengthUnits="characters" dfdl:textNumberPattern="#0" ibmDfdlExtn:sampleValue="2147483647" name="LOCAL_USE" type="xsd:int">
</xsd:element>
</xsd:sequence>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:annotation>
<xsd:appinfo source="http://www.ogf.org/dfdl/">
<dfdl:format ref="fmt:GeneralPurposeFormat"/>
</xsd:appinfo>
</xsd:annotation>
</xsd:schema> |
Input
0100001001010101010001100101001000000000000000000011010000000010000000000000000000010010000000000000000000111010000000000000000000000010000000000000001000000001010111100000010000011101000011000000000000000000
Output
Code: |
<?xml version="1.0" encoding="UTF-8" ?>
- <Message1 xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<B xsi:type="xs:string">01000010</B>
<BUFR_STRING xsi:type="xs:string">010101010100011001010010</BUFR_STRING>
<MSG_LENGTH xsi:type="xs:int">52</MSG_LENGTH>
<EDITION xsi:type="xs:int">2</EDITION>
<SEC_LENGTH xsi:type="xs:int">18</SEC_LENGTH>
<MASTER_TABLE xsi:type="xs:int">0</MASTER_TABLE>
<ORIGINATING_CENTRE xsi:type="xs:int">58</ORIGINATING_CENTRE>
<SEQ_NUMER xsi:type="xs:int">0</SEQ_NUMER>
<FLAG xsi:type="xs:int">0</FLAG>
<DATA_CATEGORY xsi:type="xs:int">2</DATA_CATEGORY>
<DATA_SUB_CATEGORY xsi:type="xs:int">0</DATA_SUB_CATEGORY>
<MASTER_TABLE_VERSION xsi:type="xs:int">2</MASTER_TABLE_VERSION>
<LOCAL_TABLE_VERSION xsi:type="xs:int">1</LOCAL_TABLE_VERSION>
<YEAR xsi:type="xs:int">94</YEAR>
<MONTH xsi:type="xs:int">4</MONTH>
<DAY xsi:type="xs:int">29</DAY>
<HOUR xsi:type="xs:int">12</HOUR>
<MINUTE xsi:type="xs:int">0</MINUTE>
<LOCAL_USE xsi:type="xs:int">0</LOCAL_USE>
</Message1> |
DFDL Trace
Quote: |
********************* DFDL Parser Starting *********************
Data = /SampleLib/Bufr.txt
Message = Message1 (/SampleLib/Bufr.xsd)
****************************************************************
May 9, 2013 4:28:08 PM info: Offset: 0. Parsing will start from root element 'Message1'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1), 67]
May 9, 2013 4:28:08 PM info: Offset: 0. Starting to process element 'Message1'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1), 58]
May 9, 2013 4:28:08 PM info: Offset: 0. Starting to process element 'B'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[1]/schemaElement::B), 51]
May 9, 2013 4:28:08 PM info: Offset: 0. Found fixed length value: '01000010' for element 'B'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[1]/schemaElement::B), 72]
May 9, 2013 4:28:08 PM info: Offset: 8. Finished processing element 'B'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[1]/schemaElement::B), 51]
May 9, 2013 4:28:08 PM info: Offset: 8. Starting to process element 'BUFR_STRING'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[1]/schemaElement::BUFR_STRING), 61]
May 9, 2013 4:28:08 PM info: Offset: 8. Found fixed length value: '010101010100011001010010' for element 'BUFR_STRING'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[1]/schemaElement::BUFR_STRING), 98]
May 9, 2013 4:28:08 PM info: Offset: 32. Finished processing element 'BUFR_STRING'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[1]/schemaElement::BUFR_STRING), 62]
May 9, 2013 4:28:08 PM info: Offset: 32. Starting to process element 'MSG_LENGTH'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[1]/schemaElement::MSG_LENGTH), 61]
May 9, 2013 4:28:08 PM info: Offset: 32. Found fixed length value: '000000000000000000110100' for element 'MSG_LENGTH'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[1]/schemaElement::MSG_LENGTH), 98]
May 9, 2013 4:28:08 PM info: Offset: 56. The simple content region of element 'MSG_LENGTH' was converted to logical value '52'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[1]/schemaElement::MSG_LENGTH), 109]
May 9, 2013 4:28:08 PM info: Offset: 56. Finished processing element 'MSG_LENGTH'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[1]/schemaElement::MSG_LENGTH), 61]
May 9, 2013 4:28:08 PM info: Offset: 56. Starting to process element 'EDITION'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[1]/schemaElement::EDITION), 58]
May 9, 2013 4:28:08 PM info: Offset: 56. Found fixed length value: '00000010' for element 'EDITION'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[1]/schemaElement::EDITION), 79]
May 9, 2013 4:28:08 PM info: Offset: 64. The simple content region of element 'EDITION' was converted to logical value '2'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[1]/schemaElement::EDITION), 105]
May 9, 2013 4:28:08 PM info: Offset: 64. Finished processing element 'EDITION'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[1]/schemaElement::EDITION), 58]
May 9, 2013 4:28:08 PM info: Offset: 64. Starting to process element 'SEC_LENGTH'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::SEC_LENGTH), 61]
May 9, 2013 4:28:08 PM info: Offset: 64. Found fixed length value: '000000000000000000010010' for element 'SEC_LENGTH'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::SEC_LENGTH), 98]
May 9, 2013 4:28:08 PM info: Offset: 88. The simple content region of element 'SEC_LENGTH' was converted to logical value '18'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::SEC_LENGTH), 109]
May 9, 2013 4:28:08 PM info: Offset: 88. Finished processing element 'SEC_LENGTH'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::SEC_LENGTH), 61]
May 9, 2013 4:28:08 PM info: Offset: 88. Starting to process element 'MASTER_TABLE'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::MASTER_TABLE), 63]
May 9, 2013 4:28:08 PM info: Offset: 88. Found fixed length value: '00000000' for element 'MASTER_TABLE'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::MASTER_TABLE), 84]
May 9, 2013 4:28:08 PM info: Offset: 96. The simple content region of element 'MASTER_TABLE' was converted to logical value '0'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::MASTER_TABLE), 110]
May 9, 2013 4:28:08 PM info: Offset: 96. Finished processing element 'MASTER_TABLE'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::MASTER_TABLE), 63]
May 9, 2013 4:28:08 PM info: Offset: 96. Starting to process element 'ORIGINATING_CENTRE'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::ORIGINATING_CENTRE), 69]
May 9, 2013 4:28:08 PM info: Offset: 96. Found fixed length value: '0000000000111010' for element 'ORIGINATING_CENTRE'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::ORIGINATING_CENTRE), 98]
May 9, 2013 4:28:08 PM info: Offset: 112. The simple content region of element 'ORIGINATING_CENTRE' was converted to logical value '58'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::ORIGINATING_CENTRE), 118]
May 9, 2013 4:28:08 PM info: Offset: 112. Finished processing element 'ORIGINATING_CENTRE'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::ORIGINATING_CENTRE), 70]
May 9, 2013 4:28:08 PM info: Offset: 112. Starting to process element 'SEQ_NUMER'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::SEQ_NUMER), 61]
May 9, 2013 4:28:08 PM info: Offset: 112. Found fixed length value: '00000000' for element 'SEQ_NUMER'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::SEQ_NUMER), 82]
May 9, 2013 4:28:08 PM info: Offset: 120. The simple content region of element 'SEQ_NUMER' was converted to logical value '0'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::SEQ_NUMER), 108]
May 9, 2013 4:28:08 PM info: Offset: 120. Finished processing element 'SEQ_NUMER'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::SEQ_NUMER), 61]
May 9, 2013 4:28:08 PM info: Offset: 120. Starting to process element 'FLAG'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::FLAG), 56]
May 9, 2013 4:28:08 PM info: Offset: 120. Found fixed length value: '00000000' for element 'FLAG'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::FLAG), 77]
May 9, 2013 4:28:08 PM info: Offset: 128. The simple content region of element 'FLAG' was converted to logical value '0'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::FLAG), 103]
May 9, 2013 4:28:08 PM info: Offset: 128. Finished processing element 'FLAG'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::FLAG), 56]
May 9, 2013 4:28:08 PM info: Offset: 128. Starting to process element 'DATA_CATEGORY'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::DATA_CATEGORY), 65]
May 9, 2013 4:28:08 PM info: Offset: 128. Found fixed length value: '00000010' for element 'DATA_CATEGORY'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::DATA_CATEGORY), 86]
May 9, 2013 4:28:08 PM info: Offset: 136. The simple content region of element 'DATA_CATEGORY' was converted to logical value '2'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::DATA_CATEGORY), 112]
May 9, 2013 4:28:08 PM info: Offset: 136. Finished processing element 'DATA_CATEGORY'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::DATA_CATEGORY), 65]
May 9, 2013 4:28:08 PM info: Offset: 136. Starting to process element 'DATA_SUB_CATEGORY'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::DATA_SUB_CATEGORY), 69]
May 9, 2013 4:28:08 PM info: Offset: 136. Found fixed length value: '00000000' for element 'DATA_SUB_CATEGORY'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::DATA_SUB_CATEGORY), 90]
May 9, 2013 4:28:08 PM info: Offset: 144. The simple content region of element 'DATA_SUB_CATEGORY' was converted to logical value '0'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::DATA_SUB_CATEGORY), 116]
May 9, 2013 4:28:08 PM info: Offset: 144. Finished processing element 'DATA_SUB_CATEGORY'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::DATA_SUB_CATEGORY), 69]
May 9, 2013 4:28:08 PM info: Offset: 144. Starting to process element 'MASTER_TABLE_VERSION'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::MASTER_TABLE_VERSION), 72]
May 9, 2013 4:28:08 PM info: Offset: 144. Found fixed length value: '00000010' for element 'MASTER_TABLE_VERSION'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::MASTER_TABLE_VERSION), 93]
May 9, 2013 4:28:08 PM info: Offset: 152. The simple content region of element 'MASTER_TABLE_VERSION' was converted to logical value '2'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::MASTER_TABLE_VERSION), 119]
May 9, 2013 4:28:08 PM info: Offset: 152. Finished processing element 'MASTER_TABLE_VERSION'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::MASTER_TABLE_VERSION), 72]
May 9, 2013 4:28:08 PM info: Offset: 152. Starting to process element 'LOCAL_TABLE_VERSION'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::LOCAL_TABLE_VERSION), 71]
May 9, 2013 4:28:08 PM info: Offset: 152. Found fixed length value: '00000001' for element 'LOCAL_TABLE_VERSION'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::LOCAL_TABLE_VERSION), 92]
May 9, 2013 4:28:08 PM info: Offset: 160. The simple content region of element 'LOCAL_TABLE_VERSION' was converted to logical value '1'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::LOCAL_TABLE_VERSION), 118]
May 9, 2013 4:28:08 PM info: Offset: 160. Finished processing element 'LOCAL_TABLE_VERSION'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::LOCAL_TABLE_VERSION), 71]
May 9, 2013 4:28:08 PM info: Offset: 160. Starting to process element 'YEAR'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::YEAR), 56]
May 9, 2013 4:28:08 PM info: Offset: 160. Found fixed length value: '01011110' for element 'YEAR'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::YEAR), 77]
May 9, 2013 4:28:08 PM info: Offset: 168. The simple content region of element 'YEAR' was converted to logical value '94'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::YEAR), 104]
May 9, 2013 4:28:08 PM info: Offset: 168. Finished processing element 'YEAR'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::YEAR), 56]
May 9, 2013 4:28:08 PM info: Offset: 168. Starting to process element 'MONTH'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::MONTH), 57]
May 9, 2013 4:28:08 PM info: Offset: 168. Found fixed length value: '00000100' for element 'MONTH'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::MONTH), 78]
May 9, 2013 4:28:08 PM info: Offset: 176. The simple content region of element 'MONTH' was converted to logical value '4'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::MONTH), 104]
May 9, 2013 4:28:08 PM info: Offset: 176. Finished processing element 'MONTH'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::MONTH), 57]
May 9, 2013 4:28:08 PM info: Offset: 176. Starting to process element 'DAY'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::DAY), 55]
May 9, 2013 4:28:08 PM info: Offset: 176. Found fixed length value: '00011101' for element 'DAY'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::DAY), 76]
May 9, 2013 4:28:08 PM info: Offset: 184. The simple content region of element 'DAY' was converted to logical value '29'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::DAY), 103]
May 9, 2013 4:28:08 PM info: Offset: 184. Finished processing element 'DAY'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::DAY), 55]
May 9, 2013 4:28:08 PM info: Offset: 184. Starting to process element 'HOUR'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::HOUR), 56]
May 9, 2013 4:28:08 PM info: Offset: 184. Found fixed length value: '00001100' for element 'HOUR'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::HOUR), 77]
May 9, 2013 4:28:08 PM info: Offset: 192. The simple content region of element 'HOUR' was converted to logical value '12'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::HOUR), 104]
May 9, 2013 4:28:08 PM info: Offset: 192. Finished processing element 'HOUR'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::HOUR), 56]
May 9, 2013 4:28:08 PM info: Offset: 192. Starting to process element 'MINUTE'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::MINUTE), 58]
May 9, 2013 4:28:08 PM info: Offset: 192. Found fixed length value: '00000000' for element 'MINUTE'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::MINUTE), 79]
May 9, 2013 4:28:08 PM info: Offset: 200. The simple content region of element 'MINUTE' was converted to logical value '0'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::MINUTE), 105]
May 9, 2013 4:28:08 PM info: Offset: 200. Finished processing element 'MINUTE'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::MINUTE), 58]
May 9, 2013 4:28:08 PM info: Offset: 200. Starting to process element 'LOCAL_USE'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::LOCAL_USE), 61]
May 9, 2013 4:28:08 PM info: Offset: 200. Found fixed length value: '00000000' for element 'LOCAL_USE'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::LOCAL_USE), 82]
May 9, 2013 4:28:08 PM info: Offset: 208. The simple content region of element 'LOCAL_USE' was converted to logical value '0'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::LOCAL_USE), 108]
May 9, 2013 4:28:08 PM info: Offset: 208. Finished processing element 'LOCAL_USE'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1/type::0/model::sequence/model::sequence[2]/schemaElement::LOCAL_USE), 61]
May 9, 2013 4:28:08 PM info: Offset: 208. Finished processing element 'Message1'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1), 60]
May 9, 2013 4:28:08 PM info: Offset: 0. Parsing will start from root element 'Message1'.
[dfdl = /SampleLib/Bufr.xsd, scd = #xscd(/schemaElement::Message1), 67] |
Current Problem is Binary ( 01000010 ) to ASCII (B) Conversion in DFDL. |
|
Back to top |
|
 |
kimbert |
Posted: Thu May 09, 2013 7:53 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
OK - I have some good news and some bad news for you. First the bad news:
a) your format is extremely unusual. I have never before seen a data format that uses one character per *bit*. I would love to meet the person who thought that this was a good idea.
b) DFDL can just about handle integers that are represented in this way, but it cannot handle character data in this ( very inefficient ) representation.
The good news: You can work around the problem as follows:
1. Change the domain on your input node to 'BLOB'.
2. Wire the input node to a Compute node
3. In the Compute node, convert the bit string to a BLOB using ESQL's CAST function ( I think you already know how to do that )
4. Convert the BLOB to CHARACTER using CAST. Make sure that you specify the CCSID correctly on the CAST.
5. Use an ESQL statement something like this:
Code: |
CREATE LASTCHILD OF <someplace> DOMAIN 'DFDL' .... |
...to parse the ( much more normal ) stream of bytes using the DFDL parser.
Before testing 5. you will need to adjust your DFDL model to work with bytes instead of bits. That will involve quite a lot of changes, because most of your data will now be binary and not text, and will be composed of bytes and not characters. I recommend that you create a new model, and test it in the DFDL Test perspective before attempting to use it in a message flow.
Good luck! |
|
Back to top |
|
 |
kimbert |
Posted: Thu May 09, 2013 8:06 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
Or alternatively, ask the sender to send the original bytes, and not the expanded character representation. But that assumes that you have some influence over the incoming data format. |
|
Back to top |
|
 |
MQMD1 |
Posted: Thu May 09, 2013 9:05 am Post subject: |
|
|
Novice
Joined: 06 May 2013 Posts: 20
|
Quote: |
ask the sender to send the original bytes |
Is't the below representation effecient and are actualy the original bytes. What is now required is reading 01000010 into B ( character representation in UTF-8 encoding for this byte ) .
01000010 - B
01010101 - U
01000110 - F
01010010 - R |
|
Back to top |
|
 |
MQMD1 |
Posted: Thu May 09, 2013 9:28 am Post subject: |
|
|
Novice
Joined: 06 May 2013 Posts: 20
|
|
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
|
|
|
|