Using DataDirect XQuery with Legacy Data Sources

Buy Now | Download | Learn More

Many data sources are not readily available as XML. With the DataDirect XML Converters, you can convert many formats to XML on the fly, so they can be queried with DataDirect XQuery. Converters are available for EDI messages (X12, EDIFACT, EANCOM, IATA, HL7, and SEF), along with other flat file formats such as binary, JSON, tab delimited, comma separated value, dBase files, and many more.

XQuery for EDI and Flat File Formats

DataDirect XML Converters are available for Java and .NET. Download the XML Converters or get more information.

DataDirect XQuery provides a powerful, standards-based approach to data integration of heterogeneous data sources including Flat files, relational databases, XML files and Web services.

XML Converters are available to DataDirect XQuery as extended URI resolvers; thanks to the streaming capabilities of both XML Converters and DataDirect XQuery, legacy data is streamed through the XML Converters directly to DataDirect XQuery (as SAX or StAX events) for optimal performance and scalability.

Converting EDI Messages to XML
There are literally thousands of versions and subversions of EDI formats, and no standard way to query or process them. XML Converters allow you to read any of these formats without writing code to parse them. The example below shows and EDI file and the XML representation.

EDI Message

UNA:+.? 'UNB+UNOA:4+STYLUSSTUDIO:1+DATADIRECT:1+20051107:1159+600
2'UNH+SSDD1+ORDERS:D:03B:UN:EAN008'BGM+220+BKOD99+9'DTM+137:20051
107:102'NAD+BY+5412345000176::9'NAD+SU+4012345000094::9'LIN+1+1+0
764569104:IB'QTY+1:25'FTX+AFM+1++XPath 2.0 Programmer?'s Referenc
e'LIN+2+1+0764569090:IB'QTY+1:25'FTX+AFM+1++XSLT 2.0 Programmer?'
s Reference'LIN+3+1+1861004656:IB'QTY+1:16'FTX+AFM+1++Java Server 
Programming'LIN+4+1+0596006756:IB'QTY+1:10'FTX+AFM+1++Enterprise 
Service Bus'UNS+S'CNT+2:4'UNT+22+SSDD1'UNZ+1+6002'

XML Representation of EDI Message

<?xml version="1.0" encoding="utf-8"?>
<EDIFACT>
  <UNB>
    <UNB01>
      <UNB0101><!--0001: Syntax identifier-->UNOA</UNB0101>
      <UNB0102><!--0002: Syntax version number-->4</UNB0102>
    </UNB01>
    <UNB02>
      <UNB0201><!--0004: Interchange sender identification-->STYLUSSTUDIO</UNB0201>
      <UNB0202><!--0007: Identification code qualifier-->1</UNB0202>
    </UNB02>
    <UNB03>
      <UNB0301><!--0010: Interchange recipient identification-->DATADIRECT</UNB0301>
      <UNB0302><!--0007: Identification code qualifier-->1</UNB0302>
    </UNB03>
    <UNB04>
      <UNB0401><!--0017: Date-->20051107</UNB0401>
      <UNB0402><!--0019: Time-->1159</UNB0402>
    </UNB04>
    <UNB05><!--0020: INTERCHANGE CONTROL REFERENCE-->6002</UNB05>
  </UNB>
  <ORDERS>
    <UNH>
      <UNH01><!--0062: MESSAGE REFERENCE NUMBER-->SSDD1</UNH01>
      <UNH02>
        <UNH0201><!--0065: Message type-->ORDERS</UNH0201>
        <UNH0202><!--0052: Message version number-->D</UNH0202>
        <UNH0203><!--0054: Message release number-->03B</UNH0203>
        <UNH0204><!--0051: Controlling agency, coded-->UN</UNH0204>
        <UNH0205><!--0057: Association assigned code-->EAN008</UNH0205>
      </UNH02>
    </UNH>
    <BGM>
      <BGM01>
        <BGM0101><!--1001: Document name code-->220</BGM0101>
      </BGM01>
      <BGM02>
        <BGM0201><!--1004: Document identifier-->BKOD99</BGM0201>
      </BGM02>
      <BGM03><!--1225: Message function code-->9</BGM03>
    </BGM>
    <DTM>
      <DTM01>
        <DTM0101><!--2005: Date or time or period function code qualifier-->137</DTM0101>
        <DTM0102><!--2380: Date or time or period text-->20051107</DTM0102>
        <DTM0103><!--2379: Date or time or period format code-->102</DTM0103>
      </DTM01>
    </DTM>
    <GROUP_2>
      <NAD>
        <NAD01><!--3035: Party function code qualifier-->BY</NAD01>
        <NAD02>
          <NAD0201><!--3039: Party identifier-->5412345000176</NAD0201>
          <NAD0203><!--3055: Code list responsible agency code-->9</NAD0203>
        </NAD02>
      </NAD>
    </GROUP_2>
    <GROUP_2>
      <NAD>
        <NAD01><!--3035: Party function code qualifier-->SU</NAD01>
        <NAD02>
          <NAD0201><!--3039: Party identifier-->4012345000094</NAD0201>
          <NAD0203><!--3055: Code list responsible agency code-->9</NAD0203>
        </NAD02>
      </NAD>
    </GROUP_2>
    <GROUP_28>
      <LIN>
        <LIN01><!--1082: LINE ITEM IDENTIFIER-->1</LIN01>
        <LIN02><!--1229: ACTION REQUEST/NOTIFICATION DESCRIPTION CODE-->1</LIN02>
        <LIN03>
          <LIN0301><!--7140: Item identifier-->0764569104</LIN0301>
          <LIN0302><!--7143: Item type identification code-->IB</LIN0302>
        </LIN03>
      </LIN>
      <QTY>
        <QTY01>
          <QTY0101><!--6063: Quantity type code qualifier-->1</QTY0101>
          <QTY0102><!--6060: Quantity-->25</QTY0102>
        </QTY01>
      </QTY>
      <FTX>
        <FTX01><!--4451: TEXT SUBJECT CODE QUALIFIER-->AFM</FTX01>
        <FTX02><!--4453: FREE TEXT FUNCTION CODE-->1</FTX02>
        <FTX04>
          <FTX0401><!--4440: Free text-->XPath 2.0 Programmer's Reference</FTX0401>
        </FTX04>
      </FTX>
    </GROUP_28>
    <GROUP_28>
      <LIN>
        <LIN01><!--1082: LINE ITEM IDENTIFIER-->2</LIN01>
        <LIN02><!--1229: ACTION REQUEST/NOTIFICATION DESCRIPTION CODE-->1</LIN02>
        <LIN03>
          <LIN0301><!--7140: Item identifier-->0764569090</LIN0301>
          <LIN0302><!--7143: Item type identification code-->IB</LIN0302>
        </LIN03>
      </LIN>
      <QTY>
        <QTY01>
          <QTY0101><!--6063: Quantity type code qualifier-->1</QTY0101>
          <QTY0102><!--6060: Quantity-->25</QTY0102>
        </QTY01>
      </QTY>
      <FTX>
        <FTX01><!--4451: TEXT SUBJECT CODE QUALIFIER-->AFM</FTX01>
        <FTX02><!--4453: FREE TEXT FUNCTION CODE-->1</FTX02>
        <FTX04>
          <FTX0401><!--4440: Free text-->XSLT 2.0 Programmer's Reference</FTX0401>
        </FTX04>
      </FTX>
    </GROUP_28>
    <GROUP_28>
      <LIN>
        <LIN01><!--1082: LINE ITEM IDENTIFIER-->3</LIN01>
        <LIN02><!--1229: ACTION REQUEST/NOTIFICATION DESCRIPTION CODE-->1</LIN02>
        <LIN03>
          <LIN0301><!--7140: Item identifier-->1861004656</LIN0301>
          <LIN0302><!--7143: Item type identification code-->IB</LIN0302>
        </LIN03>
      </LIN>
      <QTY>
        <QTY01>
          <QTY0101><!--6063: Quantity type code qualifier-->1</QTY0101>
          <QTY0102><!--6060: Quantity-->16</QTY0102>
        </QTY01>
      </QTY>
      <FTX>
        <FTX01><!--4451: TEXT SUBJECT CODE QUALIFIER-->AFM</FTX01>
        <FTX02><!--4453: FREE TEXT FUNCTION CODE-->1</FTX02>
        <FTX04>
          <FTX0401><!--4440: Free text-->Java Server Programming</FTX0401>
        </FTX04>
      </FTX>
    </GROUP_28>
    <GROUP_28>
      <LIN>
        <LIN01><!--1082: LINE ITEM IDENTIFIER-->4</LIN01>
        <LIN02><!--1229: ACTION REQUEST/NOTIFICATION DESCRIPTION CODE-->1</LIN02>
        <LIN03>
          <LIN0301><!--7140: Item identifier-->0596006756</LIN0301>
          <LIN0302><!--7143: Item type identification code-->IB</LIN0302>
        </LIN03>
      </LIN>
      <QTY>
        <QTY01>
          <QTY0101><!--6063: Quantity type code qualifier-->1</QTY0101>
          <QTY0102><!--6060: Quantity-->10</QTY0102>
        </QTY01>
      </QTY>
      <FTX>

        <FTX01><!--4451: TEXT SUBJECT CODE QUALIFIER-->AFM</FTX01>
        <FTX02><!--4453: FREE TEXT FUNCTION CODE-->1</FTX02>
        <FTX04>
          <FTX0401><!--4440: Free text-->Enterprise Service Bus</FTX0401>
        </FTX04>
      </FTX>
    </GROUP_28>
    <UNS>
      <UNS01><!--0081: SECTION IDENTIFICATION-->S</UNS01>
    </UNS>
    <CNT>
      <CNT01>
        <CNT0101><!--6069: Control total type code qualifier-->2</CNT0101>
        <CNT0102><!--6066: Control total quantity-->4</CNT0102>
      </CNT01>
    </CNT>
    <UNT>
      <UNT01><!--0074: NUMBER OF SEGMENTS IN A MESSAGE-->22</UNT01>
      <UNT02><!--0062: MESSAGE REFERENCE NUMBER-->SSDD1</UNT02>
    </UNT>
  </ORDERS>
  <UNZ>
    <UNZ01><!--0036: INTERCHANGE CONTROL COUNT-->1</UNZ01>
    <UNZ02><!--0020: INTERCHANGE CONTROL REFERENCE-->6002</UNZ02>
  </UNZ>
</EDIFACT>
Product Information

Quick Links

About the DataDirect XML Converters

DataDirect XQuery FAQ


Copyright © 1993 - 2008. Progress Software Corporation. All rights reserved. | N. America: 800 876 3101 | World: +44 (0) 1753 218 930