1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
|
This package contains precompiled binaries of CodeSynthesis XSD, a
W3C XML Schema to C++ Data Binding compiler, built for Microsoft
Windows. For more information about XSD visit
http://www.codesynthesis.com/products/xsd/
This README file describes how to start using XSD in the Microsoft
Windows environment with Visual Studio 2005 (8.0), Visual Studio 2008
(9.0), and Visual Studio 2010 (10.0), Visual Studio 2012 (11.0), and
Visual Studio 2013 (12.0).
Prerequisites
-------------
The XSD runtime library and the generated code depend on the Xerces-C++
XML parser which you can obtain from http://xerces.apache.org/xerces-c/.
You can also download precompiled Xerces-C++ libraries for Windows from:
http://xerces.apache.org/xerces-c/download.cgi
Note that the above download page may not contain Xerces-C++ libraries
for the latest Visual Studio releases. The Windows Installer package
(.msi) for XSD contains Xerces-C++ libraries for all of the above-
mentioned Visual Studio versions.
Environment
-----------
Before you can start building examples or your applications that use XSD
you need to set include, library and executable search paths in the Visual
Studio IDE and the System Environment.
1. Setting up Xerces-C++
First you need to set up Xerces-C++ include and library search paths.
If you already have Xerces-C++ set up in your development environment,
you can skip to the next step. Here we assume that your Xerces-C++ path
is C:\projects\xerces-c-x.y.z. If you have Xerces-C++ in a different
place, you will need to adjust the paths below accordingly.
a) For Visual Studio 2005 (8.0) and Visual Studio 2008 (9.0):
In the Visual Studio IDE, select "Tools"/"Options"/"Projects and
Solution"/"VC++ Directories".
Then, in the "Show directories for" field, select "Include files" and
create a new entry with the value "C:\projects\xerces-c-x.y.z\include".
After that, in the "Show directories for" field, select "Library files"
and create a new entry with the value "C:\projects\xerces-c-x.y.z\lib".
After that, in the "Show directories for" field, select "Executable files"
and create a new entry with the value "C:\projects\xerces-c-x.y.z\bin".
If you are building the 64-bit version of your application, repeat the
above steps for the 64-bit version of Xerces-C++ while selecting x64
in the "Platform" drop-down list in the VC++ Directories dialog (Visual
Studio keeps a separate set of paths for each platform).
For Visual Studio 2010-2013 (10.0-12.0):
1. Open an existing or create a new C++ project (you can open one of
the example solutions that come with XSD).
2. Open the Property Manager view by selecting "View"->"Property
Manager" (or "View"->"Other Windows"->"Property Manager") menu
action.
3. Expand the property hierarchy for the project and find the
Microsoft.Cpp.Win32.user property sheet.
4. Right click on Microsoft.Cpp.Win32.user and select the "Properties"
menu action.
5. Select the VC++ Directories tab.
6. Add the "C:\projects\xerces-c-x.y.z\include" path to the "Include
Directories" field (the paths are separated by a semicolon).
7. Add the "C:\projects\xerces-c-x.y.z\lib" path to the "Library
Directories" field.
8. Add the "C:\projects\xerces-c-x.y.z\bin" path to the "Executable
Directories" field.
9. Click Ok to close the dialog and then click the Save button at the
top of the Property Manager view to save Microsoft.Cpp.Win32.user.
If you are building the 64-bit version of your application, repeat
the above steps for the 64-bit version of Xerces-C++ but using the
Microsoft.Cpp.x64.user property sheet (Visual Studio keeps a separate
set of paths for each platform).
b) In the Control Panel, choose "System" and select the "Advanced" tab.
Click on the "Environment Variables" button. In the "System Variables"
list, select "Path" and add (via "Edit" button) the
";C:\projects\xerces-c-x.y.z\bin" path at the end.
2. Setting up XSD
Now you need to set up XSD executable and include search paths. Here we
assume that your XSD path is C:\projects\xsd-x.y.z. If you have XSD in
a different place, you will need to adjust the paths below accordingly.
For Visual Studio 2005 (8.0) and Visual Studio 2008 (9.0):
In the Visual Studio IDE, select "Tools"/"Options"/"Projects and
Solution"/"VC++ Directories".
Then, in the "Show directories for" field, select "Include files" and
create a new entry with the value "C:\projects\xsd-x.y.z\libxsd".
After that, in the "Show directories for" field, select "Executable
files" and create a new entry with the value "C:\projects\xsd-x.y.z\bin".
Make sure it is the first line in the list of directories (use the
"Up" button to move the new entry up, if necessary).
If you are building the 64-bit version of your application, repeat the
above steps using the same paths while selecting x64 in the "Platform"
drop-down list in the VC++ Directories dialog (Visual Studio keeps a
separate set of paths for each platform).
For Visual Studio 2010 (10.0):
1. Open an existing or create a new C++ project (you can open one of
the example solutions that come with XSD).
2. Open the Property Manager view by selecting "View"->"Property
Manager" (or "View"->"Other Windows"->"Property Manager") menu
action.
3. Expand the property hierarchy for the project and find the
Microsoft.Cpp.Win32.user property sheet.
4. Right click on Microsoft.Cpp.Win32.user and select the "Properties"
menu action.
5. Select the VC++ Directories tab.
6. Add the "C:\projects\xsd-x.y.z\libxsd" path to the "Include
Directories" field (the paths are separated by a semicolon).
7. Add the "C:\projects\xsd-x.y.z\bin" path to the "Executable
Directories" field and make sure it is the first path in the
the list of directories.
8. Click Ok to close the dialog and then click the Save button at the
top of the Property Manager view to save Microsoft.Cpp.Win32.user.
If you are building the 64-bit version of your application, repeat the
above steps using the same paths but using the Microsoft.Cpp.x64.user
property sheet (Visual Studio keeps a separate set of paths for each
platform).
3. Restart the Visual Studio IDE.
Building Examples
-----------------
Now you are ready to build examples. Simply open the solution file
found in the examples\cxx\tree (C++/Tree mapping examples) or
examples\cxx\parser (C++/Parser examples) directories.
Some of the examples depend on additional third-party libraries or
show a specific feature of XSD and are not included in the solutions
above. They come with their individual solution files:
examples/cxx/tree/embedded - example of schema embedding
examples/cxx/tree/custom - examples of type customization
examples/cxx/tree/custom/calendar - depends on the Boost date_time library
examples/cxx/tree/compression - depends on the zlib library
examples/cxx/tree/binary/boost - depends on the Boost serialization library
examples/cxx/tree/binary/cdr - depends on the ACE library
examples/cxx/tree/binary/xdr - requires a third-party XDR library
examples/cxx/tree/xpath - depends on the XQilla library (XPath 2)
Using XSD in Your Projects
--------------------------
For various ways to integrate the XSD compiler with the Visual Studio IDE
as well as other Visual Studio-specific topics, refer to the Using XSD with
Microsoft Visual Studio Wiki page:
http://wiki.codesynthesis.com/Using_XSD_with_Microsoft_Visual_Studio
|