1.。)如何将CodeSynthesis-XSD代码生成包含到我的应用程序中,所以当我将应用程序(Visual Studio 10中的QT)提供给其他人时,他不需要安装Code-Synthesis?
2。)我如何指定.cpp
和.h
文件的输出目录? xsd help
没有列出这样的选项?我用树生成这样的东西:
>xsd cxx-tree "C:\scheme.xsd"
- >在执行xsd
之前通过“cd”(更改目录)解决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
中列出的其他参数?
答案 0 :(得分:2)
运行时库(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”:对不起,我不知道。
注意:CodeSynthesis XSD将开始将帮助文本打印到stdout时,将来不再需要“2&gt;&amp; 1”。 http://codesynthesis.com/pipermail/xsd-users/2012-March/003577.html
答案 1 :(得分:1)
关于“警告F002”,得到了类似的问题,并发现在声明属性时没有指定具体类型就会引发它。