summaryrefslogtreecommitdiff
path: root/dist/README-WINDOWS
blob: 0657c9f30a30210b5b1272b247f76141282e1d09 (plain)
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