TOC PREV NEXT INDEX


Table of Contents


XBinder Overview 1
Using XBinder 2
Running XBinder from the Command-line 2
Compiling and Linking Generated Code 11
Porting Run-time Code to Other Platforms 13
Getting Started with C or C++ Sample Programs 14
Getting Started with your own XML Schema 15
Generated C/C++ Source Code 17
Header (.h) File 17
C Code Generated for XSD Types 17
C Code Generated for XSD Global Elements 19
C Code Generated for WSDL Operation Input/Output/Fault Types 19
C++ Code Generated for XSD Types 22
C++ Code Generated for XSD Global Elements 23
C++ Code Generated for WSDL Operation Input/Output/Fault Types 24
C++ Code Generated for WSDL Operation Input/Output/Fault 26
Namespace Considerations 28
XSD Simple Type to C/C++ Type Mappings 30
Character String Types 32
Enumerated Type 34
Real Number Types 37
Binary String Types 38
Date/Time Types 40
Boolean Type 41
Union Type 41
List Type 43
XSD Complex Type to C/C++ Type Mappings 46
SEQUENCE 46
Optional Elements 47
Repeating Elements 48
Nested Types 51
Any Element 53
ALL 54
CHOICE 54
Generated C++ Get/Set Methods 56
Substitution Groups 59
Attributes 61
ComplexContent 63
Element Extension 64
Attribute Extension 67
Restrictions 68
SimpleContent 69
Extensions 69
Restrictions 70
Derivations 71
Group 72
Any Type 73
Configuration File 75
Binding Language 75
Binding Declaration 75
Version Attribute 76
Configuration File Language Overview 76
Global <bindings> Declaration 77
<schemaBindings> Declaration 79
<nodeBindings> Declaration 80
<typemap> Declaration 82
Advanced XML Names Transformation 83
Configuration File Example 85
Generated C Encode/Decode Functions 87
Preparing C Data Variables for Encoding 87
Dynamic Memory Management 87
Populating Generated Structure Variables for Encoding 88
Accessing Encoded Message Components 89
Generated XML Encode Functions 90
Generated C Function Format and Calling Parameters 90
Generated C Encode Functions for Global Elements 91
Generated C Encode Functions for WSDL Operations 91
Generated C Encode Functions for DOM Encoding 92
Procedure for Calling a Generated C Encode Function 92
Generated XML Decode Functions 96
Pull-Parser Based Decode Functions 96
SAX Based Decode Functions 98
Procedure for Calling C Decode Functions 101
Generated Validation Functions 104
Procedure for Calling C Validation Functions 105
Generated Print Functions 107
Generated Test Functions 108
Generated Reader and Writer Programs 109
Generated WSDL SOAP Stub Functions 110
Other Generated Functions 111
Initialization Functions 111
Memory Free Functions 111
Helper Functions 112
Generated Makefile 112
Generated C++ Class Methods 113
Preparing C++ Objects for Encoding 113
Dynamic Memory Management 113
Populating Generated Class Instances for Encoding 114
Generated XML C++ Encode Methods 117
Generated Method Format and Calling Parameters 117
Generated C++ Encode Methods for Global Elements 118
Generated C++ Encode Methods for WSDL Operations 118
Procedure for Using the Generated C++ Encode Method 118
Generated XML C++ Decode Methods 120
Pull-Parser Based Decode Methods 120
SAX Based Decode Methods 121
Generated C++ Method Format and Calling Parameters 122
Procedure for Calling C++ Decode Methods 122
Generated XML C++ Validation Methods 125
Generated C++ Method Format and Calling Parameters 126
Procedure for Calling C++ Validation Methods 126
XBinder C Runtime Library 129
XML Run-time Library Functions 131
XML C Encode Functions 131
XML C Pull-Parser Based Decode Functions 132
XML C SAX Based Decode Functions 133
XML C SAX Parser Interface 134
LibXML2 134
Expat 134
Micro Parser 134
XML C DOM Interface 135
EXI Run-Time Library Functions 137
Fidelity Options 137
XML to EXI Conversion 138
EXI to XML Conversion 138
C Common Runtime Library 139
Common Include Files 139
osSysTypes.h 139
rtxCommon.h 140
rtxContext.h 140
Context Management Functions 141
UTF-8 String Functions 142
Doubly-Linked List Utility Functions 143
Error Formatting and Print Functions 143
Diagnostic trace functions 143
Input/Output Data Stream Utility Functions 144
TCP/IP or UDP socket utility functions 145
SOAP and HTTP utility functions 145
C++ Built-in Runtime Classes 146
Message Buffer Classes 146
Global Element Base Class 147
XSD Type Base Classes 147
XML Parser Interface Classes 148
INDEX 149

Copyright © 2002-2008 Objective Systems, Inc.
This document may be distributed in any form, electronic or otherwise, provided it is distributed in its entirety with the copyright and this notice intact.

Objective Systems, Inc.

55 Dowlin Forge Road
Exton, Pennsylvania 19341
http://www.obj-sys.com
Phone: (484) 875-9841
Toll-free: (877) 307-6855 (US only)
Fax: (484) 875-9830
info@obj-sys.com

TOC PREV NEXT INDEX