blob: 227bb5166458859dfa4339d8919a56e4ea2f2ea8 (
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
|
// file : xsd/cxx/parser/options.cli
// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
include <cstddef>; // std::size_t
include <types.hxx>; // NarrowString, NarrowStrings
include <cxx/options.cli>;
namespace CXX
{
namespace Parser
{
class options: CXX::options
{
NarrowStrings --type-map
{
"<mapfile>",
"Read XML Schema to C++ type mapping information from <mapfile>.
Repeat this option to specify several type maps. Type maps are
considered in order of appearance and the first match is used. By
default all user-defined types are mapped to \cb{void}. See the
TYPE MAP section below for more information."
};
NarrowString --xml-parser = "xerces"
{
"<parser>",
"Use <parser> as the underlying XML parser. Valid values are
\cb{xerces} for Xerces-C++ (default) and \cb{expat} for Expat."
};
// Features.
//
bool --generate-validation
{
"Generate validation code. The validation code (\"perfect parser\")
ensures that instance documents conform to the schema. Validation
code is generated by default when the selected underlying XML parser
is non-validating (\cb{expat})."
};
bool --suppress-validation
{
"Suppress the generation of validation code. Validation is suppressed
by default when the selected underlying XML parser is validating
(\cb{xerces})."
};
bool --generate-polymorphic
{
"Generate polymorphism-aware code. Specify this option if you use
substitution groups or \cb{xsi:type}."
};
bool --generate-noop-impl
{
"Generate a sample parser implementation that does nothing (no
operation). The sample implementation can then be filled with
the application-specific code. For an input file in the form
\cb{name.xsd} this option triggers the generation of two
additional C++ files in the form: \cb{name-pimpl.hxx} (parser
implementation header file) and \cb{name-pimpl.cxx} (parser
implementation source file)."
};
bool --generate-print-impl
{
"Generate a sample parser implementation that prints the XML data
to \c{STDOUT}. For an input file in the form \cb{name.xsd} this
option triggers the generation of two additional C++ files in the
form: \cb{name-pimpl.hxx} (parser implementation header file) and
\cb{name-pimpl.cxx} (parser implementation source file)."
};
bool --generate-test-driver
{
"Generate a test driver for the sample parser implementation. For an
input file in the form \cb{name.xsd} this option triggers the
generation of an additional C++ file in the form
\cb{name-driver.cxx}."
};
bool --force-overwrite
{
"Force overwriting of the existing implementation and test driver
files. Use this option only if you do not mind loosing the changes
you have made in the sample implementation or test driver files."
};
// Root element.
//
bool --root-element-first
{
"Indicate that the first global element is the document root. This
information is used to generate the test driver for the sample
implementation."
};
bool --root-element-last
{
"Indicate that the last global element is the document root. This
information is used to generate the test driver for the sample
implementation."
};
NarrowString --root-element
{
"<element>",
"Indicate that <element> is the document root. This information is
used to generate the test driver for the sample implementation."
};
// Suffixes.
//
NarrowString --skel-type-suffix = "_pskel"
{
"<suffix>",
"Use the provided <suffix> instead of the default \cb{_pskel} to
construct the names of the generated parser skeletons."
};
NarrowString --skel-file-suffix = "-pskel"
{
"<suffix>",
"Use the provided <suffix> instead of the default \cb{-pskel} to
construct the names of the generated parser skeleton files."
};
NarrowString --impl-type-suffix = "_pimpl"
{
"<suffix>",
"Use the provided <suffix> instead of the default \cb{_pimpl} to
construct the names of the parser implementations for the built-in
XML Schema types as well as sample parser implementations."
};
NarrowString --impl-file-suffix = "-pimpl"
{
"<suffix>",
"Use the provided <suffix> instead of the default \cb{-pimpl} to
construct the names of the generated sample parser implementation
files."
};
};
}
}
|