【发布时间】:2013-10-07 12:06:54
【问题描述】:
我对现有 XSD 中的属性名称空间有一个小问题。我必须修改此 XSD 才能使用第三方软件的所有功能。
我的目标是将元素与命名空间属性混合,如下所示:
<graphics type="RECTANGLE" cy:nodeLabel="Label 1" />
<graphics> 元素定义在默认命名空间中,属性cy:nodeLabel 在特定命名空间中。
目前,我在 XSD 中的属性定义如下所示:
<xsd:attribute name="nodeLabel" type="xsd:string" form="qualified" xmlns="http://www.cytoscape.org"/>
form="qualified" 选项强制 JAXB 使用 namespace="...." 注释 @XmlAttribute,但它采用默认命名空间,而不是 http://www.cytoscape.org。如果我在生成的 Java 类中手动更改它,则 XML 输出符合要求。
我想在 XSD 中定义属性命名空间,以便我可以依赖 JAXB(resp.xjc)来生成正确的 Java 类。
如何为 XSD 中的一个属性指定属性命名空间?
【问题讨论】:
标签: java xml namespaces jaxb xsd