[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