TranXML PRINCIPLES
March 2001
INTRODUCTION
The largest obstacle to data exchange is the lack of common semantic structures (and repositories) supporting the flow of data to and from disparate applications. For instance, in the supply chain, a ‘Buyer’ could be considered as a ‘Consignee.’ And a ‘Seller’ could be considered as a ‘Shipper.’ This is dependent on whether the information is coming from a purchasing or logistics system. It is this difference in semantic definitions used by different systems that has hindered the expanded use of data exchange.
The robust nature of XML technology can further complicate data exchange by allowing developers to create their own sets of semantic definitions for each application. The proliferation of tag names and structures further hinders interoperability and forces developers to create more maps between applications and formats. This not only makes it difficult to exchange data between internal applications, but also makes it nearly impossible to effectively exchange data with external trading partners.
Open-standard EDI formats such as X12 and EDIFACT have come the closest to establishing common semantic repositories for global data exchange. Since these data formats/content are commonly understood by many users, it makes sense to adopt existing dictionaries as a basis for XML development. XEDI provides the perfect bridge from traditional EDI driven applications, as it retains the semantic definitions currently used and understood by many legacy systems.
TranXML
Transentric has a unique opportunity to develop a standardized set of XML structures that will foster the flow of information between various internal and external applications. This XML technology (TranXML) will allow for the optimization of data structures to ensure interoperability. Additionally, it allows for a format that is both human and machine readable, allowing for greater flexibility than traditional XEDI.
Although XEDI offers users the wealth of common semantics contained in the X12 and EDIFACT dictionaries, it is restrictive in its ability to create common structures and human readable tags in XML. TranXML is an attempt to transform the foundation of knowledge contained in XEDI into a more approachable format. To that extent, TranXML applies business rules for the transformation of XEDI data into interoperable structures that can be used by many disparate applications. Transentric’s wealth of experience in Logistics will be used as a basis for the creation of the transformation rules. The new structures will create a common XML data dictionary that can be used for both internal and external applications.
NOTE: SMS represents an application
Applications
It is envisioned that TranXML will first be used to create XML structures for internal Transentric applications. The first application will be to provide common structures for message conversions relating to tracing. We will also be creating common structures and transformation rules for Bills of Lading, Manifests, Advanced Ship Notices and other tracing formats. By applying these transformation rules, there only needs to be one map from the TranXML for all of the above applications.
In order to make the TranXML dictionary as interoperable as possible, we will be drawing upon our own experience and applications as well as those established by other standards bodies such as ChemXML, RosettaNet and EbXML. As of this writing, the only logistics messages developed in an open standard environment have within the auspices of CIDX and Bolero. We plan to draw upon their experience to ensure that TranXML will be interoperable with those external trading partners.
Why Schema’s Instead of DTDs?
TranXML will be based on Schemas rather than existing DTD definitions because of the capability to include metadata within the defined elements. The main benefit is that Schemas will allow compliance checking or validation -similar to that found in EDI - without the use of numerous attributes.
One common reason to make an element an attribute is if the element is an enumeration, or attribute list. This is because DTDs are unable to support the concept of an enumeration within an element, and only support enumerations for attributes. Therefore if data validation is required, the only way to do it in a DTD is to make the enumeration an attribute with a corresponding ATTLIST. The current Candidate Recommendation for XML Schemas allows elements to be given constraining facets. One of these constraints that can be given is an enumeration. Looking forward to Schemas as becoming the standard way of defining XML we believe that TranXML should be designed to take advantage of Schema capabilities and not be constrained by an inadequacy of the DTD specification.
Transformation Rules
Transentric applied a set of transformation rules to develop common objects. It is important to note that we must carefully distinguish between what data can or can not be automated by these rules. Structures that can not be automated are called core components, and must be developed using Transentric domain knowledge. The general rules may be applied across multiple messages and applications, however when new messages are transformed, new rules – and new core components – must be defined.
Attributes
Attributes are used to further qualify an element. The general rule of XML document creation is that data should be stored in elements, and information about the data (Meta-Data) should be stored in attributes. TranXML defines two types of attributes to be added to the document. These attributes are Qualifiers, and an optional SegmentId that is discussed below.
Qualifier Attributes
An ID type data element that is a "qualifier" should be defined in TranXML as an attribute to the structure with which the qualifier is paired. According to ASC X12 design rules and guidelines, rule 2.5.3 states that "ID type data elements shall contain either the word "Qualifier", "Code" or both in the data element name." Therefore every qualifier will have "Qualifier" in its name. We can use this to identify the qualifiers and make them attributes.
SegmentID Attribute (Optional)
To help developers and people with ASCX12 knowledge, each segment can be given a description attribute that gives the X12 definition of the segment.
Core Components
Core Components are the basis for the TranXML data dictionary, as they will provide the interoperability between applications. These structures provide the bridge between structural EDI objects and approachable semantic objects. In specific cases, Transentric has applied our domain and logistics knowledge to create these structures that customers and application developers are more able to identify.