Table of Contents XBinder Overview 1 Using XBinder 2 Running XBinder from the Command-line 2 Compiling and Linking Generated Code 7 Getting Started with C or C++ Sample Programs 9 Getting Started with your own XML Schema 10 Generated C/C++ Source Code 11 Header (.h) File 11 C Code Generated for XSD Types 11 C Code Generated for XSD Global Elements 13 C++ Code Generated for XSD Types 14 C++ Code Generated for XSD Global Elements 14 Namespace Considerations 15 XSD Simple Type to C/C++ Type Mappings 17 Character String Types 19 Enumerated Type 20 Real Number Types 23 Binary String Types 24 Dynamic Case (no length facet): 25 Static Case (length restricted to 32K or less): 25 Boolean Type 26 Union Type 26 List Type 28 XSD Complex Type to C/C++ Type Mappings 30 SEQUENCE 30 Optional Elements 31 Repeating Elements 32 Nested Types 35 Any Element 36 ALL 37 CHOICE 37 Generated C++ Get/Set Methods 39 Attributes 42 ComplexContent 43 Element Extension 44 Attribute Extension 46 Restrictions 47 SimpleContent 48 Extensions 48 Restrictions 49 Group 50 Configuration File 51 Binding Language 51 Binding Declaration 51 Version Attribute 52 Configuration File Language Overview 52 Global <bindings> Declaration 53 <schemaBindings> Declaration 54 <nodeBindings> Declaration 55 Configuration File Example 56 Generated C Encode/Decode Functions 59 Preparing C Data Variables for Encoding 59 Dynamic Memory Management 59 Populating Generated Structure Variables for Encoding 60 Accessing Encoded Message Components 61 Generated XML Encode Functions 62 Generated C Function Format and Calling Parameters 62 Generated C Encode Functions for Global Elements 63 Procedure for Calling a Generated C Encode Function 63 Generated XML Decode Functions 67 Generated C Function Format and Calling Parameters 68 Procedure for Calling C Decode Functions 69 Generated Print Functions 71 Generated Test Functions 72 Other Generated Functions 73 Generated Makefile 74 Generated C++ Class Methods 75 Preparing C++ Objects for Encoding 75 Dynamic Memory Management 75 Populating Generated Class Instances for Encoding 76 Generated XML C++ Encode Methods 80 Generated Method Format and Calling Parameters 80 Generated C++ Encode Methods for Global Elements 81 Procedure for Using the Generated C++ Encode Method 81 Generated XML C++ Decode Methods 83 Generated C++ Method Format and Calling Parameters 84 Procedure for Calling C++ Decode Methods 84 XBinder C Runtime Library 86 XML Run-time Library Functions 87 XML C Encode Functions 87 XML C Decode Functions 88 C Common Runtime Library 89 Common Include Files 89 rtxSysTypes.h 89 rtxCommon.h 90 rtxContext.h 90 Context Management Functions 92 UTF-8 String Functions 93 Doubly-Linked List Utility Functions 93 Error Formatting and Print Functions 94 Diagnostic trace functions 94 Input/Output Data Stream Utility Functions 95 TCP/IP or UDP socket utility functions 96 SOAP and HTTP utility functions 96 C++ Built-in Runtime Classes 97 Message Buffer Classes 97 Global Element Base Class 98 XSD Type Base Classes 98 INDEX 101