[June 30, 2000] SMI - "Structure and Identification of Management Information [for TCP/IP-based Internets]."
Abstract: "This memo describes how the Extensible Markup Language (XML) can be used to exchange SMIv1, SMIv2 and SMIng definitions between XML enabled applications."
The Document Type Definition (DTD) defined in this memo allows applications with embedded generic XML parsers to read (or edit) the original SMI definitions. The XML DTD is optimized for this purpose. Terseness of the XML output was of minimal importance since humans are expected to read the originial SMI definitions. In fact, the XML format of an SMI module is significantly longer compared to the original SMI definition. This is inline with the design goals for XML, which favours computer readability over terseness.
There are several scenarios where an XML representation of SMI definitions is useful:
- The XML format may be used as an intermediate format between a validating SMI compiler/parser and post processing tools such as code or schema generators. (The undocumented mosy format has been used in the past for this purpose. The mosy format does not preserve all information present in a SMI module and is therefore problematic.)
- The XML format can be used with XSLT post processors to generate documentation in various formats.
- The XML format makes it possible to access SMI definition from a variety of programming languages. XML parsers are available in Java, C, C++, Tcl, Perl, Python, and GNU Emacs Lisp in both commercial and open source forms.
- There are generic tools for maintaining large sets of XML definitions. This includes tools to search for definitions with a specific property. Such generic XML tools can be very useful in organizations that are required to maintain large amounts of SMI definitions.
"A prototype implementation of an SMIv1/SMIv2/SMIng converter to XML is freely available as part of the libsmi SMI parser library distribution." (see below)
References:
Using XML to Exchange SMI Definitions. Network Working Group Internet-Draft. By Frank Strauss and Juergen Schoenwaelder (TU Braunschweig, Germany). Reference: "draft-irtf-nmrg-smi-xml-00.txt". June 21, 2000. [cache]
A Library to Access SMI MIB Information - 'libsmi SMI parser library' - "The core of the libsmi distribution is a library that allows management applications to access SMI MIB module definitions. On top of this library, there are four tools to check, dump, and convert MIB definitions. Finally, the distributions contains a steadily maintained and revised archive of all IETF and IANA maintained standard MIB modules. . ."