[xsde-users] Re: [xsd-users] error processing multiple schemas at once

Boris Kolpackov boris at codesynthesis.com
Fri Nov 11 05:33:34 EST 2011


Hi Eric,

In the future, please send questions about XSD/e to the xsde-users
mailing list instead of xsd-users.

Eric Broadbent <eric.broadbent at csr.com> writes:

> when I built XSDE, many serialization files were built - whether or not 
> I set  "XSDE_SERIALIZER_VALIDATION" on or off in config..make
>
> (Here's a partial listing of the compiles with 
>  XSDE_SERIALIZER_VALIDATION := n")
> 
> 	g++  -I.. -W -Wall -O3 -c cxx/serializer/elements.cxx -o cxx/serializer/elements.o
> 	g++  -I.. -W -Wall -O3 -c cxx/serializer/context.cxx -o cxx/serializer/context.o
> 	g++  -I.. -W -Wall -O3 -c cxx/serializer/genx/document.cxx -o cxx/serializer/genx/document.o
> 	g++  -I.. -W -Wall -O3 -c cxx/serializer/genx/xml-error.cxx -o cxx/serializer/genx/xml-error.o
> 	g++  -I.. -W -Wall -O3 -c cxx/serializer/exceptions.cxx -o cxx/serializer/exceptions.o
> 	g++  -I.. -W -Wall -O3 -c cxx/serializer/non-validating/serializer.cxx -o cxx/serializer/non-validating/serializer.o
> 	g++  -I.. -W -Wall -O3 -c cxx/serializer/non-validating/time-zone.cxx -o cxx/serializer/non-validating/time-zone.o
> 	g++  -I.. -W -Wall -O3 -c cxx/serializer/non-validating/xml-schema-sskel.cxx -o cxx/serializer/non-validating/xml-schema-sskel.o
> 	<... 40 lines skipped ...>
> 	g++  -I.. -W -Wall -O3 -c cxx/serializer/non-validating/date-time.cxx -o cxx/serializer/non-validating/date-time.o
> 	g++  -I.. -W -Wall -O3 -c cxx/serializer/non-validating/duration.cxx -o cxx/serializer/non-validating/duration.o
> 
> I was operating with the understanding that serialization is optional - but
> perhaps that's only when schema-compilation is run (after XSDE is built).
> The chapter on Serialization
> (http://www.codesynthesis.com/projects/xsd/documentation/cxx/tree/manual/#4)
> indicates:
> 
> "Note that the generation of the serialization code is optional and should
> be explicitly requested with the --generate-serialization option."

XSDE_SERIALIZER_VALIDATION only controls whether serialization will be
built with validation support or without. But the runtime will always
include the serialization support.

However, if you don't compile any of your schemas with serialization
support, then none of the symbols from the runtime (which is a static
library) will end up in the resulting executable.

> Secondly, in the software that XSDE will be linked into, Expat exists
> already. Instead of having the XSDE build process compile another
> instance of Expat, is it possible for me to just point the XSDE
> library at the existing build? (Assuming they are the same release
> of Expat which they are)

There is no way to disable Expat compilation in the XSD/e runtime other
than manually removing the files from the makefile (see 
libxsde/xsde/makefile; there is just one line to comment).

Boris



More information about the xsde-users mailing list