本文介绍了如何为docbook创建JAXB绑定的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
当我对 docbook.xsd
运行xjc时,我收到很多错误:
When I run xjc against docbook.xsd
, I get a lot of errors:
parsing a schema...
[ERROR] Property "Revision" is already defined. Use <jaxb:property> to resolve this conflict.
line 5965 of file:/C:/log/11/04/20/docbook-4.5/dbpoolx.xsd
[ERROR] The following location is relevant to the above error
line 521 of file:/C:/log/11/04/20/docbook-4.5/dbpoolx.xsd
[ERROR] Element "seealsoie" shows up in more than one properties.
line 1737 of file:/C:/log/11/04/20/docbook-4.5/dbhierx.xsd
[ERROR] The following location is relevant to the above error
line 1733 of file:/C:/log/11/04/20/docbook-4.5/dbhierx.xsd
[ERROR] Element "imageobjectco" shows up in more than one properties.
line 3526 of file:/C:/log/11/04/20/docbook-4.5/dbpoolx.xsd
[ERROR] The following location is relevant to the above error
line 3525 of file:/C:/log/11/04/20/docbook-4.5/dbpoolx.xsd
....等。
我已经尝试使用docbook 4.5和5.0版本,但结果相同。
I've tried this with docbook version 4.5 and version 5.0, but with the same result.
任何指针都是apreciated。
谢谢。
Any pointers would be apreciated.Thanks.
推荐答案
您可以将以下绑定文件与:
You could use the following bindings file with the DocBook version 5 XML Schema:
binding.xml
<jxb:bindings
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
jxb:extensionBindingPrefixes="xjc"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xml="http://www.w3.org/XML/1998/namespace"
xmlns:docbook="http://docbook.org/ns/docbook"
version="2.1">
<jxb:globalBindings>
<xjc:simple />
</jxb:globalBindings>
<jxb:bindings schemaLocation="docbook.xsd">
<jxb:bindings node="//xs:attributeGroup[@name='db.common.attributes']/xs:attribute[@name='version']">
<jxb:property name="commonVersion"/>
</jxb:bindings>
<jxb:bindings node="//xs:attributeGroup[@name='db.common.attributes']/xs:attribute[@name='revision']">
<jxb:property name="commonRevision"/>
</jxb:bindings>
<jxb:bindings node="//xs:attributeGroup[@name='db.common.attributes']/xs:attribute[@ref='xml:lang']">
<jxb:property name="xmlLang"/>
</jxb:bindings>
<jxb:bindings node="//xs:attributeGroup[@name='db.common.linking.attributes']/xs:attribute[@ref='xlink:role']">
<jxb:property name="xlinkRole"/>
</jxb:bindings>
<jxb:bindings node="//xs:attributeGroup[@name='db.common.linking.attributes']/xs:attribute[@ref='xlink:type']">
<jxb:property name="xlinkType"/>
</jxb:bindings>
<jxb:bindings node="//xs:attributeGroup[@name='db.common.linking.attributes']/xs:attribute[@ref='xlink:title']">
<jxb:property name="xlinkTitle"/>
</jxb:bindings>
<jxb:bindings node="//xs:element[@name='table']/xs:complexType/xs:attribute[@name='title']">
<jxb:property name="titleAttribute"/>
</jxb:bindings>
</jxb:bindings>
</jxb:bindings>
包含绑定的命令行是:
xjc -extension -d out -b binding.xml docbook.xsd
这篇关于如何为docbook创建JAXB绑定的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!