[February 28, 2002] Note: see now ASN.1 Markup Language (AML)." According to a communiqué of 2002-02-27 from Phil Griffin, the work described below was brought to the ASN.1 standards editing group, which developed a more simple solution. The descriptions retained below may be of historic interest/value.
[July 04, 2000] "The basic idea of XER (XML Encoding Rules) is to standardize rules that would allow for converting between ASN.1 (Abstract Syntax Notation) and XML (eXtensible Markup Language). An XER definition specifies the equivalence between appropriate ASN.1 encoded data structures and XML encoded data structures. For developer communities making significant investments in XML, XER may leverage investments already made in ASN.1-based applications and thereby preserve the hard-won interoperability already achieved among such applications. For developer communities currently using ASN.1, XER may leverage investments being made in XML-based applications that are becoming widespread on the Internet. The task of defining a standard set of rules to achieve loss-less and reversible transform between ASN.1 and XML is feasible because of the similarity in how each represents data structures. XML provides a facility for representing character string data structures. XML defines "markup" rules in which a data structure is encoded as a tag, value, and end-tag. ASN.1 expresses message structure types and data values. When BER (Basic Encoding Rules) is applied to the ASN.1 expressions, data structures are encoded as octets in the form of tag, length, and value (or an indefinite length value is delimited by an end-tag). To change an ASN.1/BER data structure to XML, an XML tag and end-tag are derived and the value is wrapped within. To change an XML structure into ASN.1/BER, the appropriate ASN.1/BER tag is derived and the value length is calculated. Although ASN.1 is used in a variety of network environments, the initial focus of XER is on supporting client-server applications on the Internet using TCP/IP. Also, those currently involved in XER are working first on the ISO 23950 Information Search and Retrieval (Z39.50) protocol. It is expected that XER will be generic enough for use in other ASN.1 applications, including other Internet protocols such as LDAP (Lightweight Directory Access Protocol) and SNMP (Simple Network Management Protocol). Further information about XER, including instructions for joining the discussion list, is available at <http://asf.gils.net/xer>." From Eliot Christian, cited below.
ISO /IEC 8825. 1999-09-13. Proposal for a New Work Item, A new part to ISO/IEC 8825, Abstract Syntax Notation One (ASN.1) Encoding rules - Part 4: XML Encoding Rules (XER). "The GILS Profile specifies use of ANSI Z39.50 (ISO 23950) over the Internet. Z39.50 itself is described using ASN.1 (Abstract Syntax Notation) and Basic Encoding Rules (BER). Z39.50 itself is independent of the underlying encoding. In working on an RFP for Catalog Services from the Open GIS Consortium, the idea was advanced to use XML for encoding message structures. So, some of us are exploring the feasibility of a utility for an XML encoding of Z39.50 Protocol Data Units--in effect, XML Encoding Rules (XER). The basic idea is to standardize rules for transforming appropriate ASN.1 encoded data structures into equivalent XML data structures and appropriate XML encoded data structures into equivalent ASN.1 data structures."
"Metadata: A Discussion Paper" - "XER, XML Encoding Rules Using particular coding (or wrapper) in XML, we can introduce support for Z39.50 queries and formatting of output into an XML and HTTP context. We will describe current initiatives for doing this, based on XER. From http://asf.gils.net/xer/concept.html: The basic idea of XER is to standardize rules that would allow for information described in ASN.1 (Abstract Syntax Notation) to be carried in XML. An XER definition specifies the equivalence and necessary conversion between appropriate ASN.1 encoded data structures and XML encoded data structures. The task of defining a standard set of rules to achieve lossless and reversible transform between ASN.1 and XML is feasible because of the similarity in how each represents data structures: XML provides a facility for representing character string data structures. XML defines markup rules in which a data structure is encoded as a tag, value, and end-tag. ASN.1 expresses message structure types and data values. When BER (Basic Encoding Rules) is applied to the ASN.1 expressions, data structures are encoded as octets in the form of tag, length, and value (or an indefinite length value is delimited by an end-tag). To change an ASN.1/BER data structure to XML, an XML tag and end-tag are derived and the value is wrapped within. To change an XML structure into ASN.1/BER, the appropriate ASN.1/BER tag is derived and the value length is calculated. Although ASN.1 is used in a variety of network environments, the initial focus of XER is on supporting client-server applications on the Internet using TCP/IP. Also, those currently involved in XER are working first on the ISO 23950 Information Search and Retrieval (Z39.50) protocol, which today is deployed only with BER. For developer communities making significant investments in XML, XER may leverage investments already made in ASN.1-based applications and thereby preserve the hard-won interoperability already achieved among such applications. For developer communities currently using ASN.1, XER may leverage investments being made in XML-based applications that are becoming widespread on the Internet. A generic XER might simply encode these referenced values in XML directly as numeric values. For example, the commonly used search attribute "Title" is identified as attribute "4" of type "1" in the Bib-1 Attribute Set "1.2.840.10003.3.1". Using just the ASN.1 specification, XER would yield an XML encoding as: <attributeElement> <attributeSet>1.2.840.10003.3.1</attributeSet> <attributeType>.1</attributeType> <attributeValue>4</attributeValue> </attributeElement> Obviously, this encoding is not quite human readable since the values are all codes. Yet, there are in most cases symbolic names for these values and these tags could therefore be substituted for the codes. Such a procedure would extend the procedure applied to named values within the ASN.1 specification proper, using EMPTY elements for the named values. Using for example a table of equivalences such as the one at [stale: http://asf.gils.net/xer/asn1/XML-tags.txt], XER could yield an XML encoding as: <attributeElement> <attributeSet><Bib-1/></attributeSet> <attributeType><Use/></attributeType> <attributeValue><Title/></attributeValue> </attributeElement> An XER testbed for Z39.50 has been suggested as follows. Eliot Christian (US Geological Service) suggested a conceptual design of a protocol gateway testbed for Z39.50 XER, consisting of a pair of complementary gateways: z39.50 client <--> Z/X gateway <--> X/Z gateway <--> z39.50 server An X/Z gateway would accept an XML-encoded Z39.50 query and interoperate with existing Z39.50 servers. An X/Z gateway would sit on an HTTP host and accept XML Z39.50 over HTTP. (The X/Z gateway could be implemented as an Apache module or CGI script.) A "post" command could direct the X/Z gateway to process the Z39.50 XML embedded in the HTML (I think this is what is being called an "XML island"). Also in the HTML could be a target Z39.50 URL (host:port/dbname). The X/Z gateway could transform the XML into the correct Z39.50/BER and pass it on to the target. The results could come back as HTML over Z39.50 (or SUTRS wrapped by HTML). The X/Z gateway could just unwrap and pass the results on through. The flip side would be a Z39.50/XML gateway. The Z/X gateway would sit on a Z39.50 host and accept Z39.50/BER directly. We would need some magic in the Z39.50 Init message that could instruct the server to convert all messages on this connection to XML and present them to a specified HTTP host:port/service. The Z/X gateway could convert the Z39.50/BER to XML (here's where we could use the BERXML library). The XML could be presented to a host capable of handling such a query. Eventually, this would be a DASL or other XML Query server. Initially, it would be an X/Z gateway..."
[December 16, 2002] "OSS Nokalva Announces XML Support." - "OSS Nokalva, Inc., the world's leading developer of ASN.1 software for building data communications applications, announced today the immediate availability of the OSS ASN.1 Tools for C and Java with XML support. A C++ beta version is also currently available. 'We are very excited because our new software allows ASN.1 application developers to effortlessly encode data in XML,' commented Bancroft Scott, President of OSS Nokalva. 'This creates an exciting opportunity for developers to maximize their return on investment in robust ASN.1 technology with the added benefits of XML. The addition of XML encoding enables XML to be used in places that are bandwidth constrained such as cell phones, PDAs and embedded systems. Developers can now view binary encoded data in human readable format using XML without sacrificing ASN.1's simple and efficient message description.' The OSS ASN.1 Tools support the XML addition to ASN.1 as described in ASN.1:2002. The tools generate fully XML-standards compliant XML encodings, giving developers a means of representing ASN.1 values using XML with the ASN.1 type definition as the schema. The generated XML is governed by the XML Encoding Rules (XER) and Canonical XML Encoding Rules (CXER), providing the user with control over the visual quality of the generated encoding. It also allows for the viewing and editing of the encoded data using any tools that recognize XML independent of ASN.1... The software completely shields the user from the intricacies of the encoding rules and complexities of manual coding and debugging. All software supports the full ASN.1 syntax as described by the ASN.1:1990, ASN.1:1997 and ASN.1:2002 standards and the following encoding rules: Basic Encoding Rules (BER), Packed Encoding Rules (PER) (aligned and unaligned), Distinguished Encoding Rules (DER), Canonical Encoding Rules (CER), Canonical XML Encoding Rules (CXER), and XML Encoding Rules (XER)..."
"XER An Initiative to Define XML Encoding Rules." Contributed by: Eliot Christian (U.S. Geological Survey), Email: email@example.com From: D-Lib Magazine January 1999. Volume 5 Number 1 [ISSN: 1082-9873].
"XER - A Bridge between ASN.1 and XML." Second draft. By Dr Hoylen Sue (DSTC Pty Ltd). "This document describes XML Encoding Rules (XER) as implemented by DSTC Pty Ltd. These rules describe how to encode ASN.1 specified data as XML documents. The rules are based on ideas and concepts proposed by the XER discussion list. Example XER output from our prototype implemention is provided. We have adapted the existing ideas with modifications based on our experience of developing a practical implementation of the rules. It is highly desirable to have a set of consistent rules and a machine processable mechanism for deriving the XER encoding from an ASN.1 specification - without the need for human intervention to handle exceptional cases. The XER rules we propose here makes this possible. . ." [cache]
Date: Sun, 09 Jan 2000 08:09:53 -0500, From: Eliot Christian. Re: ASN.1 / XER. "There is a collaborative project underway in ITU-T and ISO/IEC to standardize the specifications required, such as: (1) ASN.1 XML Encoding Rules (XER) specifying how to carry values of ASN.1 types as XML-encoded data, and (2) Mappings from XML schemas to ASN.1 type definitions and from ASN.1 type definitions to XML schemas. To participate, I'd suggest joining the XER discussion list by sending e-mail to firstname.lastname@example.org with the word "subscribe" in the subject and body. This list is maintained by Rob Bull of CrossNet Systems in the U.K. There is also a discussion list, email@example.com maintained by Bancroft Scott of Open Systems Solutions in the U.S. To subscribe, contact Bancroft at firstname.lastname@example.org. For the current status of a draft document, you may wish to directly contact Olivier Dubuisson of France Telecom at Olivier.Dubuisson@cnet.francetelecom.fr."
XER (XML Encoding Rules for ASN.1) Mailing list archive - [email@example.com]
FTP site - "We've developed some freeware XER utilities in Java. These are designed to provide a simple API for constructing, traversing, and modifying XER documents. The utilities are built on top of DOM. I welcome comments; I may have overlooked something in this implementation and would be happy to make any changes necessary to conform to XER."
ASN.1 Glossary. Also: "A standard, flexible method that (a) describes data structures for representing, encoding, transmitting, and decoding data, (b) provides a set of formal rules for describing the structure of objects independent of machine-specific encoding techniques, (c) is a formal network-management Transmission Control Protocol/Internet Protocol (TCP/IP) language that uses human-readable notation and a compact, encoded representation of the same information used in communications protocols, and (d) is a precise, formal notation that removes ambiguities."