|
OSS FI Tools for C/C++
Enhancements
|
|
 |
OSS FI Tools for C/C++ Version 3.1 - Now Available
The OSS FI compiler now supports the -namespace option which provides namespace support. All the compiler-generated types are placed in a C++ namespace. This avoids potential clashes of the compiler-generated type names with other type names used in the application.
The OSS FI Tools have been enhanced to allow the decoding of an XML value with a missing mandatory element that has a nonzero minOccurs facet and a maxOccurs facet greater than 1.
For example:
<xsd:complexType name="S">
<xsd:sequence>
<xsd:element name="b" type="xsd:integer" minOccurs="1"
maxOccurs="10" />
</xsd:sequence>
</xsd:complexType>
Has the following encoded value:
<S></S>
The new API function ossxSkipCompressionPrefix() has been added to the FI runtime libraries. A full encoding produced by the OSS Tools using compression consists of the compression prefix followed by the compressed encoding. Given an OssxBuf structure that describes a full encoding, the function returns lengths of the original (uncompressed) and the compressed encodings and modifies the OssxBuf structure.
The XML encoders will now generate an xml-stylesheet processing instruction when the encoding is created using an XSL file.
OSS FI Tools for C/C++ Version 3.0
The OSS FI Tools now supports the new XML Schema (XSD) to ASN.1 mapping defined in the standard ITU-T Rec. X.694 | ISO/IEC 8825-5 "Mapping W3C XML Schema definitions into ASN.1". The mapping was updated to add support for the new time types that provide more efficient binary (PER) encoding of the XSD duration and time values. It also resolved some known issues for the previous mapping. As a result, the compiler-generated type names may slightly differ from the previous release. The previous mapping can be preserved by using backward compatibility options.
The OSS FI compiler and runtime now supports integer types whose C representations exceed the maximum integer type that is available on the target platform. Such integers have a special C-representation
struct {
unsigned short length;
unsigned char *value;
}
The integer is stored in binary format in the series of octets referenced by the value field above.
The OSS Binary Fast Infoset API has been enhanced to support the OSSX_ENC_UTF8 and OSSX_ENC_UTF16 encoding formats. Previously, only encoding algorithms were supported. Two new API functions, ossxUTF16ToUTF8() and ossxUTF8ToUTF16(), have been added to convert data from the UTF-16 to the UTF-8 format and vice versa.
The OSS FI runtime has been enhanced by adding new API functions allowing the user to write more flexible and performance-optimized Fast Infoset applications. Please refer to the Runtime API Reference manual for more information.
.:. Top
Copyright © 2010 OSS Nokalva, Inc. All Rights Reserved.