| XML: The way toward the virtual library | Table of contents | Indexes | XML'99: the dreams and the reality | |||
The need for a European XML/EDI Pilot Project |
| Martin Bryan |
| Technical Manager of The CEN/ISSS European XML/EDI Pilot Project |
| The SGML Centre
29 Oldbury Orchard Churchdown Gloucestershire GL3 2PU United Kingdom Phone: +44 1452 714029 Fax: +44 1452 714029 Email: mtbryan@sgml.u-net.com Web: www.sgml.u-net.com |
Biographical notice: |
ABSTRACT: |
CEN ![]() EDI, Electronic Data Interchange ![]() Electronic Data Interchange ![]() European Committee for Standardization ![]() European XML/EDI Pilot Project ISSS Information Society Standardization System SME ![]() XML ![]() business-to-business communication |
Why does the CEN Information Society Standardization System Electronic Commerce Workshop think that it is necessary to start an XML/EDI Project Group? Some CEN/ISSS members say that XML is not powerful enough to cope with the full needs of electronic data interchange (EDI). Some think that XML will at least allow small and medium sized enterpises (SMEs) to take advantage of EDI using PCs connected to the Internet. Others think that interactivity and simplicity are what is needed to attract SMEs to EDI, and that XML may help provide this. What they all share is a need to explore the limitations of XML, and to find out just how suitable XML could be for business-to-business communication. |
| Problems with XML |
The paper highlights some of the current weaknesses in the XML family of standards, and explains what needs to be added if XML is to be the answer for 21st century business communications within Europe. In particular this presentation will look at:
|
Many other questions need to be asked, and answered, if XML is to become the main tool for business-to-business electronic data interchange. |
Background |
| Message Implementation Guidelines |
Trying to model existing EDI messages using an XML document type definition (DTD), or even the Document Content Description (DCD) extensions proposed by Microsoft et al, is impossible. There are simply too few functions in these languages to fully specify all the constraints that need to be imposed on all the variants of many existing EDI messages. In practice, however, the whole of any of the complex messages rarely needs to be mapped to a single DTD or DCD description. Firms wishing to use EDI typically develop Message Implementation Guidelines (MIGs) that identify the subsets of the full message formats and associated code lists that they will develop applications to support. It is these MIGs that XML/EDI applications need to be mapped to. |
Foreground |
|
|||||||
In the European XML/EDI Pilot Project set up as part of the European Centre for Standardization's Information Society Standardization System Electronic Commerce Workshop (CEN/ISSS ECW) we have tried to combine these approaches into the smallest possible subset. We have selected three strands for our development strategy:
|
Why have we chosen these three strands? |
| European Statistics Office Eurostat |
The problems of collecting data about transhipments are only one part of the growing demand on governments to prepare data that can be used to monitor the development of Europe. In addition, national statistics agencies are required to provide an increasing amount of information to the European Statistics Office (Eurostat). To be able to do this they need to send large numbers of forms to local administrators, and collect the results so that national statistics can be generated. The forms used for this purpose are often complex, and require large amounts of supplementary material to guide users how to complete each field. It is rare that one person can complete a single questionnaire. Data needs to be gathered from a number of sources, each the responsibility of a different department within the local administration. Simple HTML forms are not sufficient for the task. Where the data is already available in local databases, standard EDI message formats can be utilized to move data from database to database, but in many cases there are holes in the available information set that can only be filled by human input. There is a need, therefore, to combine the interrogation of local data sets with the ability to ask for human input where the local data set is incomplete. This will be one of the major areas of study for the European XML/EDI pilot project. |
The Middle Ground |
intelligent agents ![]() |
A combination of XML namespaces and SGML architectural forms provides a useful middle ground for developing tools that can manage business-to-business XML messages. We cannot put all the intelligence needed into the XML messages, and cannot rely on the tools having all the knowledge they need to decode particular types of messages. The basic concept that we wish to adopt, therefore, is that of invoking the help of 'intelligent agents' to take over the validation of the data in the message at the point where the XML parser has done as much as it is able to. |
XML linking ![]() namespaces ![]() |
How would this work? There are a number of possibilities that the pilot project will need to evaluate. For example, by creating separate namespaces for processing specific types of commonly used data elements it will be possible to develop resources that can be shared across messages. By using XML's extended linking mechanism it might be possible to create compound records, such as those required to create questionnaires that contain separate parts, or patient records. |
architectural forms ![]() |
SGML's recently added facilities for defining meta-DTDs of 'architectural forms' suggests another way in which we can associate sharable functions with specific messages. When combined with XML's ability to allow more than one attribute list declaration to be associated with a given element, the possibility of adding local sets of processing architectures to messages provides interesting food for thought. What do I mean by this? Perhaps the best way to explain is by using a simplified example. |
Let us consider the following simplified EDI message: |
<?xml version="1.0"?> <!DOCTYPE Order SYSTEM "http://www.sgml.u-net.com/xml-order.dtd"> <Order> <MessageID>128576</MessageID> <MessageDate>19970812</MessageDate> <Buyer>5012345678900</Buyer> <Supplier>6012345678900</Supplier> <OtherParty Role="Carrier">7012345678900</OtherParty> <Item> <ItemID>8012345678900</ItemID> <Quantity>90</Quantity> <DeliveryDate>19981012</DeliveryDate> </Item> </Order> |
The DTD used to validate this message could take the following form: |
<!ENTITY % local-processing-attributes SYSTEM "/agents/orders.ent"> %local-processing-attributes; <!ELEMENT Order (MessageID, MessageDate, Buyer, Supplier, OtherParty+, Item+) > <!ATTLIST Order xmlns CDATA #FIXED "http://www.sgml.u-net.com/order" xmlns:UN-EDIFACT CDATA #FIXED "http://www.un.org/edifact/D96A" UN-EDIFACT:Prefix CDATA #FIXED "UNH" UN-EDIFACT:MessageID CDATA #FIXED "ORDERS:D:96A:UN:SIMP01" SequenceNo CDATA #IMPLIED > <!ELEMENT MessageID (#PCDATA) > <!ATTLIST MessageID UN-EDIFACT:Prefix CDATA #FIXED "BGM" MessageType (Order|Deliver|Despatch|Movement| Produce|Process|Treatment) "Order" EDI.Constraints CDATA #FIXED "an..35" > <!ELEMENT MessageDate (#PCDATA) > <!ATTLIST MessageDate UN-EDIFACT:Prefix CDATA #FIXED "DTM" DateType CDATA #FIXED "MessageDate" DateFormat (Date|Period) "Date" > <!ELEMENT Buyer (#PCDATA) > <!ATTLIST Buyer UN-EDIFACT:Prefix CDATA #FIXED "NAD" Role (BY) #FIXED "BY" Agency CDATA #FIXED "EAN" EDI.Constraints CDATA #FIXED "n..13" > <!ELEMENT Supplier (#PCDATA) > <!ATTLIST Supplier UN-EDIFACT:Prefix CDATA #FIXED "NAD" Role (SU) #FIXED "SU" Agency CDATA #FIXED "EAN" EDI.Constraints CDATA #FIXED "n..13" > <!ELEMENT OtherParty (#PCDATA) > <!ATTLIST OtherParty UN-EDIFACT:Prefix CDATA #FIXED "NAD" Role (Carrier|ShipFrom|DeliverTo|Invoicee) #REQUIRED Agency CDATA #FIXED "EAN" EDI.Constraints CDATA #FIXED "n..13" > <!ELEMENT Item (ItemID, Quantity, DeliveryDate?) > <!ATTLIST Item UN-EDIFACT:Prefix CDATA #FIXED "LIN" EDI.MaxOccurs CDATA #FIXED "200000" > <!ELEMENT ItemID (#PCDATA) > <!ATTLIST ItemID Agency (EAN|UPC|SuppliersArticleNo) "EAN" EDI.Constraints CDATA #FIXED "n..13" > <!ELEMENT Quantity (#PCDATA) > <!ATTLIST Quantity UN-EDIFACT:Prefix CDATA #FIXED "QTY" Units CDATA #IMPLIED EDI.Constraints CDATA #FIXED "an..15" > <!ELEMENT DeliveryDate (#PCDATA) > <!ATTLIST DeliveryDate UN-EDIFACT:Prefix CDATA #FIXED "DTM" DateType CDATA #FIXED "DeliveryDate" DateFormat (Date|DateTime|Period) "Date"> |
EDIFACT, Electronic Data Interchange For Administration, Commerce and Transport ![]() |
In the declaration for the root document element, Order
, two XML namespaces have been declared using an attribute whose name begins withxmlns
. The first of these namespaces, which has no qualifying name, indicates that any element or attribute whose name is not qualified by a namespace is to be processed using the rules specified for processing orders by the company identified in the URL. (These rules are the ones that would normally be found in the Message Implementation Guidelines used to qualify the local use of an EDI message.) The second namespace declaration, which is qualified by the nameUN-EDIFACT
, indicates that attributes qualified by this namespace identifier are defined using rules in a particular message directory set up by the UN as part of its Electronic Data Interchange For Administration, Commerce and Transport series. |
<!NOTATION LocalDate SYSTEM "/agents/Dates.DLL" > <!ATTLIST MessageDate DateProcessor NOTATION (LocalDate) "LocalDate"> <!ATTLIST DeliveryDate DateProcessor NOTATION (LocalDate) "LocalDate"> |
The Holes |
| Extensible Stylesheet Langauge XML forms XSL ![]() |
As any business or government department will tell you, you need forms, in triplicate at least, to trade! Forms need to be signed and filed at appropriate places in the transaction process. What facilities does XML have for forms processing, or for signing off forms? None! The Extensible Stylesheet Language (XSL) designed as an adjunct to XML provides, as initially defined, no mechanism for user input of data, whether in the form of entering or correcting the values of fields in forms, for adding a digital signature to a form on completion of the necessary checks, or for encrypting the contents of all or part of a form. As such it is not a suitable basis on which to base international trading or the distribution of questionnaires. It is presumed that such functionality will be added by the time that XSL is fully defined, and that this functionality will include facilities for submitting completed forms to multiple locations in the form of XML messages. Without such functionality XML will be a non-starter as far as international trading by SMEs is concerned. |
| EAN electronic article numbers |
Let me give you an example of the types of problems that can occur, based on the example message shown above. In the example four elements use electronic article numbers (EANs) as a shorthand form to identify information. The Buyer
,Supplier
andOtherParty
elements use EANs to identify the names and addresses of the various parties to the shipment. TheItemID
element uses EANs to uniquely identify products being purchased (this is the digital form of their bar code). However, for the latter element, alternative sets of article number may be referred to if the default value for theAgency
attribute is changed. |
And in conclusion |
If such facilities are to be relevant to SMEs they must be standardized so that they can be applied by a wide range of tools. The aim of the European XML/EDI Pilot Project is to demonstrate what needs to be done and to suggest how such functions can be standardized in such a way that they can be widely deployed throughout Europe. |
| XML: The way toward the virtual library | Table of contents | Indexes | XML'99: the dreams and the reality | |||