[Xml-bin] You live and learn:

Al B. Snell alaric@alaric-snell.com
Sun, 15 Apr 2001 23:32:14 +0100 (BST)


Regarding ASN.1...

" In order to provide support for such extensibility provisions, BER is a
somewhat verbose protocol. It adopts a so-called TLV (Type, Length, Value)
approach to encoding in which every element (field) of the encoding
carries some type information, some length information, then the value of
that element. Where the element is itself structured, then the Value part
of the element is itself a series of embedded TLV components, to whatever
depth is necessary. This has some important consequences. First, it means
that if some element in version one of a protocol is replaced in version
two by a CHOICE of that element and some other element of a different
type, the encoding for values in version two that were present in version
one can be unchanged: no specific bits are needed to say which CHOICE has
been taken, as all elements are self-identifying whether in a CHOICE or
not. Secondly, the existence of lengths at all levels of nesting means
that if, in version two, additional optional elements are added at the end
of a sequence it again retains the level one encoding. Even if the
elements are not optional, a level one system can still detect the
presence of added but unknown elements and ignore them. The addition of
new types anywhere in a SET construct has similar properties. Another
property that this approach provides for BER is that an incoming
bit-stream can be parsed into a tree structure of elements and embedded
elements without any knowledge of the actual ASN.1 type to which it
relates. As a special case of this, the end of the encoding can be
determined without any knowledge of the type. The widespread assumption
that BER was the encoding for ASN.1, and the strong properties of BER with
regard to extensibility led to (often hidden) assumptions about
extensibility properties that were only made explicit by the new work in
the early 1990s. "

 - hey, that sounds handy!

ABS

-- 
                               Alaric B. Snell
 http://www.alaric-snell.com/  http://RFC.net/  http://www.warhead.org.uk/
   Any sufficiently advanced technology can be emulated in software