Designing EDIFACT message structures with XML schema



Similar documents
Economic and Social Council

Revision : 1 Date :

XML. Document Type Definitions XML Schema

E-Return Intermediary (ERI) User Registration and Services

PARTY INFORMATION MESSAGE. PARTIN Version 1.0. agreed-upon by EDI Working Group of ECR Poland

THE DELIVERY FORECAST MESSAGE DELFOR EDIFACT D.96A

THE INVOIC MESSAGE EANCOM97/EDIFACT D.96A

Purchase Orders Message ORDERS (EDIFACT D97A)

EDIFACT MESSAGE IMPLEMENTATION GUIDELINES RECEP:0:2:FH:

Issue 1.1, February agreed-upon by EDI Working Group of ECR Poland

ORDCHG Purchase Order Change Message Subject for application in the European Steel Industry

e-business Frameworks based on MDA

PRICE/SALES CATALOGUE MESSAGE PRICAT. Version 1.0. agreed-upon by EDI Working Group of ECR Poland

COPRAR EDIFACT User Guide Page 2

Adobe - EDIFACT D97.A ORDERS

INVENTORY REPORT MESSAGE INVRPT. Version 1.2. agreed-upon by EDI Working Group of ECR Poland

XML Schema Versioning

Payment on Receipt EDIFACT INVOIC D97.A

PURCHASE ORDER RESPONSE

ORDERS. Purchase order message. Edition 2014

Bulk EDIFACT ASN MESSAGE FORMAT

EDIFACT DESADV D.97A for suppliers (Benteler Europe)

INTRODUCTION TO EDIFACT. presented by EIDX

Hella EDIFACT INVRPT

Building Data Integrator Real-time Jobs and Calling Web Services

Media Saturn EDI Application Documentation

R.2 STRUCTURE OF AN EDIFACT TRANSMISSION

XML Schema Definition Language (XSDL)

Hella EDIFACT ORDERS

Issue 1.9, April agreed-upon by EDI Working Group of ECR Poland

PEAP-GTC and LEAP Administrator Guide

DELJIT D97A / CALDEL

EDIFACT. Version 1.7

S.2.2 CHARACTER SETS AND SERVICE STRING ADVICE: THE UNA SEGMENT

EDI Guideline KION Group Orders based on EDIFACT ORDERS D.96A Version

GENERAL MOTORS DE MEXICO SPOM

Appendix report 1: Syntax and structure of EDIFACT and XML messages Regulation F1:

Global EDI Clearing Center (GECC)

This document is for EDI-administrators who will implement this EDI-guide to be able to receive EDIFACT orders from Bosch Rexroth AG.

ORDERS Purchase Order Message

Core Components Data Type Catalogue Version October 2011

DESADV. Despatch advice message. Edition 2014

Grundfos EDIFACT D.96.A

EDIFACT Standards Overview Tutorial Learn About Key E-commerce Trends and Technologies at Your Own Pace

TEXAS INSTRUMENTS. Acknowledge / Rejection Advice Message CONTRL. Based on EDIFICE Issue 1 (Based on EDIFACT Version 92.1)

ORDERS 92.1 EDI GUIDELINE. for. Message Type ORDERS, ORDCHG Version 1 Release 921. ORDERS, ORDCHG Version /2011 Page 1

ZF Group North American Operations. EDI Implementation Guide

OpenTravel Alliance XML Schema Design Best Practices

Mapping orders from your library management system to EDI

INVOIC. Invoice message. Edition 2014

EDI Guideline KION Group DESADV based on EDIFACT DESADV D.96A Version

DELFOR. Forecast/Calloff outbound UNH M 1 UNS M 1 UNB BGM M 1 UNS M 1 UNT UNZ M 1 M 1 M 1 SG18 R 9999 SG1 SG2 R 5 D 4 RFF NAD DTM LIN M 1 R 1 M 1 M 1

Post Danmark and DPD

Status Message (EDIFACT IFTSTA) Business Integration for the Port of Hamburg. Mattentwiete Hamburg

DSV IFTMIN S93A. Message Implementation Guideline. based on. IFTMIN Instruction message UN S.93A S3

SCTS-AIS Swedish Customs Technical Specifications for Automated Import System ICS phase 1 Appendix C Codelists Version 1.0.

T.8 USING THE INVOICE FOR BILLING AND FOR DEBIT AND CREDIT NOTES

GLOBAL INVOIC (EDIFACT INVOIC D.07A / VDA4938)

CUSRES Customs Response Message

EDI specifications. between. BLANCO GmbH + Co KG referred to in the following as BLANCO. and its business partners (suppliers)

Common Data Format 3 Overview

SECTION VI - EDIFACT message formatting

Magyar Hipermarket Kft. EDI guide PURCHASE ORDER MESSAGE ORDERS EDIFACT D.96A

5.0 Detailed guidelines of purchase order response (ORDRSP Version 1 EDIFACT D 96B) usage within Volvo.

An XML Based Data Exchange Model for Power System Studies

EDIFACT DELFOR D99B Guideline

Extensible Markup Language (XML): Essentials for Climatologists

ORDERS Purchase Order

Issue 6.7, April agreed-upon by EDI Working Group of ECR Poland

XML: extensible Markup Language. Anabel Fraga

EANCOM INVOICES CROSS DOCK MESSAGE FORMAT A TECHNICAL GUIDE FOR SUPPLIERS

EDI Compliance Report

Electronic Commerce. 6. Electronic Data Interchange and XML. V Rajaraman

XML for Manufacturing Systems Integration

MESSAGE DOCUMENT RECOMMENDATION AND ITS APPLIANCE INSTRUCTIONS. Transport Order

EANCOM D.96A Version: 007 Print: EAN ORDERS D.96A DE

Standard for. Electronic Ship Reporting in Inland Navigation

TR-232 Bulk Data Collection

EDIFACT Standards Overview Tutorial

04 XML Schemas. Software Technology 2. MSc in Communication Sciences Program in Technologies for Human Communication Davide Eynard

Concrete uses of XML in software development and data analysis.

Kuali Financial System Interface Specification for Electronic Invoice Feed

DESIGN AND DEVELOPMENT OF A VISUAL EDIFACT/XML TRANSLATOR ARCHITECTURE

Introduction to Web Services

Introduction to XML. Data Integration. Structure in Data Representation. Yanlei Diao UMass Amherst Nov 15, 2007

DESADV DESPATCH ADVICE. BCBG Profile. Message Implementation Guidelines Version: 1.2 Draft

Issue 6.4, December agreed-upon by EDI Working Group of ECR Poland

EDI Guideline Orders for configurable materials based on EDIFACT ORDERS D.96A Version

T Network Application Frameworks and XML Web Services and WSDL Tancred Lindholm

Rotorcraft Health Management System (RHMS)

B/L-EDIFACT. EDI-Scenarios (Confirmation Messages For The Transmission Of B/L Data) Version 2.0e

Transcription:

Designing EDIFACT message structures with XML schema Bo Meng College of Computer Science and Technology Wuhan University of Technology Wuhan 430063 P. R. China mengbo@263.net.cn Qianxing Xiong College of Computer Science and Technology Wuhan University of Technology Wuhan 430063 P. R. China qxxi@ public.wh.hb.cn Xinming Tan College of Computer Science and Technology Wuhan University of Technology Wuhan 430063 P. R. China tanxming@public.wh.hb.cn [Abstract] With the development of applications of XML and the publication of XML schema recommendation by W3C, XML+XMLschema-based EDIFACT is becoming a good solution to the electronic commerce applications. Now a lot of large-scale enterprises want to make the traditional electronic commerce systems migrated to XML schema-based EDIFACT. At the same time many small and medium-scale enterprises want to implement electronic commerce systems with XML schema-based EDIFACT. The design and implementation of EDIFACT message structures based on XML schema is the most important work and the base of applying XML +XML schema-based EDIFACT to electronic commerce systems and implementations of new electronic commerce systems. In this paper we present a method of design and implementation of EDIFACT message structures based on XML schema and illustrate it with examples. [Key word] electronic commerce, XML, EDIFACT, XML schema, message structure, datatype 1. Introduction In the past years a lot of electronic commerce systems were based on EDIFACT [1] (Electronic Data Interchange For Administration, Commerce and Transport), which is an international EDI (Electronic Data Interchange) standard developed by the United Nations. This international standard includes the rules on the application level for the structuring of user data and of associated service data in the interchange of messages in an open environment. Beside the syntax the EDIFACT standard [2] covers also the definition of data elements (the data information as basic component for message types), segments (functionally related sets of data elements) and message types (structured representation of the full information on an electronic commerce transaction). Unfortunately, only those large-sized enterprises can afford the expensive electronic commerce systems based on EDIFACT. The small and medium scale enterprises cannot bear the cost of implementation and the difficulty of development. This cost includes the substantial investment in legacy information system, managements, maintenance and software etc [3]. At the same time EDIFACT has been criticized for poor design, confusing or absent semantics [4]. Those difficulties block the implementation and generalization of electronic commerce system based on EDIFACT. The emergence of XML [5] (extensible Markup Language) resolves those problems. In 1996 W3C (World Wide Web Consortium) joined with SGML (Standard Generalized Markup Language) experts to form an SGML Working Group, which strategically pruned SGML into a refined subset 1

now known as XML, which, published in 1997, is a metalanguage and can be as the standard for self-describing data exchange in Internet applications. XML makes electronic commerce system developed rapidly and maintained easily. Now XML has become the first choice in the field of defining data interchange formats in electronic commerce. In May 2001 W3C published a recommendation of XML Schema [6,7,8.] XML schema can be used to describe the structure of XML document and define the semantics of element. Thus we can use XML+XML schema-based EDIFACT as the solution to electronic commerce applications. In order to develop electronic commerce system based on XML schema-based EDIFACT, the first work is to use the XML schema to describe the EDIFACT message structure, which is a very important work and the base of applying XML to electronic commerce system based on EDIFACT and of implementing new electronic commerce systems. This paper is organized as follows. In section 2, we discuss the related work. In section 3, we describe the message structure of EDIFACT. In section 4, we present how to specify EDIFACT message structure with XML schema. The section 5 concludes our work. 2. Related work There have been a lot of papers and projects discussing the XML/EDI owing to the birth of XML and XML schema. But until now there is no discussion on using XML schema to define EDIFACT. The CEN/ISSS Electronic Commerce Workshop published Ref No CWA 14162:Datatyping for Electronic Data Interchange in March 2000 [9]. This document concentrates on techniques for defining and constraining data or code set values used within B2B (business-to-business) electronic data interchange messages. The document only discusses the several datatyping for Electronic Data Interchange and don t give the EDIFACT message structure defined by XML schema. Multek Sweden AB developed IGML [10] in February 2000. It uses DTD to describe the EDIFACT message structure. Michael Koehne also used the DTD to describe the EDIFACT in 2000[11]. Due to the shortage of DTD, the DTD-specified EDIFACT is not completely consistent to EDIFACT. For example, we cannot use DTD to define datatype we need and constrain the element content according to the special application 3. EDIFACT Since 1988 the United Nations has been developing the EDIFACT to meet the requirements of an internationally valid general business standard. This international standard includes the rules on the application level for the structuring of user data and of associated service data in the interchange of messages in an open environment. Beside the syntax, the EDIFACT standard covers also the definition of data elements (the data information as basic component for message types), segments (functionally related sets of data elements), and message types (structured representation of the full information on an electronic business transaction). EDIFACT can be considered as a dynamic standard since new message types are developed and definitions of existing message types are be changing in the course of time. The complete documentation of the EDIFACT guidelines is included in an UN/EDIFACT directory (Fig.1 UN/EDIFACT directory), which comprises the message type directory, the segment type directory, 2

the composite data element type directory, the simple data element type directory, and the code list directory. message type directory UN/EDIFACT directory segment type directory composite data element type directory simple data element type directory code list directory Fig.1 UN/EDIFACT directory EDIFACT message comprises an ordered set of segments. Segments may be grouped. A segment group comprises an ordered set of segments: a trigger segment and at least one more segment or segment group. The trigger segment shall be the first segment in the segment group, shall have a status of mandatory and a maximum number of occurrences of one. A segment comprises an ordered set of stand-alone data elements and/or composite data elements, each of which are permitted to repeat, if so stated in the segment specification. A composite data element comprises an ordered set of two or more component data elements. A simple data element contains a single data element value. A simple data element is used either as a stand-alone data element or as a component data element. A stand-alone data element occurs in a segment outside a composite data element. A component data element occurs within a composite data element. The message structure of CALINF is as follows: 3

UNH Message header M 1 BGM Beginning of message M 1 DTM Date/time/period C 9 Segment group 1 C 99 FTX Free text M 1 MEA Measurements C 9 EQN Number of units C 1 Segment group 2 C 9 RFF Reference M 1 DTM Date/time/period C 9 Segment group 3 M 9 NAD Name and address M 1 Segment group 4 C 9 CTA Contact information M 1 COM Communication contact C 9 Segment group 5 M 1 TDT Details of transport M 1 DTM Date/time/period C 9 RFF Reference C 9 Segment group 6 M 9 LOC Place/location identification M 1 DTM Date/time/period C 9 DIM Dimensions C 1 FTX Free text C 9 Segment group 7 C 9 QTY Quantity M 1 FTX Free text C 1 UNT Message trailer M 1 Fig.2 the message structure of CALINF 4

4. Designing EDIFACT message structures with XML schema The EDIFACT message structures documentation (Fig.3 the documentation structure of EDIFACT message structures based on XML schema) we developed comprises simpleedtype.xsd, simpleedeclaandcompositeedtype.xsd, compositeedeclaandsegmnetedtype.xsd, segmentedecla.xsd, and the message documents that include the declarations of segment group element and message and the definitions of segment group element datatype and message datatype. simpleedtype.xsd includes the definitions of simple element datatype of EDIFACT. simpleedeclaandcompositeedtype.xsd includes the definitions of composite element datatype of EDIFACT and declarations of simple element of EDIFACT. compositeedeclaandsegmnetedtype.xsd includes the declarations of composite element datatype of EDIFACT and the definitions of segment element datatype of EDIFACT. segmentedecla.xsd includes the declarations of the segment element of EDIFACT. Each message structure is a document that includes the declarations of segment group element and message and the definitions of segment group element datatype and message datatype. CALINF.xsd VESDEP.xsd segmentedecla.xsd compositeedeclaandsegmnetedtype.xsd simpleedeclaandcompositeedtype.xsd simpleedtype.xsd Fig.3 the documentation structure of EDIFACT message structures based on XML schema When we describe the EDIFACT message structure with XML schema, the most important issue is defining the element datatypes based on EDIFACT. The XML schema specification defines the following three kinds of datatypes: Primitive datatypes (string, binary, etc.), Derived datatypes (CDATA, token, etc), User-derived datatypes. The User-derived datatypes allow users to create complex datatypes that are composed of sets of primitive datatypes. User-derived datatypes can include enumerated lists of values, which can include values of different datatypes. For the string data type, users can define patterns that the string must conform to. For numeric values, maximum and minimum values can be specified (inclusively or exclusively), as scale and precision. Booleans can be represented as true or 0 and false or 1. Dates and time can be expressed using various ISO 8601-based formats. Datatypes can also be derived as the union of two other datatypes, as lists of values conforming to another datatype, or as restrictions on an existing datatype. 5

We take the simple element 5243 as an example to show the definition of element datatypes. We know that the value of element 5243 comprises A, B, C, D, E, F, K, M, N, Q, R and S. So we make the base datatype of the datatype of 5243 enumeration datatype. The datatype of 5243 is s5243simpleelementdatatype, which is a complextype. At the same time we define the attributes of anno, flag, code, desc, repr and posi for every simple element in order to be understood easily by the developer. The element 5243 is defined with XML schema as follows: - <xs:complextype name="s5243simpleelementdatatype"> - <xs:simplecontent> - <xs:extension base="s5243enumerationtype"> <xs:attributegroup ref="simpleelementattributegr" /> </xs:extension> </xs:simplecontent> </xs:complextype> - <xs:simpletype name="s5243enumerationtype"> - <xs:restriction base="xs:string"> <xs:enumeration value="a" /> <xs:enumeration value="b" /> <xs:enumeration value="c" /> <xs:enumeration value="d" /> <xs:enumeration value="e" /> <xs:enumeration value="f" /> <xs:enumeration value="k" /> <xs:enumeration value="m" /> <xs:enumeration value="n" /> <xs:enumeration value="q" /> <xs:enumeration value="r" /> <xs:enumeration value="s" /> </xs:restriction> </xs:simpletype> - <xs:attributegroup name="simpleelementattributegr"> <xs:attribute name="anno" type="xs:string" use="required" /> <xs:attribute name="flag" type="xs:string" use="optional" /> <xs:attribute name="code" type="xs:integer" use="required" /> <xs:attribute name="desc" type="xs:string" use="optional" /> <xs:attribute name="repr" type="xs:string" use="required" /> <xs:attribute name="posi" type="xs:integer" use="optional" /> </xs:attributegroup> Now we can declare 5243 as follows: <xs:element name="s5243" type="s5243simpleelementdatatype" /> In succession we show how to define the datatypes of composite elements and declare composite elements. We take an example for the composite element c082 to show the definition of element datatypes. C082 is described according to the definition of EDIFACT as follows: C082 PARTY IDENTIFICATION DETAILS 6

Desc: Identification of a transaction party by code. 010 3039 Party identifier M an..35 020 1131 Code list identification code C an..17 030 3055 Code list responsible agency code C an..3 First we define its datatype: - <xs:complextype name="c082compositeelementdatatype"> - <xs:sequence> <xs:element ref="s3039" /> <xs:element ref="s1131" minoccurs="0" /> <xs:element ref="s3055" minoccurs="0" /> </xs:sequence> <xs:attributegroup ref="compositeelementattributegr" /> </xs:complextype> <xs:attributegroup name="compositeelementattributegr"> <xs:attribute name="anno" type="xs:string" use="required"/> <xs:attribute name="code" type="xs:integer" use="required"/> <xs:attribute name="desc" type="xs:string" use="optional"/> <xs:attribute name="posi" type="xs:integer" use="optional"/> </xs:attributegroup> Then we can declare c082 as follows: <xs:element name="c082" type="c082compositeelementdatatype" /> We take an example for segment element RFF to show the definition of segment element datatypes. RFF is described according to the definition of EDIFACT as follows: RFF REFERENCE Function: To specify a reference. 010 C506 REFERENCE M 1 First we define its datatype: <xs:complextype name="rffsegmentdatatype"> <xs:sequence> <xs:element ref="c506"/> </xs:sequence> <xs:attributegroup ref="segmentattributegr"/> </xs:complextype We define attributes to describe segment element: - <xs:attributegroup name="segmentattributegr"> <xs:attribute name="abbr" type="xs:string" use="optional" /> <xs:attribute name="anno" type="xs:string" use="required" /> <xs:attribute name="desc" type="xs:string" use="optional" /> </xs:attributegroup> Then we can declare RFF as follows: <xs:element name="rff" type="rffsegmentdatatype" /> 7

We can define other simple element, composite element, segment element and segment group element of EDIFACT with the method we introduced before. In the last we can get the EDIFACT message structure based on XML schema. For example, the CALINF message structure is in CALINF.xsd. It s content is partly shown as follows: <?xml version="1.0" encoding="utf-8"?> <!-- edited with XML Spy v4.4 (http://www.xmlspy.com) by myh (company) --> <xs:schema xmlns:xs="http://www.w3.org/2001/xmlschema" elementformdefault="qualified" attributeformdefault="unqualified"> <xs:include schemalocation="http://xml.whut.edu.cn/xmledi/segmentdeclaration.xsd"/> <xs:element name="calinf" type="messagecalinfdatatype"/> <xs:element name="segmentgroup1" type="calinfsegmentgr1datatype"/> <xs:element name="segmentgroup2" type="calinfsegmentgr2datatype"/> <xs:element name="segmentgroup3" type="calinfsegmentgr3datatype"/> <xs:element name="segmentgroup4" type="calinfsegmentgr4datatype"/> <xs:element name="segmentgroup5" type="calinfsegmentgr5datatype"/> <xs:element name="segmentgroup6" type="calinfsegmentgr6datatype"/> <xs:element name="segmentgroup7" type="calinfsegmentgr7datatype"/> <xs:complextype name="messagecalinfdatatype"> <xs:sequence> <xs:element ref="unh"/> <xs:element ref="bgm"/> <xs:element ref="dtm" minoccurs="0" maxoccurs="9"/> <xs:element ref="segmentgroup1" minoccurs="0" maxoccurs="99"/> <xs:element ref="segmentgroup2" minoccurs="0" maxoccurs="9"/> <xs:element ref="segmentgroup3" maxoccurs="9"/> <xs:element ref="segmentgroup5"/> <xs:element ref="segmentgroup7" minoccurs="0" maxoccurs="9"/> <xs:element ref="unt"/> </xs:sequence> </xs:complextype> </xs:schema> 5 conclusions With the development of electronic commerce and application of XML and the publication of XML schema recommendation, a lot of large scale enterprises want to make electronic commerce systems migrate from traditional EDIFACT to XML schema-based EDIFACT. At the same time many SMEs want to implement electronic commerce system with XML schema-based EDIFACT. XML+XML schema-based EDIFACT is a good solution to the electronic commerce applications. The XML document includes the message information while the XML schema can be used to define the message structure and datatypes of elements according to EDIFACT, so we can use the XML schema to validate the XML documents and make them conform to the specification of the XML schema based EDIFACT. In this paper we use XML schema to define EDIFACT, which is the base of generalization of electronic commerce systems based on XML schema-based EDIFACT. The documents we developed comprise simpleedtype.xsd, 8

simpleedeclaandcompositeedtype.xsd, compositeedeclaandsegmnetedtype.xsd, segmentedecla.xsd, and the documents that include the declarations of segment group elements and message and the definitions of segment group element datatypes and message datatype. The documentation structure is consistent to the EDIFACT directory and is easy to be understood. Dividing definitions of simple elements, composite elements, segments, segment group into different documents makes them reusable and easy to apply. Till now we have defined about twenty message structures with the method presented in our paper. We will go on this work until all EDIFACT message structures be specified with XML schema. Reference 1. EDIFACT, http://www.unece.org/trade/untdid. 2. ISO 9735--1: Electronic data interchange for administration, commerce and transport (EDIFACT) Application level syntax rules (Syntax version number: 4) Part 1:Syntax rules common to all parts, together with syntax service directories for each of the parts. 3. Steven O. Kimbrough, "EDI, XML, and Seeing through Transparency,", AspenWorld 2000, Orlando, FL, February 8, 2000. 4. Nabil R.Adam and Yesha, editors, Electronic Commerce: Current Research Issues and Applications, Volume 1028 of Lecture Notes in computer Science. Springer, Berlin, Germany, 1996. 5. Extensible Markup Language (XML) 1.0 (Second Edition), http://www.w3.org/tr/2000/rec-xml-20001006, W3C Recommendation 6 October 2000. 6. XML Schema Part 0: Primer, http://www.w3.org/tr/2001/rec-xmlschema-0-20010502/, W3C Recommendation, 2 May 2001. 7. XML Schema Part 1: Structures, http://www.w3.org/tr/2001/rec-xmlschema-0-20010502/, W3C Recommendation, 2 May 2001. 8. XML Schema Part 2: Datatypes, http://www.w3.org/tr/2001/rec-xmlschema-0-20010502/, W3C Recommendation, 2 May 2001 9. CEN/ISSS Workshop Agreement: CWA 14162 Datatyping for Electronic Data Interchange, March 2001 10. http://www.multek.com 11. http://www.xml-edifact.org 12. Steven O. Kimbrough, "EDI, XML, and the Myth of Semantic Transparency," Bloomington, IN, October 23, 1999 9