这是我的pages.xsd
<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:mac="http://www.tvworks.com/tva/xml/ns/max/data-types"
elementFormDefault="qualified"
attributeFormDefault="unqualified">
<xs:import namespace="http://www.tvworks.com/tva/xml/ns/max/data-types"
schemaLocation="http://developer.tva.tvworks.com/xml/ns/max/data-types-3.2.xsd"/>
<xs:element name="data">
<xs:complexType>
<xs:sequence>
<xs:element name="scenes" type="scenesType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="scenesType">
<xs:sequence>
<xs:element name="row" minOccurs="1" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="page" type="mac:page-ref"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:schema>这是我的pages.xjb
<bindings xmlns="http://java.sun.com/xml/ns/jaxb"
xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
version="2.1">
<bindings schemaLocation="pages.xsd" version="1.0"">
<schemaBindings>
<package name="com.mycompany.pages"/>
</schemaBindings>
</bindings>
</bindings>下面是我希望输出的样子,注意xsi:noNamespaceSchemaLocation="pages.xsd"。
<data xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="pages.xsd">
<scenes>
<row>
<page>page1</page>
</row>
<row>
<page>page2</page>
</row>
<row>
<page>page3</page>
</row>
<row>
<page>page4</page>
</row>
</scenes>
</data> 如何自动将该属性放到JAXB输出的data 元素上?
发布于 2011-10-24 16:31:22
设置属性jaxb.noNamespaceSchemaLocation,并在Marshaller上设置所需的值。
编辑:查看编组文件中受支持的属性部分以及方法setProperty中的其他信息。
https://stackoverflow.com/questions/7878758
复制相似问题