📄 rfc3072.txt
字号:
12. IANA Considerations
The compression and encryption algorithms for SDXF is not fixed, SDXF
is open for various algorithms. Therefore an agreement is necessary
to interprete the compression and encryption algorithm method
numbers. (Encryption methods are not a semantic part of SDXF, but
may be used for a connection protocol to negotiate the encryption
method to use.)
Following two items are registered by IANA:
12.1 COMPRESSION METHODS FOR SDXF
The compressed SDXF chunk starts with a "compression header". This
header contains the compression method as an unsigned 1-Byte integer
(1-255). These numbers are assigned by IANA and listed here:
Wildgrube Informational [Page 20]
RFC 3072 Structured Data Exchange Format March 2001
compression
method Description Hints
--------- ------------------------------- -------------
01 RUN-LENGTH algorithm see chap. 5
02 DEFLATE (ZIP) see [DEFLATE]
03-239 IANA to assign
240-255 private or application specific
12.2 ENCRYPTION METHODS FOR SDXF
An unique encryption method is fixed or negotiated by handshaking.
For the latter one a number for each encryption method is necessary.
These numbers are unsigned 1-Byte integers (1-255). These numbers
are assigned by IANA and listed here:
encryption
method Description
--------- ------------------------------
01-239 IANA to assign
240-255 private or application specific
12.3 Hints for assigning a number:
Developers which want to register a compression or encrypt method for
SDXF should contact IANA for a method number. The ASSIGNED NUMBERS
document should be referred to for a current list of METHOD numbers
and their corresponding protocols, see [IANA]. The new method SHOULD
be a standard published as a RFC or by a established standardization
organization (as OSI).
13. Discussion
There are already some standards for Internet data exchanging, IETF
prefers ASN.1 and XML therefore. So the reasons for establish a new
data format should be discussed.
13.1 SDXF vs. ASN.1
The demand of ASN.1 (see [ASN.1]) is to serve program language
independent means to define data structures. The real data format
which is used to send the data is not defined by ASN.1 but usually
BER or PER (or some derivates of them like CER and DER) are used in
this context, see [BER] and [PER].
Wildgrube Informational [Page 21]
RFC 3072 Structured Data Exchange Format March 2001
The idea behind ASN.1 is: On every platform on which a given
application is to develop descriptions of the used data structures
are available in ASN.1 notation. Out off these notations the real
language dependent definitions are generated with the help of an
ASN.1-compiler.
This compiler generates also transform functions for these data
structures for to pack and unpack to and from the BER (or other)
format.
A direct comparison between ASN.1 and SDXF is somehow inappropriate:
The data format of SDXF is related rather to BER (and relatives).
The use of ASN.1 to define data structures is no contradiction to
SDXF, but: SDXF does not require a complete data structure to build
the message to send, nor a complete data structure will be generated
out off the received message.
The main difference lies in the concept of building and
interpretation of the message, I want to name it the "static" and
"dynamic" concept:
o ASN.1 uses a "static" approach: The whole data structure must
exists before the message can be created.
o SDXF constructs and interpretes the message in a "dynamic" way,
the message will be packed and unpacked step by step by SDXF
functions.
The use of static structures may be appropriate for a series of
applications, but for complex tasks it is often impossible to define
the message as a whole. As an example try to define an ASN.1
description for a complex structured text document which is presented
in XML: There are sections and paragraphs and text elements which
may recursively consist of sections with specific text attributes.
13.2 SDXF vs. XML
On the one hand SDXF and XML are similar as they can handle any
recursive complex data stream. The main difference is the kind of
data which are to be maintained:
o XML works with pure text data (though it should be noted that the
character representation is not standardized by XML). And: a XML
document with all his tags is readable by human. Binary data as
graphic is not included directly but may be referenced by an
external link as in HTML.
Wildgrube Informational [Page 22]
RFC 3072 Structured Data Exchange Format March 2001
In XML there is no strong separation between informational and
control data, escape characters (like "<" and "&") and the
<![CDATA[...]]> construction are used to distinguish between these
two types of data.
o SDXF maintains machine-readable data, it is not designed to be
readable by human nor to edit SDXF data with a text editor (even
more if compression and encryption is used). With the help of the
SDXF functions you have a quick and easy access to every data
element. The standard parser for a SDXF data structure follows
always a simple template, the "while - switch -case ID -
enter/extract" pattern as outlined in chap. 3.4.2.
Because of the complete different philosophy behind XML and SDXF (and
even ASN.1) a direct comparison may not be very senseful, as XML has
its own right to exist next to ASN.1 (and even SDXF).
Nevertheless there is a chance to convert a XML data stream into a
SDXF structure: As a first strike, every XML tag becomes a SDXF
chunk ID. An elementary sequence <tag>pure text</tag> can be
transformed into an elementary (non-structured) chunk with data type
"character". Tags with attributes and sequences with nested tags are
transformed into structured chunks. Because XML allows a tag
sequence everywhere in a text stream, an artificially "elementary
text" tag must be introduced:
If <t> is the tag for text elements, the sequence:
<t>this is a text <attr value='bold'>with</attr> attributes</t>
is to be "in thought" replaced by:
<t><et>this is a text </et><attr value='bold'><et>with</et></attr>
<et> attributes</et></t>
(With "et" as the "elementary text" tag)
Wildgrube Informational [Page 23]
RFC 3072 Structured Data Exchange Format March 2001
This results in following SDXF structure:
ID_t
|
+-- ID_et = " this is a text "
|
+-- ID_attr
| |
| +-- ID_value = "bold"
| |
| +-- ID_et = "with"
|
+-- ID_et = " attributes"
ID_t and ID_et may be represented by the same chunk ID, only
distinguished by the data type ("structured" for <t> and "character"
for <et>)
Binary data as pictures can be directly imbedded into a SDXF
structure instead referencing them as an external link like in HTML.
14. Author's Address
Max Wildgrube
Schlossstrasse 120
60486 Frankfurt
Germany
EMail: max@wildgrube.com
15. Acknowledgements
I would like to thank Michael J. Slifcak (mslifcak@iss.net) for the
supporting discussions.
16. References
[ASN.1] Information processing systems - Open Systems
Interconnection, "Specification of Abstract Syntax Notation
One (ASN.1)", International Organization for
Standardization, International Standard 8824, December
1987.
[BER] Information Processing Systems - Open Systems
Interconnection - "Specification of Basic Encoding Rules
for Abstract Notation One (ASN.1)", International
Organization for Standardization, International Standard
8825-1, December 1987.
Wildgrube Informational [Page 24]
RFC 3072 Structured Data Exchange Format March 2001
[DEFLATE] Deutsch, P., "DEFLATE Compressed Data Format Specification
version 1.3", RFC 1951, May 1996.
[IANA] Internet Assigned Numbers Authority,
http://www.iana.org/numbers.htm
[PER] Information Processing Systems - Open Systems
Interconnection -"Specification of Packed Encoding Rules
for Abstract Syntax Notation One (ASN.1)", International
Organization for Standardization, International Standard
8825-2.
[UCS] ISO/IEC 10646-1:1993. International Standard -- Information
technology -- Universal Multiple-Octet Coded Character Set
(UCS)
[UTF8] Yergeau, F., "UTF-8, a transformation format of ISO 10646",
RFC 2279, January 1998.
Wildgrube Informational [Page 25]
RFC 3072 Structured Data Exchange Format March 2001
17. Full Copyright Statement
Copyright (C) The Internet Society (2001). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Acknowledgement
Funding for the RFC Editor function is currently provided by the
Internet Society.
Wildgrube Informational [Page 26]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -