我对现有 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 对@XmlAttribute
with进行注释namespace="...."
,但它采用默认命名空间,而不是http://www.cytoscape.org。如果我在生成的 Java 类中手动更改它,则 XML 输出符合需要。
我想在 XSD 中定义属性命名空间,这样我就可以依靠 JAXB(resp.xjc)来生成正确的 Java 类。
如何为 XSD 中的一个属性指定属性命名空间?