1.) Как я могу включить генерацию кода CodeSynthesis-XSD в свое приложение, чтобы, когда я передаю приложение (QT в Visual Studio 10) кому-то другому, ему не нужно устанавливать Code-Synthesis?
2.) И как я могу указать выходной каталог .cpp
а также .h
файлы? xsd help
не перечисляет такую опцию? я генерирую вот так с деревом:
>xsd cxx-tree "C:\scheme.xsd"
-> решается с помощью «cd» (Change-Directory) перед выполнением xsd
3.) я получаю предупреждения, что я не знаю, как решить:
warning F002: attribute 'value' is implicitly of anySimpleType
info: did you forget to specify 'type' attribute?
warning T004: generating parsing functions for 18 global elements
info: use --root-element-* options to specify document root(s)
Есть ли дополнительные параметры, которые не перечислены в xsd help
?
Библиотека времени выполнения (libxsd) предназначена только для заголовков, поэтому конечному пользователю не нужно устанавливать ее, если вы предоставляете свое программное обеспечение в скомпилированном виде.
Использовать --output-dir
вариант
erik@ubuntu:~$ xsdcxx help cxx-tree 2>&1 | grep -A1 output-dir
--output-dir <dir> Write generated files to <dir> instead of current
directory.
3. Относительно «предупреждения T004»:
erik@ubuntu:~$ xsdcxx help cxx-tree 2>&1 | grep -A1 root-element
--root-element-first Treat only the first global element as a document
root.
--root-element-last Treat only the last global element as a document
root.
--root-element-all Treat all global elements as document roots.
--root-element-none Don't treat any global elements as document roots.
--root-element <element> Treat only <element> as a document root. Repeat
this option to specify more than one root element.
Если вы не указали ни один из этих параметров, --root-element-all
подразумевается, но вы увидите «предупреждение T004».
Если --root-element-all
это то, что вы хотите, я предлагаю добавить эту опцию, чтобы предупреждение исчезло.
Относительно «предупреждения F002»: Извините, я не знаю.
Примечание: «2>&1 «не понадобится в будущем, когда CodeSynthesis XSD начнет печатать текст справки на стандартный вывод.
http://codesynthesis.com/pipermail/xsd-users/2012-March/003577.html
Что касается «предупреждения F002», то получил аналогичную проблему и выяснил, что она возникает при объявлении атрибутов без указания конкретного типа.