[xsde-users] Empty cpp generated depending on location of type
definition
Boris Kolpackov
boris at codesynthesis.com
Thu Feb 9 11:50:44 EST 2017
Hi Jeroen,
Vrijnsen, Jeroen <jeroen.vrijnsen at philips.com> writes:
> LrimResponseSchema.xsd:
> [...]
>
> And LrCommonDataTypesSchema.xsd:
> [...]
>
> When I generated code for LrimResponseSchema.xsd, using
> $XSDE cxx-hybrid \
> --generate-parser \
> --generate-serializer \
> --generate-aggregate \
> --generate-polymorphic \
> --char-encoding utf8 \
> --root-element-first \
> --hxx-suffix .h \
> --cxx-suffix .cpp \
> --namespace-map = ::xsdegeneratedcode::xml \
> --output-dir components/xsdegeneratedcode/target/generated_source \
> components/xsdegeneratedcode/source/LrimResponseSchema.xsd
>
> the resulting LrimResponseSchema.cpp has no content other than
> namespace declarations. However, when I update LrimResponseSchema.xsd
> to inline the type-defintion of LrimType (commented block in above sample),
> correct code is generated. What can I do to have correct code generated
> for the situation where LrimType is declared in the separate XSD file
> (as it's used somewhere else as well)??
If you look inside LrimResponseSchema.h you will notice that it #include's
LrCommonDataTypesSchema.h, that is, XSD/e maps schema include/import to
C++ include. So all you need to do is also compile LrCommonDataTypesSchema.xsd
and include the resulting generated C++ files into your project.
Boris
More information about the xsde-users
mailing list